(クラス)
Font 情報をキャッシュするためのインターフェイス。
説明
このクラスは
Visual のサブクラスに取り込まれることを想定しています。例えば、
Font 情報をキャッシュする
Shape のサブクラスを作成した場合、そのサブクラスは
FontVisualMixin と
Shape の両方から継承します。(
Graphic のサブクラスを作成する場合は、
FontGraphicMixin を使用します。)
フィールド protected-get private-set FontVisualMixin.cached-display-context:#
DisplayContext
color: | ビジュアル オブジェクトには必ず color オプションがあります。このオプションは、継承されたものか、あるいはオブジェクトに直接設定されたものです。GUI Toolkit では、このオプションを使って Rule の色などの一般に周囲のテキストと同じ色に設定されるテキストおよび機能の色を調整します。
ビジュアル オブジェクトによっては、color プロパティを直接使用しないものがあります。たとえば、VBox は色プロパティを使用しません。それでもやはり、内部にあるすべてのアイテムが既定で同じ色を持つように、VBoxの色を設定すると便利です (下の例を参照)。 |
アクセサ public FontVisualMixin.font:
Font
非ローカル オプション public FontVisualMixin.font-family:
String
非ローカル オプション public FontVisualMixin.font-size:
any
font-style: | オブジェクト内のテキストを斜体や斜投影法などのフォントにするかどうかを指定します。 |
非ローカル オプション public FontVisualMixin.font-style:
FontStyle
非ローカル オプション public FontVisualMixin.font-weight:
FontWeight
非ローカル オプション public FontVisualMixin.text-line-through?:
bool
非ローカル オプション public FontVisualMixin.text-underline?:
bool
protected | {FontVisualMixin.calculate-pointsize}:Distance |
deprecated protected | {FontVisualMixin.font-option-changed}:void |
public | {FontVisualMixin.invalidate-font}:void |
protected | {FontVisualMixin.react-to-font-option-change}:void |
protected | {FontVisualMixin.update-font-metrics}:void |
protected final | {FontVisualMixin.validate-font}:void |
メソッド 継承 OptionListInterface:
add-option, add-style-option, change-option-parent-notify, clone-options, get-option, get-option-by-name, keyword-init-arg, local-add-notify, local-remove-notify, name-to-option-key, new-option-item, notify-option-children, option-change-notify, option-changed, option-lookup, option-lookup-here, option-propagate-notify, option-set?, propagate-option-change, register-options, remove-option, remove-style-option, remove-styles, set-option-by-name, set-style-option-by-name, unset-option-by-name, unset-style-option-by-name
(フィールド)
protected-get private-set FontVisualMixin.cached-display-context:#
DisplayContext
(非ローカル オプション)
ビジュアル オブジェクトには必ず color オプションがあります。このオプションは、継承されたものか、あるいはオブジェクトに直接設定されたものです。GUI Toolkit では、このオプションを使って Rule の色などの一般に周囲のテキストと同じ色に設定されるテキストおよび機能の色を調整します。
ビジュアル オブジェクトによっては、color プロパティを直接使用しないものがあります。たとえば、VBox は色プロパティを使用しません。それでもやはり、内部にあるすべてのアイテムが既定で同じ色を持つように、VBoxの色を設定すると便利です (下の例を参照)。
説明
各種オブジェクトではこのオプションを次のように使用しています。
color は非ローカルオプションなので、これを適用するオブジェクトを含む任意のグラフィカル オブジェクトに設定できます。
例
テキスト、ルール、形状を含むオブジェクトに
色を設定した結果を次に示します。
例 |
|
{VBox
background="silver",
color="green",
{text The default color in this VBox is {bold green}.},
{Rule height=1pt},
{text The thick Rule below is {bold yellow}.},
{Rule color="yellow", height=3pt},
{text color = "blue", Next are two ellipse's, with and
without a color setting
},
{HBox spacing=6pt,
{EllipticalArcGraphic
width=1in, height=0.5in,
color = "aqua"
},
{EllipticalArcGraphic
width=1in, height=0.5in
}
}
}
| |
(非ローカル オプション)
このオブジェクトに関連付けられている DisplayContext。
プログラミング注意事項
このオプションは、Curl グラフィック システム内での通信のために使用されます。これは、ユーザー コードで不用意に設定や設定解除を行わないでください。また、通常は、ユーザー コードで直接読み取るべきではありません。現在の
DisplayContext が必要な場合は、
Visual.get-display-context を呼び出すことによりフェッチしてください。
画面上のウィンドウまたは印刷されたページで表示可能なすべてのグラフィック階層は、そのルートにおいて、
display-context オプションを
DisplayContext オブジェクトに設定するオブジェクトを持つ必要があります。このオブジェクトは、グラフィック階層の表示に使用される表示媒体に適しています。つまり、オブジェクトは、
display-context オプションの値が
null から非
null DisplayContext オブジェクトに変更されるのをモニタリングすることにより、表示不可能なグラフィック階層に連結されていることを認識します。したがって、特定の動作を実行する必要のある
Visual のサブクラスは、表示不可能なグラフィック階層に接続された場合、次のようなオプション宣言を含むことにより
display-context オプションをモニタリングします。
{nonlocal-option public display-context:#DisplayContext
change handler}ここで、
change handler 内のコードは
display-context オプションの現在値 (変数
display-context の値として、変更ハンドラ内にある) を取得し、
null および非
null の値の間で行われる変更をモニタリングし、必要とされる動作を実行します。
ただし、このプログラミング熟語を使用するプログラマーは、グラフィカル表示を再配列する際、グラフィック階層からグラフィカル オブジェクトを一時的に分離し、これらを同じ階層に再アタッチすることが、割に一般的であることを理解するべきです。この処理により、一時的に分離されたオブジェクトは、
display-context オブジェクトが
null になり、再び非
null になるのを観察します。
display-context オプションでの変更をモニタリングするコードは、この可能性を考慮に入れ、この状況における望ましくない動作の実行を回避しなくてはなりません。
(アクセサ)
アクセサ public FontVisualMixin.font:
Font
(非ローカル オプション)
public FontVisualMixin.font-family:
String テキストのフォント書体を設定します。
説明
テキストをレンダリングするフォントの検索に使用するフォント ファミリー名 (または名前のリスト) を指定します。
フォントの指定方法の詳細については、
Font を参照してください。
例 |
|
{VBox
{text font-family = "serif", serif},
{text font-family = "sans-serif", sans-serif},
{text font-family = "monospace", monospace},
{text
font-family = "Arial, Nimbus Sans L, sans-serif",
prefer a particular sans-serif
},
{text
font-family =
"Times New Roman, Nimbus Roman No9 L, serif",
prefer a particular serif
}
}
| |
(非ローカル オプション)
public FontVisualMixin.font-size:
any オブジェクト内のテキストの既定サイズを指定します。
説明
値は正の値でなければなりません。負の値や、0 はオプションをに設定することはできますが、実行する際にランタイムエラーが発生します。
例
font-size オプションを使用したテキスト サイズの指定方法の例をいくつか示します。"Medium" という語を持つテキスト オブジェクトが、それを含むテキスト オブジェクトから、どのようにフォント サイズを取得するかに注意してください。
例 |
|
{text font-size=12pt,
{text font-size=8pt, Little}
{text font-size=1cm, Pretty big}
{text Medium}
{text font-size=1in, Huge!}
}
{text And this is the default}
| |
参照:
(非ローカル オプション)
オブジェクト内のテキストを斜体や斜投影法などのフォントにするかどうかを指定します。
説明
例
例 |
|
{paragraph font-style="italic", Everything in this paragraph
should be in an italic font,
{text font-style="normal", except for this text fragment.}
}
| |
参照:
(非ローカル オプション)
オブジェクト内のテキストを、太字として強調表示するかどうかを指定します。
説明
例
例 |
|
{paragraph Everything in this paragraph
should be normally weighted,
{text font-weight="bold", except for this text fragment.}
}
| |
参照:
(非ローカル オプション)
public FontVisualMixin.text-line-through?:
bool オブジェクト内のテキストに、取り消し線を適用するかどうかを指定します。
説明
true または
false に設定します。
line-through も参照してください。このオプション用の定義済み文字書式です。
例
例 |
|
{paragraph
Modified Shopping List: onions, carrots, french bread,
{text text-line-through?=true, pot roast},
London Broil, Camembert, eggs, {text
text-line-through?=true, orange juice}, butter, jam.}
| |
参照:
(非ローカル オプション)
public FontVisualMixin.text-underline?:
bool このオブジェクト内のテキストに、下線を引かれるかどうかを指定します。
説明
true または false に設定します。
例
例 |
|
{paragraph
This is the result of
{text text-underline?=true, setting text-underline? to true}
for a text fragment.
}
{paragraph
{underline But notice what I am doing here{em-dash}I
am using the underline character format and
{text text-underline?=false, setting text-underline? to false.}}
}
| |
参照:
(メソッド)
protected | {FontVisualMixin.calculate-pointsize}:Distance |
サイズ指定を考慮して Font のサイズを計算します。
incoming-pointsize: サイズ指定。
戻り値
計算されたサイズ。
(メソッド)
deprecated protected | {FontVisualMixin.font-option-changed}:void |
オプションが Font を計算するときに関連するものである場合、オプションの値の変更についてこのオブジェクトに通知します。
key: 値が変更されたオプションの名前を指定する
String。
非推奨
このメソッドは呼び出さないでください。このオブジェクトの変更ハンドラは、オプションにおける任意の変更を通知します。
(メソッド)
(メソッド)
public | {FontVisualMixin.invalidate-font}:void |
現在の Font が無効であることを宣言します。
説明
無効となった後、次に
font が確認されるときに、その値は再び有効とされます。
プログラミング注意事項
オーバーライド
このメソッドをオーバーライドするサブクラスは super.invalidate-font を呼び出す必要があります。
(メソッド)
protected | {FontVisualMixin.react-to-font-option-change}:void |
フォントに関するオプションの変更に対応します。
metrics-changed?: true の場合は、フォントを記述するメトリックが変わっている可能性があります。これは、フォントが変わっていなくても true であることがありません。例えば、
display-context が変わるとフォントのメトリックの解釈が変わるので、
metrics-changed? が true になります。
オーバーライド
再描画やレイアウト操作が適切に行われるように、サブクラスがこのメソッドをオーバーライドすることがあります。super.react-to-font-option-change の呼び出しは不要です。
(メソッド)
protected | {FontVisualMixin.update-font-metrics}:void |
(メソッド)
protected final | {FontVisualMixin.validate-font}:void |
無効である場合に、現在の Font を再計算します。
説明