# The CairoStatus class

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

## Introduction

CairoStatus is used to indicate errors that can occur when using Cairo. In some cases it is returned directly by functions. but when using CairoContext, the last error, if any, is stored in the object and can be retrieved with CairoContext::status() or cairo_status(). New entries may be added in future versions.

Use Cairo::statusToString() or cairo_status_to_string() to get a human-readable representation of an error message.

## Class synopsis

CairoStatus {
/* Constants */
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 ;
}

## Predefined Constants

`CairoStatus::SUCCESS`

  No error has occurred

`CairoStatus::NO_MEMORY`

  Out of memory

`CairoStatus::INVALID_RESTORE`

  cairo_restore() called without matching cairo_save()

`CairoStatus::INVALID_POP_GROUP`

  No saved group to pop

`CairoStatus::NO_CURRENT_POINT`

  No current point defined

`CairoStatus::INVALID_MATRIX`

  Invalid matrix (not invertible)

`CairoStatus::INVALID_STATUS`

  Invalid value for an input CairoStatus>

`CairoStatus::NULL_POINTER`

  Null pointer

`CairoStatus::INVALID_STRING`

  Input string not valid UTF-8 string

`CairoStatus::INVALID_PATH_DATA`

  Input path data not valid

`CairoStatus::READ_ERROR`

  Error while reading from input stream

`CairoStatus::WRITE_ERROR`

  Error while writing to output stream

`CairoStatus::SURFACE_FINISHED`

  Target surface has been finished

`CairoStatus::SURFACE_TYPE_MISMATCH`

  The surface type is not appropriate for the operation

`CairoStatus::PATTERN_TYPE_MISMATCH`

  The pattern type is not appropriate for the operation

`CairoStatus::INVALID_CONTENT`

  Invalid value for an input CairoContent

`CairoStatus::INVALID_FORMAT`

  Invalid value for an input CairoFormat

`CairoStatus::INVALID_VISUAL`

  Invalid value for an input Visual

`CairoStatus::FILE_NOT_FOUND`

  File not found

`CairoStatus::INVALID_DASH`

  Invalid value for a dash setting

`CairoStatus::INVALID_DSC_COMMENT`

  Invalid value for a DSC comment

`CairoStatus::INVALID_INDEX`

  Invalid index passed to getter

`CairoStatus::CLIP_NOT_REPRESENTABLE`

  Clip region not representable in desired format

`CairoStatus::TEMP_FILE_ERROR`

  Error creating or writing to a temporary file

`CairoStatus::INVALID_STRIDE`

  Invalid value for CairoStride