(クラス)
public abstract FillPattern
アプリケーションレベルのテクスチャとして機能するすべてのパターンの抽象スーパークラスです。
説明
FillPattern およびそのサブクラスは、高レベル アプリケーション コードが領域を描画する際に使用するテクスチャを表します。たとえば、グラフィカル オプションのテクスチャ特性を指定するさまざまなグラフィカル オプションは
FillPattern 型になります。
このクラスおよびサブクラスはテクスチャを表しますが、
Texture クラス階層には置かれてません。
Texture クラスおよびそのサブクラスは、低レベルのテクスチャを表します。これらのクラスは通常はアプリケーション コードでは使用されず、マシン レベルで使用されます。
Texture の主なサブクラスは
Color で、純色のテクスチャを表します。
FillPattern を扱う場合、
Pixmap、
Texture (
Color など)、
Drawable または
Renderer2d の API を使用できます。
FillPattern クラスでは、自動キャストを実行するかまたは
FillPattern.to-* 変換メソッドを提供することによって、これらのインターフェイスを使用できるようになります。
たとえば、均一なテクスチャ (純色) を持つ
FillPattern を作成または指定するには、サポートされている
String を指定してサポートされている色を識別するか、または
Color.from-rgb プロシージャを呼び出して
Color オブジェクトを作成します。どちらの場合も、自動的にキャスティングが行われます。キャストがサポートされているオブジェクト型については、
FillPattern.default#factory を参照してください。
Texture は不変 (変更不可) ですが、
FillPattern は場合によっては可変になります。writable? ゲッターが true の場合、
mutate-fill-pattern のフォームを使用して
FillPattern の元のイメージを変更することができます。
通常、
Pixmap から作成された
FillPattern は可変であるのに対し、
Color から作成された
FillPattern は不変です。
FillPattern が変更された場合、
FillPattern.to-Texture メソッドによりすでに取得されている
Texture は変更されませんが、その後で
FillPattern.to-Texture を呼び出した場合は新しいイメージを表す
Texture が返されます。
ただしこれは、
FillPattern を
Pixmap または
Drawable から作成した場合には当てはまりません。
FillPattern が作成された後で
Pixmap または
Drawable を変更すると
FillPattern も
変更されます。
具体的には、Drawable は破棄され、その Drawable から作成された FillPattern は無効になります。Pixmap を変更媒体として
FillPattern を変更 (
mutate-fill-pattern を使用) すると、
Drawable ベースの
FillPattern は
Drawable のスナップショットをとることになります。つまり
Drawable は変更されず、後続の
Drawable への変更は
FillPattern には反映されなくなります。
例
次の例では、
Fill (グラフィカル) オブジェクトを作成し、その
background プロパティを
String に設定します。
background は
FillPattern で、
"red" はサポートされている色の 1 つに変換されるため、Curl は自動的にそれを
FillPattern オブジェクトに変換します。
例 |
|
{Fill width=1in, height=1in, background="red"}
| |
コンストラクタ protected | {FillPattern.clone-from other:FillPattern} |
コンストラクタ protected | {FillPattern.default} |
ファクトリ public implicit | {FillPattern.from-color}:FillPattern |
ファクトリ public implicit inline | {FillPattern.from-drawable}:FillPattern |
ファクトリ public implicit inline | {FillPattern.from-pixmap}:FillPattern |
from-rgb: | FillPattern を 0 と 1 の間の rgb 値から作成します。 |
ファクトリ public implicit | {FillPattern.from-string}:FillPattern |
ファクトリ public implicit inline | {FillPattern.from-texture}:FillPattern |
アクセサ public FillPattern.ignore-alpha?:
bool
readable?: | この FillPattern が読み取り可能な場合、true を返します。 |
アクセサ public abstract FillPattern.readable?:
bool
アクセサ public abstract FillPattern.uniform?:
bool
writable?: | この FillPattern が書き込み可能な場合、true を返します。 |
アクセサ public abstract FillPattern.writable?:
bool
public constant FillPattern.aqua:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-aqua}}
public constant FillPattern.beige:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-beige}}
public constant FillPattern.black:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-black}}
public constant FillPattern.blue:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-blue}}
public constant FillPattern.brown:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-brown}}
public constant FillPattern.cyan:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-cyan}}
public constant FillPattern.fuchsia:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-fuchsia}}
public constant FillPattern.gray:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-gray}}
public constant FillPattern.green:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-green}}
public constant FillPattern.lime:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-lime}}
public constant FillPattern.magenta:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-magenta}}
public constant FillPattern.maroon:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-maroon}}
public constant FillPattern.navy:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-navy}}
public constant FillPattern.olive:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-olive}}
public constant FillPattern.orange:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-orange}}
public constant FillPattern.pink:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-pink}}
public constant FillPattern.purple:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-purple}}
public constant FillPattern.red:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-red}}
public constant FillPattern.silver:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-silver}}
public constant FillPattern.teal:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-teal}}
public constant FillPattern.transparent:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-transparent}}
public constant FillPattern.violet:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-violet}}
public constant FillPattern.wheat:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-wheat}}
public constant FillPattern.white:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-white}}
public constant FillPattern.yellow:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-yellow}}
get-white: | 白を表す FillPattern を返します。 例 これは、白い背景 FillPattern と黒いボーダーの Fill です。 例:
白 FillPattern | | {Fill
width = 1in,
height = 1in,
border-color = {FillPattern.get-black},
border-width = 2pt,
background = {FillPattern.get-white}
}
| |
|
clone: | fill-pattern と同一のコピーを返します。 |
public abstract | {FillPattern.paint}:void |
to-Pixel: | この FillPattern の値に近い Pixel を返します。 |
public abstract | {FillPattern.to-Pixel}:Pixel |
public abstract | {FillPattern.to-Pixmap}:Pixmap |
public sealed | {FillPattern.to-uniform-FillPattern}:FillPattern |
(コンストラクタ)
指定された FillPattern のコピーを作成します。
other: クローン化する FillPattern。
オーバーライド
(コンストラクタ)
protected | {FillPattern.default} |
内部で使用されます。
説明
FillPattern の初期化における引数の既定ファクトリーを参照してください。
(ファクトリ)
FillPattern を作成します。
説明
FillPattern に変換できるオブジェクトの 1 つを引数として指定することによって、FillPattern オブジェクトを明示的に作成できます。
もっと簡単な方法は、オブジェクトを直接指定し、明示的な FillPattern の呼び出しを回避することです。次に例を示します。let a:FillPattern = "red"
source:
FillPattern に変換できるオブジェクト。
このファクトリーは、次のオブジェクトの型を適切な
FillPattern に自動的に変換できます。
このファクトリーは、これらのデータ型のオブジェクトを
FillPattern が必要とされる場所に指定すると呼び出されます。
文字列の変換このファクトリーは、さまざまな変換方法によりサポートされている文字列を
FillPattern に自動的に変換できます。有効な文字列値は次のとおりです。
注意事項
通常、
FillPattern を可変オブジェクト (
Pixmap または
Drawable) から作成した場合、ソース オブジェクトを変更すると
FillPattern にも反映されます。
具体的には、Drawable は破棄され、その Drawable から作成された FillPattern は無効になります。Pixmap を変更媒体として
FillPattern を変更 (
mutate-fill-pattern を使用) すると、
Drawable ベースの
FillPattern は
Drawable のスナップショットをとることになります。つまり
Drawable は変更されず、後続の
Drawable への変更は
FillPattern には反映されなくなります。
一方、
Pixmap を使用して
FillPattern を変更した場合、ソース
Pixmap (存在する場合) と、それまでに呼び出された
FillPattern.to-Pixmap から返された
Pixmap には ミューテーションの間に行われた変更が
反映されます。
例
次の例では、
url フォーマットを使用しています。
例:
Url から FillPattern を作成 |
|
{value
let t:FillPattern = {url "curl://install/docs/default/images/grass.jpg"}
{Fill width=1in, height=1in, background=t}
}
| |
例
次の例では、
FillPattern を
Color から作成しています。
例:
Color から FillPattern を作成 |
|
{import * from CURL.GRAPHICS.RENDERER3D} || for Color
{value
|| Initializing a FillPattern by calling a procedure that
|| returns a Color object, which can be automatically
|| converted to a FillPattern.
let moss:FillPattern = {FillPattern {Color.from-rgb 0.3, 0.9, 0.2}}
|| The following is fine too
|| let moss:FillPattern = {Color.from-rgb 0.3, 0.9, 0.2}
{Frame
border-width=2pt,
border-color=moss,
margin=0.5cm,
height=2cm,
{text color=moss, MOSS MAN!}
}
}
| |
(ファクトリ)
FillPattern を Color から作成します。
(ファクトリ)
public implicit inline | {FillPattern.from-drawable}:FillPattern |
FillPattern を Drawable から作成します。
(ファクトリ)
public implicit inline | {FillPattern.from-pixmap}:FillPattern |
FillPattern を Pixmap から作成します。
(ファクトリ)
FillPattern を 0 と 1 の間の rgb 値から作成します。
(ファクトリ)
FillPattern を StringInterface から作成します。
説明
(ファクトリ)
public implicit inline | {FillPattern.from-texture}:FillPattern |
FillPattern を Texture から作成します。
(ファクトリ)
FillPattern を Url から作成します。
注意事項
デフォルトで、このファクトリはパラメータの
Urlより提供されたコンテンツ(画像)がキャッシュされません。該当urlの画像の複数インスタンスが必要な場合、ローカルキャッシュを利用することがより効率的だと考えられる。例えば、urlから画像を
Pixmapに読み込んでから、
FillPatternをその
Pixmapから作成する。
(アクセサ)
アクセサ public FillPattern.ignore-alpha?:
bool レンダリング中にアルファ チャネル (半透過) が無視されるかどうかを示します。
説明
既定値は false で、アルファ チャネルは無視されません。
(アクセサ)
アクセサ public abstract FillPattern.readable?:
bool この FillPattern が読み取り可能な場合、true を返します。
(アクセサ)
アクセサ public abstract FillPattern.uniform?:
bool FillPattern が純色かどうかを示します。
オーバーライド
既定の実装では true が返されます。サブクラスではこれをオーバーライドして、FillPattern.tget-square がすべての引数に同じ値を返す場合には true を返すようにします。
(アクセサ)
アクセサ public abstract FillPattern.writable?:
bool この FillPattern が書き込み可能な場合、true を返します。
(クラス定数)
public constant FillPattern.aqua:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-aqua}}
(クラス定数)
public constant FillPattern.beige:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-beige}}
(クラス定数)
public constant FillPattern.black:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-black}}
(クラス定数)
public constant FillPattern.blue:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-blue}}
(クラス定数)
public constant FillPattern.brown:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-brown}}
(クラス定数)
public constant FillPattern.cyan:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-cyan}}
(クラス定数)
public constant FillPattern.fuchsia:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-fuchsia}}
(クラス定数)
public constant FillPattern.gray:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-gray}}
(クラス定数)
public constant FillPattern.green:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-green}}
(クラス定数)
public constant FillPattern.lime:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-lime}}
(クラス定数)
public constant FillPattern.magenta:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-magenta}}
(クラス定数)
public constant FillPattern.maroon:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-maroon}}
(クラス定数)
public constant FillPattern.navy:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-navy}}
(クラス定数)
public constant FillPattern.olive:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-olive}}
(クラス定数)
public constant FillPattern.orange:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-orange}}
(クラス定数)
public constant FillPattern.pink:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-pink}}
(クラス定数)
public constant FillPattern.purple:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-purple}}
(クラス定数)
public constant FillPattern.red:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-red}}
(クラス定数)
public constant FillPattern.silver:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-silver}}
(クラス定数)
public constant FillPattern.teal:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-teal}}
(クラス定数)
public constant FillPattern.transparent:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-transparent}}
(クラス定数)
public constant FillPattern.violet:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-violet}}
(クラス定数)
public constant FillPattern.wheat:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-wheat}}
(クラス定数)
public constant FillPattern.white:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-white}}
(クラス定数)
public constant FillPattern.yellow:
FillPattern ={FillPattern.from-color {RENDERER3D.Palette.get-yellow}}
(クラスプロシージャ)
水色を表す FillPattern を返します。これはシアンブルーと同じ色です。
例
例:
水色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-aqua}
}
| |
(クラスプロシージャ)
ベージュを表す FillPattern を返します。
例
例:
ベージュ FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-beige}
}
| |
(クラスプロシージャ)
黒を表す FillPattern を返します。
例
例:
黒 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-black}
}
| |
(クラスプロシージャ)
青を表す FillPattern を返します。
例
例:
青 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-blue}
}
| |
(クラスプロシージャ)
茶色を表す FillPattern を返します。
例
例:
茶色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-brown}
}
| |
(クラスプロシージャ)
シアンブルーを表す FillPattern を返します。これは 水色と同じ色です。
例
例:
シアンブルー FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-cyan}
}
| |
(クラスプロシージャ)
フクシア色を表す FillPattern を返します。これはマゼンタ色と同じ色です。
例
例:
フクシア色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-fuchsia}
}
| |
(クラスプロシージャ)
灰色を表す FillPattern を返します。
例
例:
灰色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-gray}
}
| |
(クラスプロシージャ)
緑色を表す FillPattern を返します。
例
例:
緑色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-green}
}
| |
(クラスプロシージャ)
ライム色を表す FillPattern を返します。
例
例:
ライム色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-lime}
}
| |
(クラスプロシージャ)
マゼンタ色を表す FillPattern を返します。これはフクシア色と同じ色です。
例
例:
マゼンタ色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-magenta}
}
| |
(クラスプロシージャ)
えび茶色を表す FillPattern を返します。
例
例:
えび茶色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-maroon}
}
| |
(クラスプロシージャ)
ネービーブルーを表す FillPattern を返します。
例
例:
ネービーブルー FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-navy}
}
| |
(クラスプロシージャ)
オリーブ色を表す FillPattern を返します。
例
例:
オリーブ色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-olive}
}
| |
(クラスプロシージャ)
オレンジ色を表す FillPattern を返します。
例
例:
オレンジ色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-orange}
}
| |
(クラスプロシージャ)
ピンク色を表す FillPattern を返します。
例
例:
ピンク色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-pink}
}
| |
(クラスプロシージャ)
紫を表す FillPattern を返します。
例
例:
紫 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-purple}
}
| |
(クラスプロシージャ)
赤を表す FillPattern を返します。
例
例:
赤 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-red}
}
| |
(クラスプロシージャ)
銀色を表す FillPattern を返します。
例
例:
銀色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-silver}
}
| |
(クラスプロシージャ)
ティールブルーを表す FillPattern を返します。
例
例:
ティールブルー FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-teal}
}
| |
(クラスプロシージャ)
(クラスプロシージャ)
スミレ色を表す FillPattern を返します。
例
例:
スミレ色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-violet}
}
| |
(クラスプロシージャ)
小麦色を表す FillPattern を返します。
例
例:
小麦色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-wheat}
}
| |
(クラスプロシージャ)
白を表す FillPattern を返します。
例
これは、白い背景
FillPattern と黒いボーダーの
Fill です。
例:
白 FillPattern |
|
{Fill
width = 1in,
height = 1in,
border-color = {FillPattern.get-black},
border-width = 2pt,
background = {FillPattern.get-white}
}
| |
(クラスプロシージャ)
黄色を表す FillPattern を返します。
例
例:
黄色 FillPattern |
|
{Fill
width = 1in,
height = 1in,
background = {FillPattern.get-yellow}
}
| |
(メソッド)
fill-pattern と同一のコピーを返します。
オーバーライド
FillPattern を継承する各クラスは
clone-from コンストラクタを実装する必要があります。これはそのフィールドをコピーして
construct-super.clone-from を呼び出します。
次に
clone を実装し、次のように新しいトップレベルのオブジェクトを作成してその
clone-from コンストラクタを呼び出します。
{define-class final Foo
{inherits FillPattern}
field my-field:int
{constructor {clone-from
other:Foo
}
{construct-super.clone-from other}
set self.my-field = other.my-field
}
{method {clone}:FillPattern {return {Foo.clone-from self}}}
...
}
(メソッド)
public abstract | {FillPattern.paint}:void |
指定された境界内で与えられた Renderer2d 上にこの FillPattern をペイントします。
x, y: 塗りつぶされる四角形の左上隅。
width, height: 塗りつぶされる四角形の幅と高さ。width および height は負でない値であることが必要です。
uv1: 四角形の左上隅のテクスチャ座標。
uv2: 四角形の右下隅のテクスチャ座標。
説明
FillPattern がそれ自体を
fill-pattern としてレンダリングする (または何かをレンダリングする) と無限ループを引き起こすため、これを行なわないようにします。
(メソッド)
public abstract | {FillPattern.to-Pixel}:Pixel |
この FillPattern の値に近い Pixel を返します。
オーバーライド
このメソッドをオーバーライドします。既定のメソッドでは何も実装されていません。
注意事項
(メソッド)
public abstract | {FillPattern.to-Pixmap}:Pixmap |
この FillPattern を表す Pixmap を返します。
オーバーライド
このメソッドをオーバーライドします。既定のメソッドでは何も実装されていません。
結果のピクスマップの変更や解放などの処理を行うことができます。
out: 出力をダンプするために FillPattern で使用される Pixmap。
(メソッド)
この FillPattern からテクスチャを返します。
説明
既定の実装では
to-Pixmap を呼び出します。このクラスでは実装されていません。
Texture が
Pixmap から作成されて返されます。
to-Pixmap を実装した場合、
to-Texture を呼び出すたびにまず新しい
Pixmap オブジェクトが作成され、次にそこから
Texture が作成されて返されます。
これはアプリケーションで
Texture を返す方法としてはあまり効率的でない場合があります。効率性を高める目的でこのメソッドを直接オーバーライドできます。
(メソッド)
public sealed | {FillPattern.to-uniform-FillPattern}:FillPattern |
この FillPattern の値に近い FillPattern を返します。
説明
返された FillPattern は {FillPattern {Color.from-rgb r, g, b, opacity=opacity}} 呼び出しで得られる FillPattern と同一である必要があります。この場合、各コンポーネントは元の FillPattern の {{self.to-Texture}.to-Pixel} 呼び出しで得られる Pixel のコンポーネントになります。
これは、self.uniform? が true でも新しい FillPattern を返すことがあります。