FontVisualMixin (クラス)
public abstract FontVisualMixin {inherits GraphicOptions}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
直接継承しているサブクラス: FontGraphicMixin, TextShape

Font 情報をキャッシュするためのインターフェイス。

説明

このクラスは Visual のサブクラスに取り込まれることを想定しています。例えば、Font 情報をキャッシュする Shape のサブクラスを作成した場合、そのサブクラスは FontVisualMixinShape の両方から継承します。(Graphic のサブクラスを作成する場合は、FontGraphicMixin を使用します。)

プロパティ
cached-display-context:このオブジェクトの、現在の DisplayContext
フィールド protected-get private-set FontVisualMixin.cached-display-context:#DisplayContext
color:ビジュアル オブジェクトには必ず color オプションがあります。このオプションは、継承されたものか、あるいはオブジェクトに直接設定されたものです。GUI Toolkit では、このオプションを使って Rule の色などの一般に周囲のテキストと同じ色に設定されるテキストおよび機能の色を調整します。

ビジュアル オブジェクトによっては、color プロパティを直接使用しないものがあります。たとえば、VBox は色プロパティを使用しません。それでもやはり、内部にあるすべてのアイテムが既定で同じ色を持つように、VBoxの色を設定すると便利です (下の例を参照)。
非ローカル オプション public FontVisualMixin.color:FillPattern
display-context:このオブジェクトに関連付けられている DisplayContext
非ローカル オプション public FontVisualMixin.display-context:#DisplayContext
font:このオブジェクトの、現在の Font
アクセサ public FontVisualMixin.font:Font
font-family:テキストのフォント書体を設定します。
非ローカル オプション public FontVisualMixin.font-family:String
font-size:オブジェクト内のテキストの既定サイズを指定します。
非ローカル オプション public FontVisualMixin.font-size:any
font-style:オブジェクト内のテキストを斜体や斜投影法などのフォントにするかどうかを指定します。
非ローカル オプション public FontVisualMixin.font-style:FontStyle
font-weight:オブジェクト内のテキストを、太字として強調表示するかどうかを指定します。
非ローカル オプション public FontVisualMixin.font-weight:FontWeight
text-line-through?:オブジェクト内のテキストに、取り消し線を適用するかどうかを指定します。
非ローカル オプション public FontVisualMixin.text-line-through?:bool
text-underline?:このオブジェクト内のテキストに、下線を引かれるかどうかを指定します。
非ローカル オプション public FontVisualMixin.text-underline?:bool
プロパティ 継承 DataBindingTarget: data-binding-context, data-bindings
プロパティ 継承 OptionListInterface: option-parent, option-register-proc, options, options-present-here, registered-option-keys, style-options

メソッド
calculate-pointsize:サイズ指定を考慮して Font のサイズを計算します。
protected {FontVisualMixin.calculate-pointsize
incoming-pointsize:any
}:Distance
font-option-changed:オプションが Font を計算するときに関連するものである場合、オプションの値の変更についてこのオブジェクトに通知します。
deprecated protected {FontVisualMixin.font-option-changed
key:String,
value:any
}:void
get-display-context:このオブジェクトの現在の DisplayContext を返します。
public {FontVisualMixin.get-display-context}:DisplayContext
invalidate-font:現在の Font が無効であることを宣言します。
public {FontVisualMixin.invalidate-font}:void
react-to-font-option-change:フォントに関するオプションの変更に対応します。
protected {FontVisualMixin.react-to-font-option-change
metrics-changed?:bool
}:void
update-font-metrics:フォント メトリックの変更に対応します。
protected {FontVisualMixin.update-font-metrics}:void
validate-font:無効である場合に、現在の Font を再計算します。
protected final {FontVisualMixin.validate-font}:void
メソッド 継承 GraphicOptions: any-to-Distance
メソッド 継承 DataBindingTarget: add-data-binding, get-data-binding, non-keyword-init-arg, refresh-data-binding, remove-data-binding, unset-property, update-data-binding, validate-data-binding
メソッド 継承 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
メソッド 継承 InitRestArgParser: process-rest-args
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize




プロパティ詳細
cached-display-context (フィールド)
protected-get private-set FontVisualMixin.cached-display-context:#DisplayContext

このオブジェクトの、現在の DisplayContext

説明

これは、キャッシュされる display-context のコピーで、高速検索のために保持されます。


color (非ローカル オプション)
public FontVisualMixin.color:FillPattern

ビジュアル オブジェクトには必ず color オプションがあります。このオプションは、継承されたものか、あるいはオブジェクトに直接設定されたものです。GUI Toolkit では、このオプションを使って Rule の色などの一般に周囲のテキストと同じ色に設定されるテキストおよび機能の色を調整します。

ビジュアル オブジェクトによっては、color プロパティを直接使用しないものがあります。たとえば、VBox は色プロパティを使用しません。それでもやはり、内部にあるすべてのアイテムが既定で同じ色を持つように、VBoxの色を設定すると便利です (下の例を参照)。

説明

各種オブジェクトではこのオプションを次のように使用しています。
color は非ローカルオプションなので、これを適用するオブジェクトを含む任意のグラフィカル オブジェクトに設定できます。
このオプションは、任意の FillPattern に設定できます。FillPattern の指定方法の詳細については、「塗りつぶしパターンとテクスチャ」の章を参照してください。

テキスト、ルール、形状を含むオブジェクトにを設定した結果を次に示します。


{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
        }
    }
}


display-context (非ローカル オプション)
public FontVisualMixin.display-context:#DisplayContext

このオブジェクトに関連付けられている 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 オプションでの変更をモニタリングするコードは、この可能性を考慮に入れ、この状況における望ましくない動作の実行を回避しなくてはなりません。


font (アクセサ)
アクセサ public FontVisualMixin.font:Font

このオブジェクトの、現在の Font

説明

この値がアクセスされるときに Font が無効であれば、有効にされて返されます。つまり、この値へのアクセス試行の間に update-font-metrics が呼び出されることがあります。


font-family (非ローカル オプション)
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
    }
}


font-size (非ローカル オプション)
public FontVisualMixin.font-size:any

オブジェクト内のテキストの既定サイズを指定します。

説明

この値の妥当なタイプは DistancePixelDistanceEmDistance を含んでいます。許可されたタイプを判断するための詳細な情報については verify-any-is-distance-type を御覧下さい。
値は正の値でなければなりません。負の値や、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}

参照:

文字書式: tiny, small, big, huge


font-style (非ローカル オプション)
public FontVisualMixin.font-style:FontStyle

オブジェクト内のテキストを斜体や斜投影法などのフォントにするかどうかを指定します。

説明

適切な値は次のとおりです。

このオプションは、非ローカル オプション ControlFrame.control-appearance-changeable? がコントロール上で true の場合、コントロール内のテキストの外観に反映されます。DialogMenuPane MenuBarDialog.use-look-and-feel? が true の場合、フォント書体は外観で指定された値に設定されるため、ダイアログやメニューで値を設定しても効果はありません。


{paragraph font-style="italic", Everything in this paragraph
    should be in an italic font,
    {text font-style="normal", except for this text fragment.}
}

参照:

文字書式: italic


font-weight (非ローカル オプション)
public FontVisualMixin.font-weight:FontWeight

オブジェクト内のテキストを、太字として強調表示するかどうかを指定します。

説明

適切な値は次のとおりです。

このオプションは、非ローカル オプション ControlFrame.control-appearance-changeable? がコントロール上で true の場合、コントロール内のテキストの外観に反映されます。DialogMenuPane MenuBarDialog.use-look-and-feel? が true の場合、フォント スタイルは外観で指定された値に設定されるため、ダイアログやメニューで値を設定しても効果はありません。


{paragraph Everything in this paragraph
    should be normally weighted,
    {text font-weight="bold", except for this text fragment.}
}

参照:

文字書式: bold


text-line-through? (非ローカル オプション)
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.}

参照:

文字書式:line-through


text-underline? (非ローカル オプション)
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.}}
}

参照:

文字書式: underline





メソッド詳細
calculate-pointsize (メソッド)
protected {FontVisualMixin.calculate-pointsize
incoming-pointsize:any
}:Distance

サイズ指定を考慮して Font のサイズを計算します。

incoming-pointsize: サイズ指定。

戻り値

計算されたサイズ。


font-option-changed (メソッド)
deprecated protected {FontVisualMixin.font-option-changed
key:String,
value:any
}:void

オプションが Font を計算するときに関連するものである場合、オプションの値の変更についてこのオブジェクトに通知します。

key: 値が変更されたオプションの名前を指定する String
value: 新しい値。オプションが削除されている場合、新しい値は "no value" となりますが、value には特別な値 unbound-option を指定します。このメソッド内のコードは、unbound-option? プロシージャを呼び出して、この値が存在するかどうかを確認する必要があります。option-value プロシージャの使用も、この値の処理に有益です。

非推奨

このメソッドは呼び出さないでください。このオブジェクトの変更ハンドラは、オプションにおける任意の変更を通知します。


get-display-context (メソッド)
public {FontVisualMixin.get-display-context}:DisplayContext

このオブジェクトの現在の DisplayContext を返します。

戻り値

GraphicOptions.display-context オプションが非 null 値にバインドされる場合、このオプションの値を返します。それ以外の場合、get-default-display-context によって返される値を返します。

オーバーライド

通常はオーバーライドされません。


invalidate-font (メソッド)
public {FontVisualMixin.invalidate-font}:void

現在の Font が無効であることを宣言します。

説明

無効となった後、次に font が確認されるときに、その値は再び有効とされます。

プログラミング注意事項

通常、このメソッドは、関連するオプション (たとえば、font-family) の値が変更されたときに、呼び出されます。

次に font がアクセスされるとき、Fontvalidate-font により、再び有効とされます。 関連するオプションも変更されていない限り、font の値は変更されませんが、update-font-metrics は呼び出されます。

オーバーライド

このメソッドをオーバーライドするサブクラスは super.invalidate-font を呼び出す必要があります。


react-to-font-option-change (メソッド)
protected {FontVisualMixin.react-to-font-option-change
metrics-changed?:bool
}:void

フォントに関するオプションの変更に対応します。

metrics-changed?: true の場合は、フォントを記述するメトリックが変わっている可能性があります。これは、フォントが変わっていなくても true であることがありません。例えば、display-context が変わるとフォントのメトリックの解釈が変わるので、metrics-changed? が true になります。

オーバーライド

再描画やレイアウト操作が適切に行われるように、サブクラスがこのメソッドをオーバーライドすることがあります。super.react-to-font-option-change の呼び出しは不要です。


update-font-metrics (メソッド)
protected {FontVisualMixin.update-font-metrics}:void

フォント メトリックの変更に対応します。

font: この FontVisualMixin で使用される Font
dc: この FontVisualMixinDisplayContext

説明

フォント メトリックは、Font が変更された場合、DisplayContext が変更された場合、または最後の update-font-metrics の呼び出し以降に FontVisualMixin.invalidate-font が呼び出されている場合に変更される可能性があります。


validate-font (メソッド)
protected final {FontVisualMixin.validate-font}:void

無効である場合に、現在の Font を再計算します。

説明

通常、このメソッドは、 font アクセッサの中で自動的に呼び出されます。

Font が無効な場合、このメソッドは、Font を再び有効とした後で、update-font-metrics を呼び出します。