# CairoOperator クラス

(No version information available, might only be in Git)

## はじめに

すべての描画操作に使う合成演算子を設定します。

デフォルトの演算子は `CairoOperator::OVER` です。

unbounded (境界なし) とマークされた演算子は、マスクレイヤーの外部であっても変更します (つまり、その影響はマスクレイヤー内だけにはおさまらないということです)。 しかし、その影響はクリッピング領域の中に限定されます。

ドキュメントをシンプルにするために、ここでの演算子の説明は 演算前と演算後の画像がどひらも完全に透明あるいは完全に不透明であるときの振る舞いだけになっています。 実際の実装は、半透明なレイヤーでも動作するようになっています。 各演算子の挙動についてより詳しい説明 (数学的な定義など) が必要な場合は、 http://cairographics.org/operators/ を参照ください。

## クラス概要

CairoOperator {
/* 定数 */
const integer CLEAR = 0 ;
const integer SOURCE = 1 ;
const integer OVER = 2 ;
const integer IN = 3 ;
const integer OUT = 4 ;
const integer ATOP = 5 ;
const integer DEST = 6 ;
const integer DEST_OVER = 7 ;
const integer DEST_IN = 8 ;
const integer DEST_OUT = 9 ;
const integer DEST_ATOP = 10 ;
const integer XOR = 11 ;
const integer ADD = 12 ;
const integer SATURATE = 13 ;
}

## 定義済み定数

`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` と同様だが、元画像と対象画像の形が違うことを前提とする