Cairo::Patternクラス

サーフェス上に描画するときのソースを表します。ソースの種類に よっていくつかサブクラスがあります。例えば、 Cairo::SolidPatternは単色のパターンを作ります。

オブジェクト階層

クラスメソッド

Cairo::Pattern.new
使えません。

インタンスメソッド

__extend__
Object#extendの別名です。
extend
現在の引き延ばしモードを返します。各引き延ばしモードの意 味の詳細はCairo::Extendを見てください。
extend=(extend)
set_extend(extend)
パターンの外側の領域を描画するときに使うモードを指定し ます。各引き延ばしモードの意味の詳細はCairo::Extendを見 てください。
filter
現在のフィルタを返します。各フィルタの詳細は Cairo::Filterを見てください。
filter=(filter)
set_filter(filter)
パターンの大きさを変えるときに使う現在のフィルタを設定 します。各フィルタの詳細はCairo::Filterを見てください。
matrix
パターンの変換行列を返します。
matrix=(matrix)
set_matrix(matrix)

パターンの変換行列を指定します。この行列はユーザ空間か らパターン空間に変換するときに使います。

パターンを作ったときはいつも単位行列です。これは最初は パターン空間はユーザ空間と同じであるということです。

重要: ユーザ空間からパターン空間への変換行列の方向に注 意してください。これは、パターンからユーザ空間(そして装 置空間)という流れの場合、座標はパターン行列の逆行列で 変換されるということです。

例えば、2倍の大きさのパターンを作りたいとしたら、以下が 正しいコードです。

pattern.matrix = Cairo::Matrix.scale(0.5, 0.5)

一方、上記のコードで0.5ではなく2.0を使うとパターンは半 分の大きさになります。

Cairo::Context#set_sourceのユーザ空間ロック動作の議論に も注意してください。

参考

変更履歴