(クラス)
public ImageGraphic
{inherits
Fill}
レンダリング イメージのGraphic
説明
このオブジェクトはその境界内にイメージをレンダリングします。
既定では、このオブジェクトはフル解像度でイメージにマッチするサイズを要求します。最初の寸法の設定は(通常は幅)、ピクセルでのイメージのサイズと、望まれた解像度に(
desired-resolutionを参照してください。)に基づきます。
2番目の寸法の設定は(通常は高さ)、
preserve-aspect-ratio?の値に依存します。
trueの場合、2番目の寸法設定は、指定された第1の寸法で、イメージの縦横比を維持できるような値になります。
falseの場合は、1番目の寸法と同じ方法で指定された解像度を使い計算されます。
オブジェクトのメモリ特性は、
memory-budgetを通じて制御されます。これは、消費するメモリ量の上限ではありませんが、メモリの閾値を設定することで、イメージを分割してレンダリングするように出来ます。
注意事項
このオブジェクトは、"ImageGraphic"のスタイル ルールを記述することによりスタイル化することが出来ます。
導入:
バージョン 7.0
コンストラクタ protected | {ImageGraphic.clone-appearance-from other:ImageGraphic} |
コンストラクタ public | {ImageGraphic.default source:Url, ...} |
コンストラクタ public | {ImageGraphic.from-loader loader:ImageLoader, ...} |
コンストラクタ public | {ImageGraphic.from-stream} |
angle: | 表示する際に回転させる角度を指定します。 |
ローカル オプション public ImageGraphic.angle:
Angle =0deg
アクセサ protected ImageGraphic.clonable-class?:
bool
ローカル オプション public ImageGraphic.desired-resolution:
Resolution =0dpi
ローカル オプション public ImageGraphic.halign:
any ="center"
アクセサ public ImageGraphic.image-count:
int
ローカル オプション public ImageGraphic.image-number:
int =0
アクセサ public ImageGraphic.loop-count:
int
ローカル オプション public ImageGraphic.memory-budget:
int =-1
ローカル オプション public ImageGraphic.preserve-aspect-ratio?:
bool =true
アクセサ public ImageGraphic.style-element:
String
ローカル オプション public ImageGraphic.valign:
any ="center"
プロパティ 継承 Graphic:
avoid-page-break?, background, border-color, border-spec, border-style, border-width, cell-border-spec, cell-border-width, cell-margin, clip-child-shadows?, discrete-select-in-range?, enabled?, graphic-selectable, height, horigin, is-paginating?, layout, margin, opaque-to-events?, option-parent, outside-margin, pagination-state, parent, possibly-displayed?, selection-context, shadow-color, shadow-spec, visible?, visual-parent, vorigin, width プロパティ 継承 Visual:
_style-element, completely-clonable-children?, cursor, data-source, dragee, font-size, graphical-parent, has-key-focus?, input-method-enabled?, input-method-keyboard-mode, name, options, style-class, style-manager, style-options, test-child?, test-description, test-name, test-parent?, test-type-name, test-visible?, tooltip, user-data
protected | {ImageGraphic.clone-appearance-helper}:Visual |
public | {ImageGraphic.constrain-height}:Dimension |
public | {ImageGraphic.constrain-width}:Dimension |
draw: | このオブジェクトの可視表現を描画します。 |
public | {ImageGraphic.get-image-info}:(width:int,
height:int,
delay:Time,
optimal-get-width:int,
optimal-get-height:int) |
public | {ImageGraphic.set-size}:void |
メソッド 継承 Graphic:
after-reposition, attempt-revalidate-layout, before-reposition, create-pagination-state, detach, draw-range-as-selected, draw-shadow, end-pagination, find-ancestor, find-graphic-at, find-graphical-ancestor, fire-inferior-crossing-event, get-graphical-root, get-gui-path, get-origin-in-graphical-ancestor, get-origin-in-root, get-pagination-state, get-range-as-selected-text, get-top-left-in-ancestor, get-visible-bounds-into, graphical-child-visible-at, make-gui-mark, on-drag-enter, on-inspection, on-pointer-enter, option-changed, paginate, paint-with-decorations, pointer-enter-occurred, pointer-leave-occurred, replace-with, request-draw, request-draw-rect, request-layout, request-pointer-trace, search-next, search-next-here, search-prev, search-prev-here, set-layout, start-pagination, xy-offset-to メソッド 継承 Visual:
add, add-from-init-args, animate, change-cursor, clear, clonable-appearance?, clone-appearance, find-test-children, get-focus-manager, get-gui-path-to-child, get-layout-context, get-test-parent, get-test-property, get-text, get-view, maybe-fire-attach-event, maybe-fire-detach-event, non-keyword-init-arg, note-attached, note-caret-position, note-detaching, on-drag-leave, on-pointer-envelope-event, on-pointer-leave, pop-cursor, prepare-test-object, prepare-test-parent, push-cursor, quantize-width, refresh-style-options, release-key-focus, request-key-focus, scroll-to-include, test-record, test-run, transform-from-display-coordinates, transform-from-graphical-root-coordinates, transform-to-display-coordinates, transform-to-graphical-root-coordinates メソッド 継承 GuiEventTarget:
handle-delegate-event, handle-event, on-action, on-cancel-mode, on-command-changed, on-commit, on-composition-change-event, on-composition-result-event, on-context-menu-event, on-current-record-change-request, on-current-record-changed, on-destroy-notify, on-destroy-requested, on-drag-over, on-drag-pointer, on-drag-started, on-drop, on-end-composition-event, on-focus-event, on-focus-in, on-focus-out, on-gesture, on-gesture-begin, on-gesture-end, on-gesture-magnify, on-gesture-pan, on-gesture-rotate, on-gesture-swipe, on-gesture-tap, on-gesture-touch, on-grab-release, on-gui-event, on-input-method-event, on-key-event, on-key-press, on-pointer-button, on-pointer-crossing, on-pointer-event, on-pointer-motion, on-pointer-press, on-pointer-release, on-pointer-scroll, on-raw-key-event, on-raw-key-press, on-raw-key-release, on-reset, on-selectable-added, on-selectable-removed, on-selection-changed, on-selection-context-activated, on-selection-context-deactivated, on-selection-event, on-start-composition-event, on-start-event, on-stop-event, on-view-activate, on-view-deactivate, on-window-close, remove-event-handlers-for-event-class メソッド 継承 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-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 | {ImageGraphic.clone-appearance-from other:ImageGraphic} |
新規オブジェクトを生成するためのコンストラクタ。
注意事項
(コンストラクタ)
public | {ImageGraphic.default source:Url, ...} |
このオブジェクトを作成します。
source: url オブジェクトを使用して指定され、URL フォーマットを使用したイメージを表すファイル。
...: 追加の引数
(コンストラクタ)
public | {ImageGraphic.from-loader loader:ImageLoader, ...} |
(コンストラクタ)
public | {ImageGraphic.from-stream} |
インプットストリームからこのオブジェクトを生成します。
bis: 入力ストリーム。
...: 追加の引数
(ローカル オプション)
public ImageGraphic.angle:
Angle =0deg
表示する際に回転させる角度を指定します。
説明
ImageGraphic は、90度の倍数でイメージを回転します。もしも、90度の倍数以外の値が指定された場合、90度の倍数に最も近い値として扱われます。性の角度は、時計回りの回転を示し、負の角度は、反時計回りの回転を示します。
(アクセサ)
アクセサ protected ImageGraphic.clonable-class?:
bool 当該クラスがクローン化可能である場合は、true を返します。その他の場合は false を返します。
オーバーライド
既定の実装は
false を返します。クローン化機能を提供するクラスは、
{type-of self} == {compile-time-type-of self} を返すためには、このゲッターをオーバーライドする必要があります。クローン化可能な
Visual が必ずしもクローン化可能であるとは限らないので、単に
true を返すだけでは正しくありません。
(ローカル オプション)
public ImageGraphic.desired-resolution:
Resolution =0dpi
レイアウトの優先権を決定する時に使用されるべき解像度を示します。
説明
(非ローカル オプション)
このオブジェクトに関連付けられている 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 ImageGraphic.halign:
any ="center"
このオブジェクト内でのイメージの水平配置。
説明
この値は、文字列または浮動小数点値です。有効な文字列は、「left」、「center」、および「right」です。既定値は「center」です。値が浮動小数点値の場合は、イメージの位置を 0 ~ 1 の範囲で指定します。0 は「left」、1 は「right」と同じ意味です。
注意事項
(アクセサ)
アクセサ public ImageGraphic.image-count:
int
(アクセサ)
このオブジェクトのImageLoader。
注意事項
この値にアクセスするには特権が必要です。そうでない場合には、例外が発生します。
(ローカル オプション)
public ImageGraphic.image-number:
int =0
どのイメージを表示するのかを選択します。
説明
イメージファイルが、複数のイメージを含んでいる場合、このオプションは、レンダリングされるイメージを決定します。この値は、 [0,
image-count]の範囲内である必要があります。
(アクセサ)
アクセサ public ImageGraphic.loop-count:
int フレームのループ回数。
説明
値 0 は無限ループを意味します。
(ローカル オプション)
public ImageGraphic.memory-budget:
int =-1
このオブジェクトでのイメージのメモリ消費の割当量。
説明
イメージの描画をする際、追加のメモリ領域が要求された場合、このオブジェクトはイメージを分割してレンダリングしようとします。
memory-budgetは、
ImageLoaderに様なシステムの他の部分によって使用されるメモリ量には影響を与えません。
angleや
resample-algorithmのような様々なオプションは、レンダリングのプロセスの様々な段階で要求されるメモリ量を変化させます。総メモリ使用量の確かな上限の為にこの値を決定する為には、実験が必要です。
幾つかのケースにおいては、技術的な制限がbudget以上を要求することがあります。このような場合、もっとも少ないメモリ量が使用されます。
負の値は、budgetが設定されないことを示します。
(ローカル オプション)
public ImageGraphic.preserve-aspect-ratio?:
bool =true
レイアウトの優先権とレンダリングを決定する際に、イメージの縦横比を保護するかどうかを示します。
説明
trueの場合(既定)、2番目の寸法レイアウト設定は(通常は高さ)、イメージの縦横比を維持する一番目の寸法の関連した値になります。イメージは縦横比を維持したオブジェクトの境界内にレンダリングされ、
halignと
valignオプションに基づいて配置されます。
falseの場合、2番目の寸法レイアウト設定は、イメージのピクセルでの寸法とdesired-resolutionに基づきます。オブジェクトの全境界は、イメージをレンダリングする為に使用されます。
(ローカル オプション)
イメージの縮尺を変更する際に使用するアルゴリズムです。
説明
このオブジェクトよりもイメージが多くのピクセルを持っている場合、イメージはフィットするようにサイズを変更しなければなりません。このオプションはスケール変更がどのように行われるかを制御します。nearestとlinearは、もっとも速いオプションですが、品質が好ましくない場合があります。averageオプションは、恐らく結果の品質がよいものの中で最速です。
(アクセサ)
アクセサ public ImageGraphic.style-element:
String Fill を初期化します。
例
Fill を使用するさまざまな方法について、次の例で示します。
例 |
|
{VBox
"A rather long and wordy line of text.",
{HBox "Left", {Fill}},
{HBox {Fill}, "Center", {Fill}},
{HBox {Fill}, "Right"},
{HBox {Fill width=0.5in}, "Indented", {Fill}},
{HBox
{Fill width=0.5in, background="cyan"},
"Indented with color",
{Fill}}} | |
(ローカル オプション)
public ImageGraphic.valign:
any ="center"
このオブジェクト内のイメージの垂直配置。
説明
この値は、文字列または浮動小数点値です。有効な文字列は、「top」、「center」、および「bottom」です。既定値は「center」です。値が浮動小数点値の場合は、イメージの位置を 0 ~ 1 の範囲で指定します。0 は「top」、1 は「bottom」と同じ意味です。
注意事項
(メソッド)
protected | {ImageGraphic.clone-appearance-helper}:Visual |
クローンを作成し、クローン自体を返します。
オーバーライド
既定の実装はエラーをスローします。クローン化機能を提供するクラスは、
{{compile-time-type-of self}.clone-appearance-from self, fixup}
を返すためには、このゲッターをオーバーライドする必要があります。
(メソッド)
public | {ImageGraphic.constrain-height}:Dimension |
指定した高さの制約を受けた場合にこの Graphic の幅設定を返します。
ascent, descent: 高さの制約。この
Graphic の起点からの相対的な上昇および下降の距離で表されます。
戻り値
オーバーライド
既定のメソッド
Graphic.constrain-height は、単に
Graphic.get-width-preference を呼び出します。このメソッドは、オブジェクトが幅設定を計算する際に高さの制約を考慮しなくてもいい場合はオーバーライドする必要がありません。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な水平軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。
(メソッド)
public | {ImageGraphic.constrain-width}:Dimension |
指定した高さの制約を受けた場合にこの Graphic の高さ設定を返します。
lextent, rextent: 幅の制約。起点からの左と右の相対距離で表されます。
戻り値
オーバーライド
既定のメソッド
Graphic.constrain-width は、単に
Graphic.get-height-preference を呼び出します。このメソッドは、オブジェクトが高さ設定を計算する際に幅制約を考慮しなくてもいい場合はオーバーライドする必要がありません。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な垂直軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
重要:このメソッドのオーバーライド実装には、レイアウト ネゴシエーションが確実にグラフィック階層全体に適用されるように、スーパークラス実装の呼び出しを含める必要があります。
(メソッド)
このオブジェクトの可視表現を描画します。
オーバーライド
(メソッド)
この Graphic の高さ設定を返します。
戻り値
オーバーライド
このメソッドは、
Graphic のサブクラス内で定義する必要があります。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な垂直軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
(メソッド)
public | {ImageGraphic.get-image-info}:(width:int,
height:int,
delay:Time,
optimal-get-width:int,
optimal-get-height:int) |
可能であれば、イメージをインスタンス化することなく、特定イメージの情報を取得します。
戻り値
このメソッドは幾つかの値を返します。:
- width: イメージの幅
- height: イメージの高さ
- delay: イメージのアニメーション遅延。ImageData.delaysを参照してください
- optimal-get-width と
- optimal-get-height 元となるイメージから効率的にデータを検索することが出来る最小の寸法を表します。これらの値は、粒度も示します。 最適効率の為に、これらの値の整数倍の座標からだけPixmapが呼び出されます。
注意事項
optimal-get-widthとoptimal-get-heightは、特定のレンジ内に収まることを保証しません。正の値であることと、イメージの高さと幅以下であることだけ保証されます。特に、幾つかのイメージでは、有効なサブイメージ検索を許可するような構成になっていません。その様な場合、これらの値は、イメージの高さや幅と同じになります。他のイメージでは、情報の検索にいかなる制限を設けないかもしれません。このよう場合、これらの値はゼロになります。現時点では、これはTIFFイメージ以外のイメージに当てはまります。何故ならTIFFイメージだけがファイル全体をデコードしてバッファに取り込む事無く、読み取ることが出来るからです。
(メソッド)
この Graphic の幅設定を返します。
戻り値
オーバーライド
このメソッドは、
Graphic のサブクラスで定義する必要があります。
このメソッドをオーバライドするクラスでは必ず
Dimension を返すようにして、これで必要な水平軸に沿ったスペースを
そのオブジェクトの起点との関係を含めて表します。実際には、これはこのメソッドが適切な
OriginElastic または
Dimension を返すことを意味します。
Dimension の場合は、「
次元から OriginElastics への変換」で説明する変換規則に従って、適切な
OriginElastic に変換されます。
(メソッド)
public | {ImageGraphic.set-size}:void |
このオブジェクトにレイアウト幅と高さを代入します。
説明
このオブジェクトで set-size を呼び出すと、オブジェクトのレイアウト サイズを代入し、オブジェクトのレイアウト ネゴシエーションを完了します。グラフィック階層のすべてのオブジェクトにレイアウト サイズが代入された後で階層のレイアウト ネゴシエーションが完了します。
bounds: このオブジェクトの境界ボックスの左右および上下の範囲をオブジェクトの起点から相対的に示す
GRect。
プログラミング注意事項
このメソッドは、オブジェクトのグラフィカルな親によって呼び出されます。
オーバーライド