XtMakeResizeRequest(3) ジオメトリマネージャへのリクエストを生成する

Other Alias

XtMakeGeometryRequest

書式

XtGeometryResult XtMakeGeometryRequest(w, request, reply_return)

      Widget w;

      XtWidgetGeometry *request;

      XtWidgetGeometry *reply_return;

XtGeometryResult XtMakeResizeRequest(w, width, height, width_return, height_return)

      Widget w;

      Dimension widthheight;

      Dimension *width_return, *height_return

引き数

reply_return
許されるウィジェットサイズが返される。 リクエストを行うウィジェットが XtGeometryAlmost の処理をしない場合には NULL になるかもしれない。
request
要求するウィジェットのジオメトリ(サイズ、位置、境界幅、スタック順)を 指定する。
w
リクエストを生成するウィジェットを指定する。
width_return

height_return
許されるウィジェットの幅と高さが返される。

説明

XtMakeGeometryRequest は、条件に従って以下の動作を行う:
  • ウィジェットがマネージ解除されている場合か、このウィジェットの親がリア ライズされていない場合、この関数は変更を行って XtGeometryYes を返す。
  • 親が compositeWidgetClass のサブクラスでない場合か、親の geometry_manager フィールドが NULL の場 合には、この関数はエラーを起こす。
  • ウィジェットのbeing_destroyed フィールドが True の場合、この関数は XtGeometryNo を返す。
  • ウィジェットの x, y, width, height, border_width フィールドのそれぞれ が要求された値と等しい場合、この関数は XtGeometryYes を返す。 等しくないものがある場合、この関数は与えられたパラメータを使って親の geometry_manager 手続きを呼び出す。
  • 親のジオメトリマネージャが XtGeometryYes を返し、request_mode に XtCWQueryOnly がセットされておらず、さらにウィジェットがリアライズされていない場合に は、 XtMakeGeometryRequest は Xlib の関数である XConfigureWindow を呼び出し、ウィジェットのウィンドウを再設定する(サイズ、位置、スタッ ク順が適切に設定される)。
  • ジオメトリマネージャが XtGeometryDone を返した場合、 XtMakeGeometryRequestXtGeometryDone を返すことはない。

そうでない場合、 XtMakeGeometryRequest は親のジオメトリマネージャから得た結果を返す。

基本ウィジェットの子は常にマネージ解除されている。したがって、 基本ウィジェットの子に呼び出されたときには XtMakeGeometryRequest は常に XtGeometryYes を返す。

関数 XtMakeResizeRequestXtMakeGeometryRequest の簡易インタフェースである。この関数は XtWidgetGeometry 構造体を生成して、変更する幅と高さを指定する。 ジオメトリマネージャはこのサイズ変更リクエストを満足するために、他の任 意のウィンドウ属性(位置やスタック順)を自由に変更することができる。 この返り値が XtGeometryAlmost の場合、width_return と height_return には調整がなされた幅と高さがセッ トされている。 これらの値を認める場合、ウィジェットは即座に XtMakeResizeRequest を行い、調整された幅と高さの適用をリクエストしなければならない。 ウィジェットが XtGeometryAlmost の返答を使わない場合には、width_return と height_return に NULL を渡す ことができる。