any-to-Distance (プロシージャ)
public {any-to-Distance
what:any,
display-context:#DisplayContext = null,
obj:#GraphicOptions = null,
convert-font-relative-values?:bool = false,
for-font-size?:bool = false
}:Distance
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

距離に類似する様々な値を、Distance に変換します。

what: 変換される値です。有効な型は以下のとおりです。
display-context: ピクセル距離からの変換に使用される DisplayContext です。この値が null の場合、DisplayContext は、 obj または get-default-display-context から取得されます。
obj: コンテキスト上の変換情報を提供するために使用されるオブジェクトです。この値は、ピクセル距離からの変換が実行され、display-context が null の場合、あるいは em 距離からの変換が実行されている場合にのみ使用されます。em 距離からの変換が実行されている場合、obj は非 nullconvert-font-relative-values? は true である必要があります。
convert-font-relative-values?: em 距離 (例:「3em」) の変換が実行されている場合、この値は true でなくてはなりません。そうでない場合、エラーが発生します。長さの多くは、font-relative 値を受け入れないため、これは false を既定とします。
for-font-size?: フォント サイズの計算に相対値そのものを使う場合は true に設定します。これを true に設定せずにフォント サイズを解決しようとすると、再帰的に適用されます。

戻り値

what が単位のない数字 n である場合、これはポイント単位で測定された数量であると想定され、npt に相当する Distance が返されます。

what が、inch または cm などの、解像度の影響を受けない単位で表された Distance または FloatDistance である場合、戻り値は、Distance にキャストされた値と同じになります。

whatPixelDistance または FloatPixelDistance である場合、(解像度の影響を受けない) Distance への変換に使用されるピクセルのサイズを決定するため、DisplayContext が必要になります。

display-context が指定されている場合、その値が DisplayContext として使用されます。それ以外の場合、obj が提供されると、objGraphicOptions.get-display-context を呼び出すことにより、DisplayContext が取得されます。または、get-default-display-context を呼び出すことにより、DisplayContext が取得されます。ただし、この最後の方法は最終手段です。通常、get-default-display-context により返される値が、この特定の変換において実際に使用される DisplayContext であると想定する理由はありません。

whatEmDistance または FloatEmDistance の場合、convert-font-relative-values? が true でなければ、これはエラーです。さらに、font-size オプションを取得できるようにするために、obj が提供されなくてはなりません。for-font-size? パラメータが使用され、font-relative 値そのものがフォント サイズを決定するために使用されることを示します。このような場合、for-font-size? を true に設定しなくてはなりません。そうしなければ、値が再帰的に適用されます (例:"3em" は、9 の乗数に変換されます)。

例外のスロー

CastExceptionwhatDistance に変換できない場合。

改訂

キーワード引数 throw-on-error? は Curl 4.0 で削除されました。whatDistance に変換できない場合、このプロシージャは無条件に CastException をスローします。