GRect (クラス)
public GRect
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

Graphic 内の四角形領域を表します。

説明

Graphic.request-draw-rectLayout.get-bounds などの Curl のグラフィック システムに関連付けられた多くのメソッドは、グラフィカル オブジェクトや描画操作の境界ボックスである四角形領域を記述する場合に必要です。これらの記述は、GRect オブジェクトで表されます。

GRect オブジェクトで記述される四角形は、4 つのプロパティによって特徴づけられ、それぞれポイント単位で、つまりプリンタのポイントまたは 1/72 インチの単位で測定される浮動小数点値です。各プロパティは、一般にグラフィカル オブジェクトの内側起点 (または外側起点) である起点から測定されます。



起点が四角形領域の内側にある場合、これらの 4 つのプロパティはすべて正の数値になります。起点が四角形領域の外側にある場合、1 つまたは複数のプロパティが負の数値になります。

GRect オブジェクトでよく使用するメソッドは、次のとおりです。



GRect.empty? プロパティを調べると、GRect にゼロより大きい領域があるか、または領域がまったくないかを確認できます。

コンストラクタ
default:指定したプロパティを持つ GRect を作成します。
コンストラクタ public {GRect.default
lextent:Distance,
rextent:Distance,
ascent:Distance,
descent:Distance
}
empty:すべての属性を 0m に初期化した GRect を作成します。
コンストラクタ public {GRect.empty}
from-cache:キャッシュから GRect を割り当てそれを返します。オブジェクトが利用されなくなった時、GRect.release-to-cache を呼び出します。
ファクトリ public {GRect.from-cache}:GRect

プロパティ
ascent:この GRect の起点からそれが表す四角形領域の上までの距離を上方向に測定します。
フィールド public GRect.ascent:Distance =0.0m
descent:この GRect の起点からそれが表す四角形領域の下までの距離を下方向に測定します。
フィールド public GRect.descent:Distance =0.0m
empty?:GRect が空であるかどうかを確認します。
アクセサ public GRect.empty?:bool
height:GRect の高さを取得します。
アクセサ public final inline GRect.height:Distance
lextent:この GRect の起点からそれが表す四角形領域の左側までの距離を左方向に測定します。
フィールド public GRect.lextent:Distance =0.0m
rextent:この GRect の起点からそれが表す四角形領域の右側までの距離を右方向に測定します。
フィールド public GRect.rextent:Distance =0.0m
width:GRect の幅を取得します。
アクセサ public final inline GRect.width:Distance

メソッド
clone:新しい GRect を割り当て、それがこの GRect のクローンになるようにします。
public {GRect.clone}:GRect
equal?:2 つの GRect が等しいかどうか確認します。
public {GRect.equal? rect:GRect}:bool
grow:指定した量で GRect の 4 辺を拡張します。
public {GRect.grow amount:Distance}:bool
intersect:2 つの GRect の交点を計算します。
public {GRect.intersect rect:GRect}:bool
inverse-transform:GRect を逆変換し、結果の境界にコンテンツを設定します。
public {GRect.inverse-transform xfm:Transformation2d}:void
nearest-point-within:ある点が与えられたとき、この GRect 内でそれに最も近い点を見つけます。
public {GRect.nearest-point-within
x:Distance,
y:Distance,
eps:Distance = 0cm
}:(Distance, Distance)
release-to-cache:以前、GRect.from-cache#factory を使用して割り当てられた GRect を開放します。
public {GRect.release-to-cache}:void
resize:指定したとおりに、GRect のプロパティを設定します。
public {GRect.resize
lextent:Distance,
rextent:Distance,
ascent:Distance,
descent:Distance
}:bool
set:別の GRect から GRect のプロパティを設定します。
public {GRect.set rect:GRect}:void
shift-xy:指定した x と y の距離だけ GRect をスライドします。
public {GRect.shift-xy delta-x:Distance, delta-y:Distance}:void
transform:GRect を変換し、結果の境界にコンテンツを設定します。
public {GRect.transform xfm:Transformation2d}:void
union-bounds:2 つの GRect の境界を算出します。
public {GRect.union-bounds rect:GRect}:bool
within?:指定のポイントが GRect 内にあるかどうかを判定します。
public {GRect.within? x:Distance, y:Distance}:bool
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {GRect.default
lextent:Distance,
rextent:Distance,
ascent:Distance,
descent:Distance
}

指定したプロパティを持つ GRect を作成します。

lextent, rextent, ascent, descent: GRect のプロパティを設定するのに使用する値。


empty (コンストラクタ)
public {GRect.empty}

すべての属性を 0m に初期化した GRect を作成します。



from-cache (ファクトリ)
public {GRect.from-cache}:GRect

キャッシュから GRect を割り当てそれを返します。オブジェクトが利用されなくなった時、GRect.release-to-cache を呼び出します。

導入: バージョン 7.0



プロパティ詳細
ascent (フィールド)
public GRect.ascent:Distance =0.0m

この GRect の起点からそれが表す四角形領域の上までの距離を上方向に測定します。



descent (フィールド)
public GRect.descent:Distance =0.0m

この GRect の起点からそれが表す四角形領域の下までの距離を下方向に測定します。



empty? (アクセサ)
アクセサ public GRect.empty?:bool

GRect が空であるかどうかを確認します。

戻り値

GRect が現在 (そのプロパティに設定されている値より) 空である場合、true を返します。それ以外の場合は、false を返します。

説明

このメソッドは、GRect.ascentGRect.descentGRect.lextentGRect.rextent の各プロパティを調べて、それらが記述する領域が空であるかどうかを確認します。


height (アクセサ)
アクセサ public final inline GRect.height:Distance

GRect の高さを取得します。



lextent (フィールド)
public GRect.lextent:Distance =0.0m

この GRect の起点からそれが表す四角形領域の左側までの距離を左方向に測定します。



rextent (フィールド)
public GRect.rextent:Distance =0.0m

この GRect の起点からそれが表す四角形領域の右側までの距離を右方向に測定します。



width (アクセサ)
アクセサ public final inline GRect.width:Distance

GRect の幅を取得します。






メソッド詳細
clone (メソッド)
public {GRect.clone}:GRect

新しい GRect を割り当て、それがこの GRect のクローンになるようにします。

戻り値

新しい GRect。これが self のクローンになります。


equal? (メソッド)
public {GRect.equal? rect:GRect}:bool

2 つの GRect が等しいかどうか確認します。

rect: self と比較する GRect

戻り値

selfrect が等しく、つまり、selfrectGRect.ascentGRect.descentGRect.lextentGRect.rextent の各プロパティに同じ値を持つ場合、true を返します。それ以外の場合は、false を返します。


grow (メソッド)
public {GRect.grow amount:Distance}:bool

指定した量で GRect の 4 辺を拡張します。

amount: ポイントで指定した領域。この分だけ GRect を拡張します。負の amount を指定すると、GRect を縮小できます。

戻り値

GRect が現在 (そのプロパティに設定されている値より) 空である場合、false を返します。それ以外の場合は、true を返します。

説明

このメソッドを呼び出した GRect は、その 4 辺が amount だけ拡大 / 縮小されて変更されます。


intersect (メソッド)
public {GRect.intersect rect:GRect}:bool

2 つの GRect の交点を計算します。

rect: self で交差する GRect

戻り値

2 つの GRect の交点が空でない場合、true を返します。それ以外の場合は false を返します。

説明

self は、rectself の元の値の交点を表すように変更されます。


inverse-transform (メソッド)
public {GRect.inverse-transform xfm:Transformation2d}:void

GRect を逆変換し、結果の境界にコンテンツを設定します。

xfm: 適用する逆変換です。

説明

これは transform の反対です。Transformation2d.transform-point の代わりに Transformation2d.inverse-transform-point が使用されます。

注意事項

xfm に回転またはスケールが含まれている場合は、入力より大きい領域が結果に含まれます。これは、結果の四角形に変換後の入力四角形全体を含めて、その四角形を水平方向と垂直方向に揃える必要があるからです。


nearest-point-within (メソッド)
public {GRect.nearest-point-within
x:Distance,
y:Distance,
eps:Distance = 0cm
}:(Distance, Distance)

ある点が与えられたとき、この GRect 内でそれに最も近い点を見つけます。

x, y: 指定した点の座標。
eps: 戻り点が存在しなければならない、この GRect 内の最小距離。

戻り値

四角形内の最も近い点の座標。入力点がこの Grect 内にあった場合、戻り座標は入力座標と等しくなるはずです。


release-to-cache (メソッド)
public {GRect.release-to-cache}:void

以前、GRect.from-cache#factory を使用して割り当てられた GRect を開放します。

導入: バージョン 7.0


resize (メソッド)
public {GRect.resize
lextent:Distance,
rextent:Distance,
ascent:Distance,
descent:Distance
}:bool

指定したとおりに、GRect のプロパティを設定します。

lextent, rextent, ascent, descent: GRect のプロパティの新しい値。

戻り値

結果の GRect が空でない場合、true を返します。それ以外の場合は false を返します。


set (メソッド)
public {GRect.set rect:GRect}:void

別の GRect から GRect のプロパティを設定します。

rect: self にコピーするプロパティを持つ GRect


shift-xy (メソッド)
public {GRect.shift-xy delta-x:Distance, delta-y:Distance}:void

指定した x と y の距離だけ GRect をスライドします。

delta-x, delta-y: GRect をスライドする x と y の距離。

説明

この GRectdeltax ポイントだけ右に、deltay ポイントだけ下に移動するように、このGRect のプロパティを調整します。deltaxdeltay には、正および負の数値を指定できます。


transform (メソッド)
public {GRect.transform xfm:Transformation2d}:void

GRect を変換し、結果の境界にコンテンツを設定します。

xfm: 適用する変換です。

注意事項

xfm に回転またはスケールが含まれている場合は、入力より大きい領域が結果に含まれます。これは、結果の四角形に変換後の入力四角形全体を含めて、その四角形を水平方向と垂直方向に揃える必要があるからです。


union-bounds (メソッド)
public {GRect.union-bounds rect:GRect}:bool

2 つの GRect の境界を算出します。

rect: self と結合する GRect

戻り値

統合された 2 つの GRect が空でない場合は true、空の場合は false です。

説明

self は、rectself の元の値の交点を表すように変更されます。


within? (メソッド)
public {GRect.within? x:Distance, y:Distance}:bool

指定のポイントが GRect 内にあるかどうかを判定します。

説明

            -g.lextent <= x < g.rextent
            
および
          -g.ascent <= y < g.descent
          
の場合に限り、ポイント (x, y) は GRect g 内にあります。
x, y: ポイントの座標です。

戻り値

ポイント (x, y) がこの GRect 内にある場合は true、それ以外の場合は false になります。