Layout (クラス)
public abstract Layout
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: BasicLayout

Graphic をそのグラフィカルな親に接続します。

説明

グラフィック階層内にあるすべての Graphic は、その階層のルートのオブジェクト以外に、関連する Layout オブジェクトを持ちます。Layout オブジェクトは、Graphic のグラフィカルな親の場所として機能し、該当する Graphic について、およびその親のグラフィカルな子に共通する Graphic の場所について記録する必要があるあらゆる情報を格納します。Layout の各種メソッドで、この情報 (Layout.get-boundsLayout.valid? など) にアクセスできます。Layout の各種サブクラス (特に BasicLayout) は、レイアウト ネゴシエーション、PointerEvent ディスパッチ、および再描画処理の間に、ほぼすべてのグラフィカルな親に有用なメソッドをさらに定義します。ただし、GraphicLayout オブジェクトに用意されているほとんどの機能は、Graphic 自体のメソッド(Graphic.request-layoutGraphic.request-draw-rectGraphic.parent など)を介して利用するようになっています。

コンストラクタ
default:Layout のサブクラスの型のオブジェクトを作成します。
コンストラクタ public {Layout.default ...}

プロパティ
cell-height-preference:最後のレイアウト ネゴシエーションから得られたセルの高さ設定。
アクセサ public abstract Layout.cell-height-preference:OriginElastic
cell-width-preference:最後のレイアウト ネゴシエーションから得られたセルの幅設定。
アクセサ public abstract Layout.cell-width-preference:OriginElastic
child-height-preference:最後のレイアウト ネゴシエーションから得られた、子の高さ設定。
アクセサ public abstract Layout.child-height-preference:OriginElastic
child-width-preference:最後のレイアウト ネゴシエーションから得られた、子の幅設定。
アクセサ public abstract Layout.child-width-preference:OriginElastic
non-null-parent:
絶対に null でない Layout.parent へのアクセッサ。
null の Layout.parent を持つ Box でこのゲッターを呼び出すとエラーになります。
アクセサ public Layout.non-null-parent:Box
option-parent:この Layout オブジェクトに関連付けられたオプションの親オブジェクトを返します。
アクセサ public Layout.option-parent:#GraphicOptions
pagination-state:Layout のパジネーション状態を返します。
アクセサ public abstract Layout.pagination-state:#PaginationState
parent:この Layout オブジェクトに関連付けられた親オブジェクト。
フィールド public-get protected-set Layout.parent:#Box

メソッド
bounds-valid?:Graphic の境界が現在有効かどうかを判定します。
public abstract {Layout.bounds-valid?}:bool
detach:このオブジェクトをグラフィカルな親から切り離します。
public abstract {Layout.detach}:void
end-pagination:Layout とその関連 Graphic に対するパジネーション プロセスを終了します。
public abstract {Layout.end-pagination}:void
get-bounds:この Layout オブジェクトに関連付けられている子 Graphic子の境界を返します。
public abstract {Layout.get-bounds}:GRect
get-cell-bounds:この Layout オブジェクトに関連付けられている子 Graphicセルの境界を返します。
public abstract {Layout.get-cell-bounds}:GRect
get-origin-in-parent:関連する Graphic の位置 (グラフィカルな親を基準にした位置) を取得します。
public abstract {Layout.get-origin-in-parent}:(x:Distance, y:Distance)
get-origin-in-root:関連する Graphic の位置 (そのグラフィック階層のルートのオブジェクトを基準にした位置) を取得します。
public {Layout.get-origin-in-root}:(x:Distance, y:Distance, obj:Box)
get-outside-margin-bounds:この Layout オブジェクトに関連付けられている子 Graphic外側マージンの境界を返します。
public abstract {Layout.get-outside-margin-bounds}:GRect
get-shadow-bounds:この Layout オブジェクトに関連付けられている子 Graphic影の境界を返します。
public abstract {Layout.get-shadow-bounds}:GRect
get-visible-bounds-into:この Layout オブジェクトに関連付けられた子 Graphic の実際に表示可能な領域を制限する四角形を計算します。
public abstract {Layout.get-visible-bounds-into grect:GRect}:void
get-visible-rect-in-root-into:このオブジェクトを含むグラフィック階層のルートの View で現在見ることのできる、指定された四角形領域の部分を決定します。
public abstract {Layout.get-visible-rect-in-root-into
rect:GRect
}:(x:Distance, y:Distance)
note-child-option-changed:Layout オブジェクトの子 Graphic でオプションが変更されたことを Layout に通知します。
public {Layout.note-child-option-changed key:String, value:any}:void
note-graphic-to-be-removed:グラフィックがそのグラフィカルな親からこれから削除されることをさまざまなデータ構造を通知します。
protected {Layout.note-graphic-to-be-removed g:Graphic}:void
paginate:このレイアウト オブジェクトと関連した Graphic にパジネーションを適用します。
public abstract {Layout.paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)
paint-with-decorations:Graphic の境界、マージンなどの装飾をはじめとする、この Layout オブジェクトに関連付けられた子 Graphic を描画します。
public abstract {Layout.paint-with-decorations
renderer2d:Renderer2d
}:void
replace-with:この Layout オブジェクトに関連付けられた子 Graphic を置き換えます。
public abstract {Layout.replace-with g:Graphic}:Graphic
request-draw-child:Graphic の境界ボックス内のピクセルの再描画を要求します。
public abstract {Layout.request-draw-child lc:LayoutContext}:void
request-draw-rect:指定した四角形領域内のピクセルの再描画を要求します。
public abstract {Layout.request-draw-rect}:void
request-layout:最新のレイアウト ネゴシエーションを要求します。
public abstract {Layout.request-layout epoch:int}:void
set-graphic:Graphic が添付されていることを Layout オブジェクトに通知します。
protected abstract {Layout.set-graphic g:Graphic}:void
start-pagination:このレイアウト オブジェクトと関連した Graphic のパジネーションを開始します。
public abstract {Layout.start-pagination}:PaginationState
valid?:Graphic のレイアウトが現在有効かどうかを判定します。
public abstract {Layout.valid?}:bool
validate-layout:この Layout オブジェクトの子 Graphic のレイアウトを有効にします。
public abstract {Layout.validate-layout}:void
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {Layout.default ...}

Layout のサブクラスの型のオブジェクトを作成します。

...: 無視されます。

オーバーライド

Layout 自体は抽象クラスなので、インスタンス化できません。通常、Layout のサブクラスは、Box オブジェクトを実装するコードによってのみインスタンス化されます。このオブジェクトは、Box に追加されるグラフィカルな子それぞれに対して 1 つのレイアウト オブジェクトをインスタンス化します。



プロパティ詳細
cell-height-preference (アクセサ)
アクセサ public abstract Layout.cell-height-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られたセルの高さ設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


cell-width-preference (アクセサ)
アクセサ public abstract Layout.cell-width-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られたセルの幅設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


child-height-preference (アクセサ)
アクセサ public abstract Layout.child-height-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られた、子の高さ設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


child-width-preference (アクセサ)
アクセサ public abstract Layout.child-width-preference:OriginElastic

最後のレイアウト ネゴシエーションから得られた、子の幅設定。

プログラミング注意事項

通常はグラフィカル階層を分析するツールで使われます。実際のレイアウト計算には使用しないでください。


non-null-parent (アクセサ)
アクセサ public Layout.non-null-parent:Box

絶対に null でない Layout.parent へのアクセッサ。
null の Layout.parent を持つ Box でこのゲッターを呼び出すとエラーになります。



option-parent (アクセサ)
アクセサ public Layout.option-parent:#GraphicOptions

この Layout オブジェクトに関連付けられたオプションの親オブジェクトを返します。

戻り値

非ローカル オプション値を反映させるために、この Layout オブジェクトに関連付けられた Graphic の親オブジェクトと見なされるオブジェクト。

オーバーライド

Layout クラスでこのアクセッサを実装すると、Layout.parent が返す値と同じ値を返します。これが、ほとんどの目的に応じた正しい解決法となります。ただし、非ローカル オプション値を反映させるために非標準のポリシーを必要とする状況では、このメソッドをオーバーライドすれば、Graphic のグラフィカルな親と異なるオブジェクトを返すことができます。


pagination-state (アクセサ)
アクセサ public abstract Layout.pagination-state:#PaginationState

Layout のパジネーション状態を返します。

注意事項

Layout のパジネーション状態は、関連する Graphic にボーダーもマージンもなければ、その関連する Graphic のパジネーション状態と常に同じになります。そうでない場合は、gui-toolkit システムが、Graphic のセル境界用に別の PaginationState を作成します。


parent (フィールド)
public-get protected-set Layout.parent:#Box

この Layout オブジェクトに関連付けられた親オブジェクト。

説明

このフィールドに格納されるオブジェクトは、この Layout オブジェクトに関連付けられている子 Graphic のグラフィカルな親です。





メソッド詳細
bounds-valid? (メソッド)
public abstract {Layout.bounds-valid?}:bool

Graphic の境界が現在有効かどうかを判定します。

戻り値

この Layout オブジェクトに関連付けられている子 Graphic の境界が現在有効な場合は true、有効でない場合は false。

説明

このメソッドが true を返す場合、Layout.get-bounds および Layout.get-cell-bounds の呼び出しは、必ず即座に復帰します。このメソッドが true を返さない場合、Layout.get-bounds および Layout.get-cell-bounds の呼び出しは、復帰する前にレイアウト ネゴシエーションをトリガします。Layout.valid? は関連するメソッドです。


detach (メソッド)
public abstract {Layout.detach}:void

このオブジェクトをグラフィカルな親から切り離します。

説明

このメソッドを呼び出すと、この Layout オブジェクトとその関連する子 Graphic が、それぞれのグラフィカルな親から切り離されます。

プログラミング注意事項

このメソッドは、Graphic.detach から呼び出されます。通常、他の場所からは呼び出されません。


end-pagination (メソッド)
public abstract {Layout.end-pagination}:void

Layout とその関連 Graphic に対するパジネーション プロセスを終了します。

プログラミング注意事項

Layout.start-pagination が呼び出されたすべての Layout のついて、このメソッドを呼び出す必要があります。


get-bounds (メソッド)
public abstract {Layout.get-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphic子の境界を返します。

戻り値

Graphic内側起点を基準に Graphic子の境界を示す GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-bounds を呼び出すと境界を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。 Layout.get-cell-boundsLayout.get-shadow-boundsLayout.get-outside-margin-bounds も参照してください。


get-cell-bounds (メソッド)
public abstract {Layout.get-cell-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphicセルの境界を返します。

戻り値

Graphic内側起点を基準にして Graphic のセルの境界を説明する GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-cell-bounds を呼び出すとセルの境界を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。 Layout.get-boundsLayout.get-shadow-boundsLayout.get-outside-margin-bounds も参照してください。


get-origin-in-parent (メソッド)
public abstract {Layout.get-origin-in-parent}:(x:Distance, y:Distance)

関連する Graphic の位置 (グラフィカルな親を基準にした位置) を取得します。

戻り値

Graphic内側起点の x 座標と y 座標 (そのグラフィカルな親の内側起点を基準にした座標)。


get-origin-in-root (メソッド)
public {Layout.get-origin-in-root}:(x:Distance, y:Distance, obj:Box)

関連する Graphic の位置 (そのグラフィック階層のルートのオブジェクトを基準にした位置) を取得します。

注意事項

Layout.parent のときにこのメソッドを呼び出すと、エラーになります。

戻り値

以下のすべてが、記載順に返されます。
  1. ルートの内側起点を基準にした、Graphic内側起点の x 座標。
  2. ルートの内側起点を基準にした、Graphic の内側起点の y 座標。
  3. ルート オブジェクト自体。


get-outside-margin-bounds (メソッド)
public abstract {Layout.get-outside-margin-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphic外側マージンの境界を返します。

戻り値

Graphic内側起点を基準にして Graphic外側マージンの境界を説明する GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-outside-margin-bounds を呼び出すと 外側マージンの境界 を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。
導入: バージョン 6.0


get-shadow-bounds (メソッド)
public abstract {Layout.get-shadow-bounds}:GRect

この Layout オブジェクトに関連付けられている子 Graphic影の境界を返します。

戻り値

Graphic内側起点を基準にして Graphic影の境界を説明する GRect

注意事項

Layout.bounds-valid? が false を返すことで示されるように、この Layout オブジェクトが有効な境界情報を現在持っていない場合は、Layout.get-shadow-bounds を呼び出すと 影の境界 を計算するためにレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。 Layout.get-boundsLayout.get-cell-boundsLayout.get-outside-margin-boundsShadowSpec.get-shadow-growth-in-pixels も参照してください。
導入: バージョン 6.0


get-visible-bounds-into (メソッド)
public abstract {Layout.get-visible-bounds-into grect:GRect}:void

この Layout オブジェクトに関連付けられた子 Graphic の実際に表示可能な領域を制限する四角形を計算します。

grect: この四角形の記述を保存する GRect。四角形の値は、子 Graphic内側起点を基準にしています。この Graphic の祖先が View でない場合、grect には空の四角形が設定されます。

プログラミング注意事項

このメソッドは、 Graphic.get-visible-bounds-into から呼び出され、また Curl レイアウト システム内からも呼び出されます。通常ユーザー コードでは、このメソッドではなく Graphic.get-visible-bounds-into を呼び出す必要があります。

注意事項

Layout.valid? が false を返すことで示されるように、このオブジェクトのレイアウトが現在有効でない場合は、このメソッドを呼び出すとレイアウト ネゴシエーションがトリガされます。このレイアウト ネゴシエーションは、このオブジェクトを含むグラフィック階層全体のレイアウトを再計算します。


get-visible-rect-in-root-into (メソッド)
public abstract {Layout.get-visible-rect-in-root-into
rect:GRect
}:(x:Distance, y:Distance)

このオブジェクトを含むグラフィック階層のルートの View で現在見ることのできる、指定された四角形領域の部分を決定します。

grect: この Layout オブジェクトに関連付けられた子 Graphic内側起点を基準にした四角形領域の記述で初期化される GRectgrect の内容は、ルート View内側起点を基準にして元の四角形領域の実際に見える部分を記述するために、Layout.get-visible-rect-in-root-into の実行中に変更されます。この Graphic の祖先が View でない場合、grect には空の四角形が設定されます。

戻り値

ルート View内側起点を基準にした、子 Graphic内側起点の x と y の位置を指定する Distance のペア。このようなオフセットを使用すれば、必要に応じて、grectGraphic 座標フレームに変換できます。

例外:grect が空の四角形になる場合、つまり、元の四角形がまったく見えない場合は任意の値が返されます。

注意事項

このメソッドでは、四角形の一部を切り取る祖先 Box で指示されたとおりに grect の境界を変形します。ただし、子 Graphic の祖先でないオブジェクトが四角形の一部の上に重なり、これを隠してしまうというような関係は処理の対象になりません。したがって、このメソッドの呼び出しから得られた rect 値は可視領域の境界を指定しますが、この領域が実際に見えるかどうかは保証されません。

Layout.valid? が false を返すことで示されるように、このオブジェクトのレイアウトが有効でない場合でも、このメソッドは呼び出される可能性があります。ただし、このような場合は、返される x と y の値および rect に格納される値のどちらも意味がありません。

プログラミング注意事項

このメソッドは、高度な再描画処理を実装するために Graphic.before-repositionGraphic.after-reposition をオーバーライドするメソッドで使用されるようになっています。


note-child-option-changed (メソッド)
public {Layout.note-child-option-changed key:String, value:any}:void

Layout オブジェクトの子 Graphic でオプションが変更されたことを Layout に通知します。

key: 値が変更したオプションの名前。
value: 名前が key であるオプションの新しい値。

プログラミング注意事項

このメソッドは Graphic.option-changed から呼び出され、Graphic のオプション値が変更されるたびに Graphic のレイアウト オブジェクトに通知します。Layout のサブクラスはこのメソッドを使って、Graphic.heightGraphic.widthborder-color、および Graphic が描かれるセルの形状または外観に影響を与えるその他のオプションに起こる変化を追跡します。

オーバーライド

Layout.note-child-option-changed の既定の実装では何も行われません。サブクラスでこのメソッドをオーバーライドして、特定のオプションの変化を監視することができます。このようなメソッドのオーバーライドでは、
{super.note-child-option-changed key value}
の呼び出しを含めて、Layout クラス階層のすべてのメンバがそのオプションの変化を追跡できるようにする必要があります。


note-graphic-to-be-removed (メソッド)
protected {Layout.note-graphic-to-be-removed g:Graphic}:void

グラフィックがそのグラフィカルな親からこれから削除されることをさまざまなデータ構造を通知します。

g: 削除されるグラフィック。

説明

グラフィックがそのグラフィカルな親から削除されるときは常に呼び出されます。例については、BasicLayout.detach 参照してください。

オーバーライド

このメソッドの実装では、通常はスーパー実装を呼び出して、必要な通知がすべて送信されることを保証します。


paginate (メソッド)
public abstract {Layout.paginate
page-height:Distance,
next-page-height:Distance,
query-only?:bool
}:(PaginationState, PaginationQuality)

このレイアウト オブジェクトと関連した Graphic にパジネーションを適用します。

page-height: グラフィックのパジネーションに有効な高さ。これには、Graphic のボーダー/マージンが含まれます。
new-page-height: このグラフィックが次のページに移動される場合、そのボーダーおよびマージンとともに、このグラフィックをパジネートするのに有効な高さ。
query-only?: true の場合は、この LayoutPaginationState は変わりません。

戻り値

PaginationState は、この関数が呼び出された後における Layout のパジネーション状態です。query-only?false の場合は、グラフィックが指している PaginationState が変わります。
PaginationQuality はページ分割の品質を記述します。

プログラミング注意事項

Layout をパジネートする前に、true に設定された query-only? でこの関数を呼び出すことができます。このように、呼び出し元は、与えられた page-height でどんな PaginationQuality を達成できるかを知ることができます。


paint-with-decorations (メソッド)
public abstract {Layout.paint-with-decorations
renderer2d:Renderer2d
}:void

Graphic の境界、マージンなどの装飾をはじめとする、この Layout オブジェクトに関連付けられた子 Graphic を描画します。

renderer2d: 描画に使用する Renderer2d

プログラミング注意事項

このメソッドは、Graphic.paint-with-decorations によって呼び出され、通常は、他の場所からは呼び出されません。


replace-with (メソッド)
public abstract {Layout.replace-with g:Graphic}:Graphic

この Layout オブジェクトに関連付けられた子 Graphic を置き換えます。

g: この Layout オブジェクトに関連付けられている子 Graphic になる Graphic

戻り値

以前にこの Layoutオブジェクトに関連付けられた子 Graphic であった Graphic

プログラミング注意事項

このメソッドは、Graphic.replace-with から呼び出されます。ほとんどの単純な状況では、このメソッドを直接呼び出すのではなく、Graphic.replace-with を呼び出すことが望まれます。


request-draw-child (メソッド)
public abstract {Layout.request-draw-child lc:LayoutContext}:void

Graphic の境界ボックス内のピクセルの再描画を要求します。

lc: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

このメソッドは、Graphic.request-draw の既定の定義から呼び出されるユーティリティとして存在します。ほとんどのユーザー コードでは、このメソッドではなく該当するメソッドを呼び出す必要があります。

注意事項

指定した四角形領域にわたる再描画を求める Layout.request-draw-rect も参照してください。


request-draw-rect (メソッド)
public abstract {Layout.request-draw-rect}:void

指定した四角形領域内のピクセルの再描画を要求します。

rect: 四角形領域を記述する GRect
lc: このオブジェクトを含んでいるグラフィック階層のサブツリーに対応する LayoutContext オブジェクト。

プログラミング注意事項

このメソッドは、Graphic.request-draw-rect および Layout.request-draw-child から呼び出されるユーティリティとして存在します。通常ユーザー コードでは、このメソッドではなく Graphic.request-draw-rect を呼び出します。


request-layout (メソッド)
public abstract {Layout.request-layout epoch:int}:void

最新のレイアウト ネゴシエーションを要求します。

epoch: このレイアウト ネゴシエーション要求に関係する Layout Epoch 。通常、この値は、get-layout-epoch が返す現在の値になります。

プログラミング注意事項

このメソッドは、Graphic.request-layout から呼び出されます。ほとんどのユーザー コードでは、このメソッドではなく該当するメソッドを呼び出す必要があります。


set-graphic (メソッド)
protected abstract {Layout.set-graphic g:Graphic}:void

Graphic が添付されていることを Layout オブジェクトに通知します。

g: アタッチされている Graphic

プログラミング注意事項

このメソッドは、Layout オブジェクトに Graphic を添付している間に呼び出されるため、Layout オブジェクトは、Graphic に設定されるオプションの値と一致するようにそのオブジェクトのキャッシュされた状態を初期化できます。このメソッドは、Graphiclayout フィールドが Layout オブジェクトを指すように設定された後で呼び出されるので、すでに非ローカル オプションの値を Graphic に反映させる準備ができていることに注意してください。

オーバーライド

このメソッドは Layout で抽象として宣言され、実装は BasicLayout で提供されます。


start-pagination (メソッド)
public abstract {Layout.start-pagination}:PaginationState

このレイアウト オブジェクトと関連した Graphic のパジネーションを開始します。



valid? (メソッド)
public abstract {Layout.valid?}:bool

Graphic のレイアウトが現在有効かどうかを判定します。

戻り値

この Layout オブジェクトに関連付けられている子 Graphic のレイアウトが現在有効な場合は true、有効でない場合は false。

説明

Graphic のレイアウトは、Graphic.request-layout が呼び出された時点で無効になるように考慮されています。Graphic のレイアウトは、そのオブジェクトの Graphic.set-size メソッドが呼び出されると、再び有効になります。これらのメソッドの呼び出しは、Layout オブジェクトを介して行われます。Graphic.request-layoutLayout.request-layout を呼び出し、Graphic.set-size は、Layout のサブクラスで定義されているメソッドから呼び出されます。したがって、Layout オブジェクトは、Graphic のレイアウトが現在有効かどうかを追跡できます。また、実際に追跡する必要があります。このメソッドは、Graphic のレイアウトが有効かどうかに関する Layout オブジェクトの現在の情報を返すだけです。

特定の状況では、Layout.get-bounds または Layout.get-cell-bounds によって返されるオブジェクトの境界は、そのグラフィカルな親の起点を基準にしたオブジェクトの位置が不明な場合でも、有効であることがわかります。このような場合は、Layout.valid? が false を返しても、Layout.bounds-valid? は true を返します。ただし、Layout.valid? が true を返す場合は、Layout.bounds-valid? も必ず true を返します。

特定のメソッド (Layout.get-visible-bounds-into など) には、意味のある値を返すために有効なレイアウト情報が必要です。子 Graphic のレイアウトが有効でない場合にそのようなメソッドを呼び出すと、それぞれのメソッドは復帰する前に有効なレイアウトを作成します。この計算は時間がかかり、しかもまだ提供されていない情報に依存するという 2 つの可能性から、Layout.valid? では、このようなメソッドの 1 つを呼び出すことによりレイアウト ネゴシエーションの開始が危険を伴うかどうかを判断できます。Layout.valid? が true を返す場合は、こうしたメソッドを呼び出してもレイアウト ネゴシエーションは起こりません。


validate-layout (メソッド)
public abstract {Layout.validate-layout}:void

この Layout オブジェクトの子 Graphic のレイアウトを有効にします。

プログラミング注意事項

このメソッドは、境界および原点の位置に関する情報のクエリができるように Graphic のレイアウトを有効にする必要があるときに呼び出されます。

オーバーライド

この抽象メソッドは、Layout の 具象サブクラスによって、必要なアクションを実際に実行するコードでオーバーライドする必要があります。