(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
すべての描画操作に使う合成演算子を設定します。
デフォルトの演算子は CairoOperator::OVER
です。
unbounded (境界なし) とマークされた演算子は、マスクレイヤーの外部であっても変更します (つまり、その影響はマスクレイヤー内だけにはおさまらないということです)。 しかし、その影響はクリッピング領域の中に限定されます。
ドキュメントをシンプルにするために、ここでの演算子の説明は 演算前と演算後の画像がどひらも完全に透明あるいは完全に不透明であるときの振る舞いだけになっています。 実際の実装は、半透明なレイヤーでも動作するようになっています。 各演算子の挙動についてより詳しい説明 (数学的な定義など) が必要な場合は、 http://cairographics.org/operators/ を参照ください。
CairoOperator::CLEAR
対象レイヤーをクリアする (bounded)
CairoOperator::SOURCE
対象レイヤーを置き換える (bounded)
CairoOperator::OVER
元レイヤーを対象レイヤーの上に描画する (bounded)
CairoOperator::IN
元画像を対象があったところに描画する (unbounded)
CairoOperator::OUT
元画像を対象がなかったところに描画する (unbounded)
CairoOperator::ATOP
元画像を対象の上だけに描画する
CairoOperator::DEST
元画像を無視する
CairoOperator::DEST_OVER
対象画像を元画像の上に描画する
CairoOperator::DEST_IN
元画像があったところだけ、対象画像を残す (unbounded)
CairoOperator::DEST_OUT
元画像がなかったところだけ、対象画像を残す
CairoOperator::DEST_ATOP
元画像の上にあったところだけ、対象画像を残す (unbounded)
CairoOperator::XOR
元画像と対象画像のどちらか一方だけがあった部分を表示する
CairoOperator::ADD
元画像と対象画像を足し合わせる
CairoOperator::SATURATE
CairoOperator::OVER
と同様だが、元画像と対象画像の形が違うことを前提とする