#![allow(dead_code)]

cenum! {
    CairoFormat, CAIRO_FORMATS;

    CAIRO_FORMAT_INVALID   = -1,
    CAIRO_FORMAT_ARGB32    = 0,
    CAIRO_FORMAT_RGB24     = 1,
    CAIRO_FORMAT_A8        = 2,
    CAIRO_FORMAT_A1        = 3,
    CAIRO_FORMAT_RGB16_565 = 4,
    CAIRO_FORMAT_RGB30     = 5,
    CAIRO_FORMAT_RGB96F    = 6,
    CAIRO_FORMAT_RGBA128F  = 7,
}

cenum! {
    CairoStatus, CAIRO_STATUSES;

    CAIRO_STATUS_SUCCESS                   = 0,
    CAIRO_STATUS_NO_MEMORY                 = 1,
    CAIRO_STATUS_INVALID_RESTORE           = 2,
    CAIRO_STATUS_INVALID_POP_GROUP         = 3,
    CAIRO_STATUS_NO_CURRENT_POINT          = 4,
    CAIRO_STATUS_INVALID_MATRIX            = 5,
    CAIRO_STATUS_INVALID_STATUS            = 6,
    CAIRO_STATUS_NULL_POINTER              = 7,
    CAIRO_STATUS_INVALID_STRING            = 8,
    CAIRO_STATUS_INVALID_PATH_DATA         = 9,
    CAIRO_STATUS_READ_ERROR                = 10,
    CAIRO_STATUS_WRITE_ERROR               = 11,
    CAIRO_STATUS_SURFACE_FINISHED          = 12,
    CAIRO_STATUS_SURFACE_TYPE_MISMATCH     = 13,
    CAIRO_STATUS_PATTERN_TYPE_MISMATCH     = 14,
    CAIRO_STATUS_INVALID_CONTENT           = 15,
    CAIRO_STATUS_INVALID_FORMAT            = 16,
    CAIRO_STATUS_INVALID_VISUAL            = 17,
    CAIRO_STATUS_FILE_NOT_FOUND            = 18,
    CAIRO_STATUS_INVALID_DASH              = 19,
    CAIRO_STATUS_INVALID_DSC_COMMENT       = 20,
    CAIRO_STATUS_INVALID_INDEX             = 21,
    CAIRO_STATUS_CLIP_NOT_REPRESENTABLE    = 22,
    CAIRO_STATUS_TEMP_FILE_ERROR           = 23,
    CAIRO_STATUS_INVALID_STRIDE            = 24,
    CAIRO_STATUS_FONT_TYPE_MISMATCH        = 25,
    CAIRO_STATUS_USER_FONT_IMMUTABLE       = 26,
    CAIRO_STATUS_USER_FONT_ERROR           = 27,
    CAIRO_STATUS_NEGATIVE_COUNT            = 28,
    CAIRO_STATUS_INVALID_CLUSTERS          = 29,
    CAIRO_STATUS_INVALID_SLANT             = 30,
    CAIRO_STATUS_INVALID_WEIGHT            = 31,
    CAIRO_STATUS_INVALID_SIZE              = 32,
    CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED = 33,
    CAIRO_STATUS_DEVICE_TYPE_MISMATCH      = 34,
    CAIRO_STATUS_DEVICE_ERROR              = 35,
    CAIRO_STATUS_INVALID_MESH_CONSTRUCTION = 36,
    CAIRO_STATUS_DEVICE_FINISHED           = 37,
    CAIRO_STATUS_JBIG2_GLOBAL_MISSING      = 38,
    CAIRO_STATUS_PNG_ERROR                 = 39,
    CAIRO_STATUS_FREETYPE_ERROR            = 40,
    CAIRO_STATUS_WIN32_GDI_ERROR           = 41,
    CAIRO_STATUS_TAG_ERROR                 = 42,
    CAIRO_STATUS_LAST_STATUS               = 43,
}

cenum! {
    CairoOperator, CAIRO_OPERATORS;

    CAIRO_OPERATOR_CLEAR             = 0,
    CAIRO_OPERATOR_SOURCE            = 1,
    CAIRO_OPERATOR_OVER              = 2,
    CAIRO_OPERATOR_IN                = 3,
    CAIRO_OPERATOR_OUT               = 4,
    CAIRO_OPERATOR_ATOP              = 5,
    CAIRO_OPERATOR_DEST              = 6,
    CAIRO_OPERATOR_DEST_OVER         = 7,
    CAIRO_OPERATOR_DEST_IN           = 8,
    CAIRO_OPERATOR_DEST_OUT          = 9,
    CAIRO_OPERATOR_DEST_ATOP         = 10,
    CAIRO_OPERATOR_XOR               = 11,
    CAIRO_OPERATOR_ADD               = 12,
    CAIRO_OPERATOR_SATURATE          = 13,
    CAIRO_OPERATOR_MULTIPLY          = 14,
    CAIRO_OPERATOR_SCREEN            = 15,
    CAIRO_OPERATOR_OVERLAY           = 16,
    CAIRO_OPERATOR_DARKEN            = 17,
    CAIRO_OPERATOR_LIGHTEN           = 18,
    CAIRO_OPERATOR_COLOR_DODGE       = 19,
    CAIRO_OPERATOR_COLOR_BURN        = 20,
    CAIRO_OPERATOR_HARD_LIGHT        = 21,
    CAIRO_OPERATOR_SOFT_LIGHT        = 22,
    CAIRO_OPERATOR_DIFFERENCE        = 23,
    CAIRO_OPERATOR_EXCLUSION         = 24,
    CAIRO_OPERATOR_HSL_HUE           = 25,
    CAIRO_OPERATOR_HSL_SATURATION    = 26,
    CAIRO_OPERATOR_HSL_COLOR         = 27,
    CAIRO_OPERATOR_HSL_LUMINOSITY    = 28,
}

cenum! {
    PangoEllipsizeMode, PANGO_ELLIPSIZE_MODES;

    PANGO_ELLIPSIZE_NONE = 0,
    PANGO_ELLIPSIZE_START = 1,
    PANGO_ELLIPSIZE_MIDDLE = 2,
    PANGO_ELLIPSIZE_END = 3,
}

pub const PANGO_SCALE: i32 = 1024;
