# CairoStatus クラス

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

## はじめに

CairoStatus は、Cairo を使っているときに発生するエラーを表します。 関数から直接返される場合もありますが、CairoContext を使っている場合は 直近のエラーがオブジェクトに格納されており、CairoContext::status() あるいは cairo_status() で取得できます。将来的には新たなエントリも追加されるでしょう。

Cairo::statusToString() あるいは cairo_status_to_string() を使えば、人間向けのエラーメッセージを取得できます。

## クラス概要

CairoStatus {
/* 定数 */
const integer SUCCESS = 0 ;
const integer NO_MEMORY = 1 ;
const integer INVALID_RESTORE = 2 ;
const integer INVALID_POP_GROUP = 3 ;
const integer NO_CURRENT_POINT = 4 ;
const integer INVALID_MATRIX = 5 ;
const integer INVALID_STATUS = 6 ;
const integer NULL_POINTER = 7 ;
const integer INVALID_STRING = 8 ;
const integer INVALID_PATH_DATA = 9 ;
const integer READ_ERROR = 10 ;
const integer WRITE_ERROR = 11 ;
const integer SURFACE_FINISHED = 12 ;
const integer SURFACE_TYPE_MISMATCH = 13 ;
const integer PATTERN_TYPE_MISMATCH = 14 ;
const integer INVALID_CONTENT = 15 ;
const integer INVALID_FORMAT = 16 ;
const integer INVALID_VISUAL = 17 ;
const integer FILE_NOT_FOUND = 18 ;
const integer INVALID_DASH = 19 ;
const integer INVALID_DSC_COMMENT = 20 ;
const integer INVALID_INDEX = 21 ;
const integer CLIP_NOT_REPRESENTABLE = 22 ;
const integer TEMP_FILE_ERROR = 23 ;
const integer INVALID_STRIDE = 24 ;
}

## 定義済み定数

`CairoStatus::SUCCESS`

  エラーは発生していません

`CairoStatus::NO_MEMORY`

  メモリ不足

`CairoStatus::INVALID_RESTORE`

  対応する cairo_save() がないときに cairo_restore() を呼んだ

`CairoStatus::INVALID_POP_GROUP`

  取り出すグループがない

`CairoStatus::NO_CURRENT_POINT`

  現在の点が定義されていない

`CairoStatus::INVALID_MATRIX`

  無効な行列 (不可逆)

`CairoStatus::INVALID_STATUS`

  入力の CairoStatus に対して無効な値

`CairoStatus::NULL_POINTER`

  Null ポインタ

`CairoStatus::INVALID_STRING`

  入力文字列が妥当な UTF-8 文字列ではない

`CairoStatus::INVALID_PATH_DATA`

  入力のパスデータが無効

`CairoStatus::READ_ERROR`

  入力ストリームからの読み込み中のエラー

`CairoStatus::WRITE_ERROR`

  出力ストリームへの書き出し中のエラー

`CairoStatus::SURFACE_FINISHED`

  対象のサーフェイスが処理済み

`CairoStatus::SURFACE_TYPE_MISMATCH`

  サーフェイスの型がその操作に適していない

`CairoStatus::PATTERN_TYPE_MISMATCH`

  パターンの型がその操作に適していない

`CairoStatus::INVALID_CONTENT`

  入力の CairoContent に対して無効な値

`CairoStatus::INVALID_FORMAT`

  入力の CairoFormat に対して無効な値

`CairoStatus::INVALID_VISUAL`

  入力のビジュアルに対して無効な値

`CairoStatus::FILE_NOT_FOUND`

  ファイルが存在しない

`CairoStatus::INVALID_DASH`

  ダッシュの設定で無効な値

`CairoStatus::INVALID_DSC_COMMENT`

  DSC コメントとして妥当でない値

`CairoStatus::INVALID_INDEX`

  無効なインデックスがゲッターに渡された

`CairoStatus::CLIP_NOT_REPRESENTABLE`

  クリップ領域がそのフォーマットで表現できない

`CairoStatus::TEMP_FILE_ERROR`

  テンポラリファイルの作成あるいは書き込み時のエラー

`CairoStatus::INVALID_STRIDE`

  CairoStride の無効な値