サーフェス上に描画するときのソースを表します。ソースの種類に よっていくつかサブクラスがあります。例えば、 Cairo::SolidPatternは単色のパターンを作ります。
Cairo::Pattern.new
__extend__
extend
extend=(extend)
set_extend(extend)
filter
filter=(filter)
set_filter(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のユーザ空間ロック動作の議論に も注意してください。