EVOLUTION-MANAGER
Edit File: constants.py
# Generated by mkconstants.py STATUS_SUCCESS = 0 STATUS_NO_MEMORY = 1 STATUS_INVALID_RESTORE = 2 STATUS_INVALID_POP_GROUP = 3 STATUS_NO_CURRENT_POINT = 4 STATUS_INVALID_MATRIX = 5 STATUS_INVALID_STATUS = 6 STATUS_NULL_POINTER = 7 STATUS_INVALID_STRING = 8 STATUS_INVALID_PATH_DATA = 9 STATUS_READ_ERROR = 10 STATUS_WRITE_ERROR = 11 STATUS_SURFACE_FINISHED = 12 STATUS_SURFACE_TYPE_MISMATCH = 13 STATUS_PATTERN_TYPE_MISMATCH = 14 STATUS_INVALID_CONTENT = 15 STATUS_INVALID_FORMAT = 16 STATUS_INVALID_VISUAL = 17 STATUS_FILE_NOT_FOUND = 18 STATUS_INVALID_DASH = 19 STATUS_INVALID_DSC_COMMENT = 20 STATUS_INVALID_INDEX = 21 STATUS_CLIP_NOT_REPRESENTABLE = 22 STATUS_TEMP_FILE_ERROR = 23 STATUS_INVALID_STRIDE = 24 STATUS_FONT_TYPE_MISMATCH = 25 STATUS_USER_FONT_IMMUTABLE = 26 STATUS_USER_FONT_ERROR = 27 STATUS_NEGATIVE_COUNT = 28 STATUS_INVALID_CLUSTERS = 29 STATUS_INVALID_SLANT = 30 STATUS_INVALID_WEIGHT = 31 STATUS_INVALID_SIZE = 32 STATUS_USER_FONT_NOT_IMPLEMENTED = 33 STATUS_DEVICE_TYPE_MISMATCH = 34 STATUS_DEVICE_ERROR = 35 STATUS_INVALID_MESH_CONSTRUCTION = 36 STATUS_DEVICE_FINISHED = 37 STATUS_LAST_STATUS = 38 CONTENT_COLOR = 0x1000 CONTENT_ALPHA = 0x2000 CONTENT_COLOR_ALPHA = 0x3000 FORMAT_INVALID = -1 FORMAT_ARGB32 = 0 FORMAT_RGB24 = 1 FORMAT_A8 = 2 FORMAT_A1 = 3 FORMAT_RGB16_565 = 4 FORMAT_RGB30 = 5 OPERATOR_CLEAR = 0 OPERATOR_SOURCE = 1 OPERATOR_OVER = 2 OPERATOR_IN = 3 OPERATOR_OUT = 4 OPERATOR_ATOP = 5 OPERATOR_DEST = 6 OPERATOR_DEST_OVER = 7 OPERATOR_DEST_IN = 8 OPERATOR_DEST_OUT = 9 OPERATOR_DEST_ATOP = 10 OPERATOR_XOR = 11 OPERATOR_ADD = 12 OPERATOR_SATURATE = 13 OPERATOR_MULTIPLY = 14 OPERATOR_SCREEN = 15 OPERATOR_OVERLAY = 16 OPERATOR_DARKEN = 17 OPERATOR_LIGHTEN = 18 OPERATOR_COLOR_DODGE = 19 OPERATOR_COLOR_BURN = 20 OPERATOR_HARD_LIGHT = 21 OPERATOR_SOFT_LIGHT = 22 OPERATOR_DIFFERENCE = 23 OPERATOR_EXCLUSION = 24 OPERATOR_HSL_HUE = 25 OPERATOR_HSL_SATURATION = 26 OPERATOR_HSL_COLOR = 27 OPERATOR_HSL_LUMINOSITY = 28 ANTIALIAS_DEFAULT = 0 ANTIALIAS_NONE = 1 ANTIALIAS_GRAY = 2 ANTIALIAS_SUBPIXEL = 3 ANTIALIAS_FAST = 4 ANTIALIAS_GOOD = 5 ANTIALIAS_BEST = 6 FILL_RULE_WINDING = 0 FILL_RULE_EVEN_ODD = 1 LINE_CAP_BUTT = 0 LINE_CAP_ROUND = 1 LINE_CAP_SQUARE = 2 LINE_JOIN_MITER = 0 LINE_JOIN_ROUND = 1 LINE_JOIN_BEVEL = 2 TEXT_CLUSTER_FLAG_BACKWARD = 0x00000001 FONT_SLANT_NORMAL = 0 FONT_SLANT_ITALIC = 1 FONT_SLANT_OBLIQUE = 2 FONT_WEIGHT_NORMAL = 0 FONT_WEIGHT_BOLD = 1 SUBPIXEL_ORDER_DEFAULT = 0 SUBPIXEL_ORDER_RGB = 1 SUBPIXEL_ORDER_BGR = 2 SUBPIXEL_ORDER_VRGB = 3 SUBPIXEL_ORDER_VBGR = 4 HINT_STYLE_DEFAULT = 0 HINT_STYLE_NONE = 1 HINT_STYLE_SLIGHT = 2 HINT_STYLE_MEDIUM = 3 HINT_STYLE_FULL = 4 HINT_METRICS_DEFAULT = 0 HINT_METRICS_OFF = 1 HINT_METRICS_ON = 2 FONT_TYPE_TOY = 0 FONT_TYPE_FT = 1 FONT_TYPE_WIN32 = 2 FONT_TYPE_QUARTZ = 3 FONT_TYPE_USER = 4 PATH_MOVE_TO = 0 PATH_LINE_TO = 1 PATH_CURVE_TO = 2 PATH_CLOSE_PATH = 3 DEVICE_TYPE_DRM = 0 DEVICE_TYPE_GL = 1 DEVICE_TYPE_SCRIPT = 2 DEVICE_TYPE_XCB = 3 DEVICE_TYPE_XLIB = 4 DEVICE_TYPE_XML = 5 DEVICE_TYPE_COGL = 6 DEVICE_TYPE_WIN32 = 7 DEVICE_TYPE_INVALID = -1 SURFACE_OBSERVER_NORMAL = 0 SURFACE_OBSERVER_RECORD_OPERATIONS = 0x1 SURFACE_TYPE_IMAGE = 0 SURFACE_TYPE_PDF = 1 SURFACE_TYPE_PS = 2 SURFACE_TYPE_XLIB = 3 SURFACE_TYPE_XCB = 4 SURFACE_TYPE_GLITZ = 5 SURFACE_TYPE_QUARTZ = 6 SURFACE_TYPE_WIN32 = 7 SURFACE_TYPE_BEOS = 8 SURFACE_TYPE_DIRECTFB = 9 SURFACE_TYPE_SVG = 10 SURFACE_TYPE_OS2 = 11 SURFACE_TYPE_WIN32_PRINTING = 12 SURFACE_TYPE_QUARTZ_IMAGE = 13 SURFACE_TYPE_SCRIPT = 14 SURFACE_TYPE_QT = 15 SURFACE_TYPE_RECORDING = 16 SURFACE_TYPE_VG = 17 SURFACE_TYPE_GL = 18 SURFACE_TYPE_DRM = 19 SURFACE_TYPE_TEE = 20 SURFACE_TYPE_XML = 21 SURFACE_TYPE_SKIA = 22 SURFACE_TYPE_SUBSURFACE = 23 SURFACE_TYPE_COGL = 24 PATTERN_TYPE_SOLID = 0 PATTERN_TYPE_SURFACE = 1 PATTERN_TYPE_LINEAR = 2 PATTERN_TYPE_RADIAL = 3 PATTERN_TYPE_MESH = 4 PATTERN_TYPE_RASTER_SOURCE = 5 EXTEND_NONE = 0 EXTEND_REPEAT = 1 EXTEND_REFLECT = 2 EXTEND_PAD = 3 FILTER_FAST = 0 FILTER_GOOD = 1 FILTER_BEST = 2 FILTER_NEAREST = 3 FILTER_BILINEAR = 4 FILTER_GAUSSIAN = 5 REGION_OVERLAP_IN = 0 REGION_OVERLAP_OUT = 1 REGION_OVERLAP_PART = 2 PDF_VERSION_1_4 = 0 PDF_VERSION_1_5 = 1 PS_LEVEL_2 = 0 PS_LEVEL_3 = 1 SVG_VERSION_1_1 = 0 SVG_VERSION_1_2 = 1 _CAIRO_HEADERS = r""" int cairo_version(void); const char *cairo_version_string(void); typedef int cairo_bool_t; typedef struct _cairo cairo_t; typedef struct _cairo_surface cairo_surface_t; typedef struct _cairo_device cairo_device_t; typedef struct _cairo_matrix { double xx; double yx; double xy; double yy; double x0; double y0; } cairo_matrix_t; typedef struct _cairo_pattern cairo_pattern_t; typedef void (*cairo_destroy_func_t)(void *data); typedef struct _cairo_user_data_key { int unused; } cairo_user_data_key_t; typedef enum _cairo_status {CAIRO_STATUS_SUCCESS = 0, CAIRO_STATUS_NO_MEMORY, CAIRO_STATUS_INVALID_RESTORE, CAIRO_STATUS_INVALID_POP_GROUP, CAIRO_STATUS_NO_CURRENT_POINT, CAIRO_STATUS_INVALID_MATRIX, CAIRO_STATUS_INVALID_STATUS, CAIRO_STATUS_NULL_POINTER, CAIRO_STATUS_INVALID_STRING, CAIRO_STATUS_INVALID_PATH_DATA, CAIRO_STATUS_READ_ERROR, CAIRO_STATUS_WRITE_ERROR, CAIRO_STATUS_SURFACE_FINISHED, CAIRO_STATUS_SURFACE_TYPE_MISMATCH, CAIRO_STATUS_PATTERN_TYPE_MISMATCH, CAIRO_STATUS_INVALID_CONTENT, CAIRO_STATUS_INVALID_FORMAT, CAIRO_STATUS_INVALID_VISUAL, CAIRO_STATUS_FILE_NOT_FOUND, CAIRO_STATUS_INVALID_DASH, CAIRO_STATUS_INVALID_DSC_COMMENT, CAIRO_STATUS_INVALID_INDEX, CAIRO_STATUS_CLIP_NOT_REPRESENTABLE, CAIRO_STATUS_TEMP_FILE_ERROR, CAIRO_STATUS_INVALID_STRIDE, CAIRO_STATUS_FONT_TYPE_MISMATCH, CAIRO_STATUS_USER_FONT_IMMUTABLE, CAIRO_STATUS_USER_FONT_ERROR, CAIRO_STATUS_NEGATIVE_COUNT, CAIRO_STATUS_INVALID_CLUSTERS, CAIRO_STATUS_INVALID_SLANT, CAIRO_STATUS_INVALID_WEIGHT, CAIRO_STATUS_INVALID_SIZE, CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED, CAIRO_STATUS_DEVICE_TYPE_MISMATCH, CAIRO_STATUS_DEVICE_ERROR, CAIRO_STATUS_INVALID_MESH_CONSTRUCTION, CAIRO_STATUS_DEVICE_FINISHED, CAIRO_STATUS_LAST_STATUS} cairo_status_t; typedef enum _cairo_content {CAIRO_CONTENT_COLOR = 0x1000, CAIRO_CONTENT_ALPHA = 0x2000, CAIRO_CONTENT_COLOR_ALPHA = 0x3000} cairo_content_t; typedef enum _cairo_format {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_t; typedef cairo_status_t (*cairo_write_func_t)(void *closure, const unsigned char *data, unsigned int length); typedef cairo_status_t (*cairo_read_func_t)(void *closure, unsigned char *data, unsigned int length); typedef struct _cairo_rectangle_int { int x; int y; int width; int height; } cairo_rectangle_int_t; cairo_t *cairo_create(cairo_surface_t *target); cairo_t *cairo_reference(cairo_t *cr); void cairo_destroy(cairo_t *cr); unsigned int cairo_get_reference_count(cairo_t *cr); void *cairo_get_user_data(cairo_t *cr, const cairo_user_data_key_t *key); cairo_status_t cairo_set_user_data(cairo_t *cr, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); void cairo_save(cairo_t *cr); void cairo_restore(cairo_t *cr); void cairo_push_group(cairo_t *cr); void cairo_push_group_with_content(cairo_t *cr, cairo_content_t content); cairo_pattern_t *cairo_pop_group(cairo_t *cr); void cairo_pop_group_to_source(cairo_t *cr); typedef enum _cairo_operator {CAIRO_OPERATOR_CLEAR, CAIRO_OPERATOR_SOURCE, CAIRO_OPERATOR_OVER, CAIRO_OPERATOR_IN, CAIRO_OPERATOR_OUT, CAIRO_OPERATOR_ATOP, CAIRO_OPERATOR_DEST, CAIRO_OPERATOR_DEST_OVER, CAIRO_OPERATOR_DEST_IN, CAIRO_OPERATOR_DEST_OUT, CAIRO_OPERATOR_DEST_ATOP, CAIRO_OPERATOR_XOR, CAIRO_OPERATOR_ADD, CAIRO_OPERATOR_SATURATE, CAIRO_OPERATOR_MULTIPLY, CAIRO_OPERATOR_SCREEN, CAIRO_OPERATOR_OVERLAY, CAIRO_OPERATOR_DARKEN, CAIRO_OPERATOR_LIGHTEN, CAIRO_OPERATOR_COLOR_DODGE, CAIRO_OPERATOR_COLOR_BURN, CAIRO_OPERATOR_HARD_LIGHT, CAIRO_OPERATOR_SOFT_LIGHT, CAIRO_OPERATOR_DIFFERENCE, CAIRO_OPERATOR_EXCLUSION, CAIRO_OPERATOR_HSL_HUE, CAIRO_OPERATOR_HSL_SATURATION, CAIRO_OPERATOR_HSL_COLOR, CAIRO_OPERATOR_HSL_LUMINOSITY} cairo_operator_t; void cairo_set_operator(cairo_t *cr, cairo_operator_t op); void cairo_set_source(cairo_t *cr, cairo_pattern_t *source); void cairo_set_source_rgb(cairo_t *cr, double red, double green, double blue); void cairo_set_source_rgba(cairo_t *cr, double red, double green, double blue, double alpha); void cairo_set_source_surface(cairo_t *cr, cairo_surface_t *surface, double x, double y); void cairo_set_tolerance(cairo_t *cr, double tolerance); typedef enum _cairo_antialias {CAIRO_ANTIALIAS_DEFAULT, CAIRO_ANTIALIAS_NONE, CAIRO_ANTIALIAS_GRAY, CAIRO_ANTIALIAS_SUBPIXEL, CAIRO_ANTIALIAS_FAST, CAIRO_ANTIALIAS_GOOD, CAIRO_ANTIALIAS_BEST} cairo_antialias_t; void cairo_set_antialias(cairo_t *cr, cairo_antialias_t antialias); typedef enum _cairo_fill_rule {CAIRO_FILL_RULE_WINDING, CAIRO_FILL_RULE_EVEN_ODD} cairo_fill_rule_t; void cairo_set_fill_rule(cairo_t *cr, cairo_fill_rule_t fill_rule); void cairo_set_line_width(cairo_t *cr, double width); typedef enum _cairo_line_cap {CAIRO_LINE_CAP_BUTT, CAIRO_LINE_CAP_ROUND, CAIRO_LINE_CAP_SQUARE} cairo_line_cap_t; void cairo_set_line_cap(cairo_t *cr, cairo_line_cap_t line_cap); typedef enum _cairo_line_join {CAIRO_LINE_JOIN_MITER, CAIRO_LINE_JOIN_ROUND, CAIRO_LINE_JOIN_BEVEL} cairo_line_join_t; void cairo_set_line_join(cairo_t *cr, cairo_line_join_t line_join); void cairo_set_dash(cairo_t *cr, const double *dashes, int num_dashes, double offset); void cairo_set_miter_limit(cairo_t *cr, double limit); void cairo_translate(cairo_t *cr, double tx, double ty); void cairo_scale(cairo_t *cr, double sx, double sy); void cairo_rotate(cairo_t *cr, double angle); void cairo_transform(cairo_t *cr, const cairo_matrix_t *matrix); void cairo_set_matrix(cairo_t *cr, const cairo_matrix_t *matrix); void cairo_identity_matrix(cairo_t *cr); void cairo_user_to_device(cairo_t *cr, double *x, double *y); void cairo_user_to_device_distance(cairo_t *cr, double *dx, double *dy); void cairo_device_to_user(cairo_t *cr, double *x, double *y); void cairo_device_to_user_distance(cairo_t *cr, double *dx, double *dy); void cairo_new_path(cairo_t *cr); void cairo_move_to(cairo_t *cr, double x, double y); void cairo_new_sub_path(cairo_t *cr); void cairo_line_to(cairo_t *cr, double x, double y); void cairo_curve_to(cairo_t *cr, double x1, double y1, double x2, double y2, double x3, double y3); void cairo_arc(cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2); void cairo_arc_negative(cairo_t *cr, double xc, double yc, double radius, double angle1, double angle2); void cairo_rel_move_to(cairo_t *cr, double dx, double dy); void cairo_rel_line_to(cairo_t *cr, double dx, double dy); void cairo_rel_curve_to(cairo_t *cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3); void cairo_rectangle(cairo_t *cr, double x, double y, double width, double height); void cairo_close_path(cairo_t *cr); void cairo_path_extents(cairo_t *cr, double *x1, double *y1, double *x2, double *y2); void cairo_paint(cairo_t *cr); void cairo_paint_with_alpha(cairo_t *cr, double alpha); void cairo_mask(cairo_t *cr, cairo_pattern_t *pattern); void cairo_mask_surface(cairo_t *cr, cairo_surface_t *surface, double surface_x, double surface_y); void cairo_stroke(cairo_t *cr); void cairo_stroke_preserve(cairo_t *cr); void cairo_fill(cairo_t *cr); void cairo_fill_preserve(cairo_t *cr); void cairo_copy_page(cairo_t *cr); void cairo_show_page(cairo_t *cr); cairo_bool_t cairo_in_stroke(cairo_t *cr, double x, double y); cairo_bool_t cairo_in_fill(cairo_t *cr, double x, double y); cairo_bool_t cairo_in_clip(cairo_t *cr, double x, double y); void cairo_stroke_extents(cairo_t *cr, double *x1, double *y1, double *x2, double *y2); void cairo_fill_extents(cairo_t *cr, double *x1, double *y1, double *x2, double *y2); void cairo_reset_clip(cairo_t *cr); void cairo_clip(cairo_t *cr); void cairo_clip_preserve(cairo_t *cr); void cairo_clip_extents(cairo_t *cr, double *x1, double *y1, double *x2, double *y2); typedef struct _cairo_rectangle { double x; double y; double width; double height; } cairo_rectangle_t; typedef struct _cairo_rectangle_list { cairo_status_t status; cairo_rectangle_t *rectangles; int num_rectangles; } cairo_rectangle_list_t; cairo_rectangle_list_t *cairo_copy_clip_rectangle_list(cairo_t *cr); void cairo_rectangle_list_destroy(cairo_rectangle_list_t *rectangle_list); typedef struct _cairo_scaled_font cairo_scaled_font_t; typedef struct _cairo_font_face cairo_font_face_t; typedef struct { unsigned long index; double x; double y; } cairo_glyph_t; cairo_glyph_t *cairo_glyph_allocate(int num_glyphs); void cairo_glyph_free(cairo_glyph_t *glyphs); typedef struct { int num_bytes; int num_glyphs; } cairo_text_cluster_t; cairo_text_cluster_t *cairo_text_cluster_allocate(int num_clusters); void cairo_text_cluster_free(cairo_text_cluster_t *clusters); typedef enum _cairo_text_cluster_flags {CAIRO_TEXT_CLUSTER_FLAG_BACKWARD = 0x00000001} cairo_text_cluster_flags_t; typedef struct { double x_bearing; double y_bearing; double width; double height; double x_advance; double y_advance; } cairo_text_extents_t; typedef struct { double ascent; double descent; double height; double max_x_advance; double max_y_advance; } cairo_font_extents_t; typedef enum _cairo_font_slant {CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_SLANT_OBLIQUE} cairo_font_slant_t; typedef enum _cairo_font_weight {CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_WEIGHT_BOLD} cairo_font_weight_t; typedef enum _cairo_subpixel_order {CAIRO_SUBPIXEL_ORDER_DEFAULT, CAIRO_SUBPIXEL_ORDER_RGB, CAIRO_SUBPIXEL_ORDER_BGR, CAIRO_SUBPIXEL_ORDER_VRGB, CAIRO_SUBPIXEL_ORDER_VBGR} cairo_subpixel_order_t; typedef enum _cairo_hint_style {CAIRO_HINT_STYLE_DEFAULT, CAIRO_HINT_STYLE_NONE, CAIRO_HINT_STYLE_SLIGHT, CAIRO_HINT_STYLE_MEDIUM, CAIRO_HINT_STYLE_FULL} cairo_hint_style_t; typedef enum _cairo_hint_metrics {CAIRO_HINT_METRICS_DEFAULT, CAIRO_HINT_METRICS_OFF, CAIRO_HINT_METRICS_ON} cairo_hint_metrics_t; typedef struct _cairo_font_options cairo_font_options_t; cairo_font_options_t *cairo_font_options_create(void); cairo_font_options_t *cairo_font_options_copy(const cairo_font_options_t *original); void cairo_font_options_destroy(cairo_font_options_t *options); cairo_status_t cairo_font_options_status(cairo_font_options_t *options); void cairo_font_options_merge(cairo_font_options_t *options, const cairo_font_options_t *other); cairo_bool_t cairo_font_options_equal(const cairo_font_options_t *options, const cairo_font_options_t *other); unsigned long cairo_font_options_hash(const cairo_font_options_t *options); void cairo_font_options_set_antialias(cairo_font_options_t *options, cairo_antialias_t antialias); cairo_antialias_t cairo_font_options_get_antialias(const cairo_font_options_t *options); void cairo_font_options_set_subpixel_order(cairo_font_options_t *options, cairo_subpixel_order_t subpixel_order); cairo_subpixel_order_t cairo_font_options_get_subpixel_order(const cairo_font_options_t *options); void cairo_font_options_set_hint_style(cairo_font_options_t *options, cairo_hint_style_t hint_style); cairo_hint_style_t cairo_font_options_get_hint_style(const cairo_font_options_t *options); void cairo_font_options_set_hint_metrics(cairo_font_options_t *options, cairo_hint_metrics_t hint_metrics); cairo_hint_metrics_t cairo_font_options_get_hint_metrics(const cairo_font_options_t *options); void cairo_select_font_face(cairo_t *cr, const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight); void cairo_set_font_size(cairo_t *cr, double size); void cairo_set_font_matrix(cairo_t *cr, const cairo_matrix_t *matrix); void cairo_get_font_matrix(cairo_t *cr, cairo_matrix_t *matrix); void cairo_set_font_options(cairo_t *cr, const cairo_font_options_t *options); void cairo_get_font_options(cairo_t *cr, cairo_font_options_t *options); void cairo_set_font_face(cairo_t *cr, cairo_font_face_t *font_face); cairo_font_face_t *cairo_get_font_face(cairo_t *cr); void cairo_set_scaled_font(cairo_t *cr, const cairo_scaled_font_t *scaled_font); cairo_scaled_font_t *cairo_get_scaled_font(cairo_t *cr); void cairo_show_text(cairo_t *cr, const char *utf8); void cairo_show_glyphs(cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs); void cairo_show_text_glyphs(cairo_t *cr, const char *utf8, int utf8_len, const cairo_glyph_t *glyphs, int num_glyphs, const cairo_text_cluster_t *clusters, int num_clusters, cairo_text_cluster_flags_t cluster_flags); void cairo_text_path(cairo_t *cr, const char *utf8); void cairo_glyph_path(cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs); void cairo_text_extents(cairo_t *cr, const char *utf8, cairo_text_extents_t *extents); void cairo_glyph_extents(cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs, cairo_text_extents_t *extents); void cairo_font_extents(cairo_t *cr, cairo_font_extents_t *extents); cairo_font_face_t *cairo_font_face_reference(cairo_font_face_t *font_face); void cairo_font_face_destroy(cairo_font_face_t *font_face); unsigned int cairo_font_face_get_reference_count(cairo_font_face_t *font_face); cairo_status_t cairo_font_face_status(cairo_font_face_t *font_face); typedef enum _cairo_font_type {CAIRO_FONT_TYPE_TOY, CAIRO_FONT_TYPE_FT, CAIRO_FONT_TYPE_WIN32, CAIRO_FONT_TYPE_QUARTZ, CAIRO_FONT_TYPE_USER} cairo_font_type_t; cairo_font_type_t cairo_font_face_get_type(cairo_font_face_t *font_face); void *cairo_font_face_get_user_data(cairo_font_face_t *font_face, const cairo_user_data_key_t *key); cairo_status_t cairo_font_face_set_user_data(cairo_font_face_t *font_face, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); cairo_scaled_font_t *cairo_scaled_font_create(cairo_font_face_t *font_face, const cairo_matrix_t *font_matrix, const cairo_matrix_t *ctm, const cairo_font_options_t *options); cairo_scaled_font_t *cairo_scaled_font_reference(cairo_scaled_font_t *scaled_font); void cairo_scaled_font_destroy(cairo_scaled_font_t *scaled_font); unsigned int cairo_scaled_font_get_reference_count(cairo_scaled_font_t *scaled_font); cairo_status_t cairo_scaled_font_status(cairo_scaled_font_t *scaled_font); cairo_font_type_t cairo_scaled_font_get_type(cairo_scaled_font_t *scaled_font); void *cairo_scaled_font_get_user_data(cairo_scaled_font_t *scaled_font, const cairo_user_data_key_t *key); cairo_status_t cairo_scaled_font_set_user_data(cairo_scaled_font_t *scaled_font, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); void cairo_scaled_font_extents(cairo_scaled_font_t *scaled_font, cairo_font_extents_t *extents); void cairo_scaled_font_text_extents(cairo_scaled_font_t *scaled_font, const char *utf8, cairo_text_extents_t *extents); void cairo_scaled_font_glyph_extents(cairo_scaled_font_t *scaled_font, const cairo_glyph_t *glyphs, int num_glyphs, cairo_text_extents_t *extents); cairo_status_t cairo_scaled_font_text_to_glyphs(cairo_scaled_font_t *scaled_font, double x, double y, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *cluster_flags); cairo_font_face_t *cairo_scaled_font_get_font_face(cairo_scaled_font_t *scaled_font); void cairo_scaled_font_get_font_matrix(cairo_scaled_font_t *scaled_font, cairo_matrix_t *font_matrix); void cairo_scaled_font_get_ctm(cairo_scaled_font_t *scaled_font, cairo_matrix_t *ctm); void cairo_scaled_font_get_scale_matrix(cairo_scaled_font_t *scaled_font, cairo_matrix_t *scale_matrix); void cairo_scaled_font_get_font_options(cairo_scaled_font_t *scaled_font, cairo_font_options_t *options); cairo_font_face_t *cairo_toy_font_face_create(const char *family, cairo_font_slant_t slant, cairo_font_weight_t weight); const char *cairo_toy_font_face_get_family(cairo_font_face_t *font_face); cairo_font_slant_t cairo_toy_font_face_get_slant(cairo_font_face_t *font_face); cairo_font_weight_t cairo_toy_font_face_get_weight(cairo_font_face_t *font_face); cairo_font_face_t *cairo_user_font_face_create(void); typedef cairo_status_t (*cairo_user_scaled_font_init_func_t)(cairo_scaled_font_t *scaled_font, cairo_t *cr, cairo_font_extents_t *extents); typedef cairo_status_t (*cairo_user_scaled_font_render_glyph_func_t)(cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *extents); typedef cairo_status_t (*cairo_user_scaled_font_text_to_glyphs_func_t)(cairo_scaled_font_t *scaled_font, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *cluster_flags); typedef cairo_status_t (*cairo_user_scaled_font_unicode_to_glyph_func_t)(cairo_scaled_font_t *scaled_font, unsigned long unicode, unsigned long *glyph_index); void cairo_user_font_face_set_init_func(cairo_font_face_t *font_face, cairo_user_scaled_font_init_func_t init_func); void cairo_user_font_face_set_render_glyph_func(cairo_font_face_t *font_face, cairo_user_scaled_font_render_glyph_func_t render_glyph_func); void cairo_user_font_face_set_text_to_glyphs_func(cairo_font_face_t *font_face, cairo_user_scaled_font_text_to_glyphs_func_t text_to_glyphs_func); void cairo_user_font_face_set_unicode_to_glyph_func(cairo_font_face_t *font_face, cairo_user_scaled_font_unicode_to_glyph_func_t unicode_to_glyph_func); cairo_user_scaled_font_init_func_t cairo_user_font_face_get_init_func(cairo_font_face_t *font_face); cairo_user_scaled_font_render_glyph_func_t cairo_user_font_face_get_render_glyph_func(cairo_font_face_t *font_face); cairo_user_scaled_font_text_to_glyphs_func_t cairo_user_font_face_get_text_to_glyphs_func(cairo_font_face_t *font_face); cairo_user_scaled_font_unicode_to_glyph_func_t cairo_user_font_face_get_unicode_to_glyph_func(cairo_font_face_t *font_face); cairo_operator_t cairo_get_operator(cairo_t *cr); cairo_pattern_t *cairo_get_source(cairo_t *cr); double cairo_get_tolerance(cairo_t *cr); cairo_antialias_t cairo_get_antialias(cairo_t *cr); cairo_bool_t cairo_has_current_point(cairo_t *cr); void cairo_get_current_point(cairo_t *cr, double *x, double *y); cairo_fill_rule_t cairo_get_fill_rule(cairo_t *cr); double cairo_get_line_width(cairo_t *cr); cairo_line_cap_t cairo_get_line_cap(cairo_t *cr); cairo_line_join_t cairo_get_line_join(cairo_t *cr); double cairo_get_miter_limit(cairo_t *cr); int cairo_get_dash_count(cairo_t *cr); void cairo_get_dash(cairo_t *cr, double *dashes, double *offset); void cairo_get_matrix(cairo_t *cr, cairo_matrix_t *matrix); cairo_surface_t *cairo_get_target(cairo_t *cr); cairo_surface_t *cairo_get_group_target(cairo_t *cr); typedef enum _cairo_path_data_type {CAIRO_PATH_MOVE_TO, CAIRO_PATH_LINE_TO, CAIRO_PATH_CURVE_TO, CAIRO_PATH_CLOSE_PATH} cairo_path_data_type_t; typedef union _cairo_path_data_t cairo_path_data_t; union _cairo_path_data_t { struct { cairo_path_data_type_t type; int length; } header; struct { double x; double y; } point; }; typedef struct cairo_path { cairo_status_t status; cairo_path_data_t *data; int num_data; } cairo_path_t; cairo_path_t *cairo_copy_path(cairo_t *cr); cairo_path_t *cairo_copy_path_flat(cairo_t *cr); void cairo_append_path(cairo_t *cr, const cairo_path_t *path); void cairo_path_destroy(cairo_path_t *path); cairo_status_t cairo_status(cairo_t *cr); const char *cairo_status_to_string(cairo_status_t status); cairo_device_t *cairo_device_reference(cairo_device_t *device); typedef enum _cairo_device_type {CAIRO_DEVICE_TYPE_DRM, CAIRO_DEVICE_TYPE_GL, CAIRO_DEVICE_TYPE_SCRIPT, CAIRO_DEVICE_TYPE_XCB, CAIRO_DEVICE_TYPE_XLIB, CAIRO_DEVICE_TYPE_XML, CAIRO_DEVICE_TYPE_COGL, CAIRO_DEVICE_TYPE_WIN32, CAIRO_DEVICE_TYPE_INVALID = -1} cairo_device_type_t; cairo_device_type_t cairo_device_get_type(cairo_device_t *device); cairo_status_t cairo_device_status(cairo_device_t *device); cairo_status_t cairo_device_acquire(cairo_device_t *device); void cairo_device_release(cairo_device_t *device); void cairo_device_flush(cairo_device_t *device); void cairo_device_finish(cairo_device_t *device); void cairo_device_destroy(cairo_device_t *device); unsigned int cairo_device_get_reference_count(cairo_device_t *device); void *cairo_device_get_user_data(cairo_device_t *device, const cairo_user_data_key_t *key); cairo_status_t cairo_device_set_user_data(cairo_device_t *device, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); cairo_surface_t *cairo_surface_create_similar(cairo_surface_t *other, cairo_content_t content, int width, int height); cairo_surface_t *cairo_surface_create_similar_image(cairo_surface_t *other, cairo_format_t format, int width, int height); cairo_surface_t *cairo_surface_map_to_image(cairo_surface_t *surface, const cairo_rectangle_int_t *extents); void cairo_surface_unmap_image(cairo_surface_t *surface, cairo_surface_t *image); cairo_surface_t *cairo_surface_create_for_rectangle(cairo_surface_t *target, double x, double y, double width, double height); typedef enum {CAIRO_SURFACE_OBSERVER_NORMAL = 0, CAIRO_SURFACE_OBSERVER_RECORD_OPERATIONS = 0x1} cairo_surface_observer_mode_t; cairo_surface_t *cairo_surface_create_observer(cairo_surface_t *target, cairo_surface_observer_mode_t mode); typedef void (*cairo_surface_observer_callback_t)(cairo_surface_t *observer, cairo_surface_t *target, void *data); cairo_status_t cairo_surface_observer_add_paint_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_add_mask_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_add_fill_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_add_stroke_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_add_glyphs_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_add_flush_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_add_finish_callback(cairo_surface_t *abstract_surface, cairo_surface_observer_callback_t func, void *data); cairo_status_t cairo_surface_observer_print(cairo_surface_t *surface, cairo_write_func_t write_func, void *closure); double cairo_surface_observer_elapsed(cairo_surface_t *surface); cairo_status_t cairo_device_observer_print(cairo_device_t *device, cairo_write_func_t write_func, void *closure); double cairo_device_observer_elapsed(cairo_device_t *device); double cairo_device_observer_paint_elapsed(cairo_device_t *device); double cairo_device_observer_mask_elapsed(cairo_device_t *device); double cairo_device_observer_fill_elapsed(cairo_device_t *device); double cairo_device_observer_stroke_elapsed(cairo_device_t *device); double cairo_device_observer_glyphs_elapsed(cairo_device_t *device); cairo_surface_t *cairo_surface_reference(cairo_surface_t *surface); void cairo_surface_finish(cairo_surface_t *surface); void cairo_surface_destroy(cairo_surface_t *surface); cairo_device_t *cairo_surface_get_device(cairo_surface_t *surface); unsigned int cairo_surface_get_reference_count(cairo_surface_t *surface); cairo_status_t cairo_surface_status(cairo_surface_t *surface); typedef enum _cairo_surface_type {CAIRO_SURFACE_TYPE_IMAGE, CAIRO_SURFACE_TYPE_PDF, CAIRO_SURFACE_TYPE_PS, CAIRO_SURFACE_TYPE_XLIB, CAIRO_SURFACE_TYPE_XCB, CAIRO_SURFACE_TYPE_GLITZ, CAIRO_SURFACE_TYPE_QUARTZ, CAIRO_SURFACE_TYPE_WIN32, CAIRO_SURFACE_TYPE_BEOS, CAIRO_SURFACE_TYPE_DIRECTFB, CAIRO_SURFACE_TYPE_SVG, CAIRO_SURFACE_TYPE_OS2, CAIRO_SURFACE_TYPE_WIN32_PRINTING, CAIRO_SURFACE_TYPE_QUARTZ_IMAGE, CAIRO_SURFACE_TYPE_SCRIPT, CAIRO_SURFACE_TYPE_QT, CAIRO_SURFACE_TYPE_RECORDING, CAIRO_SURFACE_TYPE_VG, CAIRO_SURFACE_TYPE_GL, CAIRO_SURFACE_TYPE_DRM, CAIRO_SURFACE_TYPE_TEE, CAIRO_SURFACE_TYPE_XML, CAIRO_SURFACE_TYPE_SKIA, CAIRO_SURFACE_TYPE_SUBSURFACE, CAIRO_SURFACE_TYPE_COGL} cairo_surface_type_t; cairo_surface_type_t cairo_surface_get_type(cairo_surface_t *surface); cairo_content_t cairo_surface_get_content(cairo_surface_t *surface); cairo_status_t cairo_surface_write_to_png(cairo_surface_t *surface, const char *filename); cairo_status_t cairo_surface_write_to_png_stream(cairo_surface_t *surface, cairo_write_func_t write_func, void *closure); void *cairo_surface_get_user_data(cairo_surface_t *surface, const cairo_user_data_key_t *key); cairo_status_t cairo_surface_set_user_data(cairo_surface_t *surface, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); void cairo_surface_get_mime_data(cairo_surface_t *surface, const char *mime_type, const unsigned char **data, unsigned long *length); cairo_status_t cairo_surface_set_mime_data(cairo_surface_t *surface, const char *mime_type, const unsigned char *data, unsigned long length, cairo_destroy_func_t destroy, void *closure); cairo_bool_t cairo_surface_supports_mime_type(cairo_surface_t *surface, const char *mime_type); void cairo_surface_get_font_options(cairo_surface_t *surface, cairo_font_options_t *options); void cairo_surface_flush(cairo_surface_t *surface); void cairo_surface_mark_dirty(cairo_surface_t *surface); void cairo_surface_mark_dirty_rectangle(cairo_surface_t *surface, int x, int y, int width, int height); void cairo_surface_set_device_offset(cairo_surface_t *surface, double x_offset, double y_offset); void cairo_surface_get_device_offset(cairo_surface_t *surface, double *x_offset, double *y_offset); void cairo_surface_set_fallback_resolution(cairo_surface_t *surface, double x_pixels_per_inch, double y_pixels_per_inch); void cairo_surface_get_fallback_resolution(cairo_surface_t *surface, double *x_pixels_per_inch, double *y_pixels_per_inch); void cairo_surface_copy_page(cairo_surface_t *surface); void cairo_surface_show_page(cairo_surface_t *surface); cairo_bool_t cairo_surface_has_show_text_glyphs(cairo_surface_t *surface); cairo_surface_t *cairo_image_surface_create(cairo_format_t format, int width, int height); int cairo_format_stride_for_width(cairo_format_t format, int width); cairo_surface_t *cairo_image_surface_create_for_data(unsigned char *data, cairo_format_t format, int width, int height, int stride); unsigned char *cairo_image_surface_get_data(cairo_surface_t *surface); cairo_format_t cairo_image_surface_get_format(cairo_surface_t *surface); int cairo_image_surface_get_width(cairo_surface_t *surface); int cairo_image_surface_get_height(cairo_surface_t *surface); int cairo_image_surface_get_stride(cairo_surface_t *surface); cairo_surface_t *cairo_image_surface_create_from_png(const char *filename); cairo_surface_t *cairo_image_surface_create_from_png_stream(cairo_read_func_t read_func, void *closure); cairo_surface_t *cairo_recording_surface_create(cairo_content_t content, const cairo_rectangle_t *extents); void cairo_recording_surface_ink_extents(cairo_surface_t *surface, double *x0, double *y0, double *width, double *height); cairo_bool_t cairo_recording_surface_get_extents(cairo_surface_t *surface, cairo_rectangle_t *extents); typedef cairo_surface_t *(*cairo_raster_source_acquire_func_t)(cairo_pattern_t *pattern, void *callback_data, cairo_surface_t *target, const cairo_rectangle_int_t *extents); typedef void (*cairo_raster_source_release_func_t)(cairo_pattern_t *pattern, void *callback_data, cairo_surface_t *surface); typedef cairo_status_t (*cairo_raster_source_snapshot_func_t)(cairo_pattern_t *pattern, void *callback_data); typedef cairo_status_t (*cairo_raster_source_copy_func_t)(cairo_pattern_t *pattern, void *callback_data, const cairo_pattern_t *other); typedef void (*cairo_raster_source_finish_func_t)(cairo_pattern_t *pattern, void *callback_data); cairo_pattern_t *cairo_pattern_create_raster_source(void *user_data, cairo_content_t content, int width, int height); void cairo_raster_source_pattern_set_callback_data(cairo_pattern_t *pattern, void *data); void *cairo_raster_source_pattern_get_callback_data(cairo_pattern_t *pattern); void cairo_raster_source_pattern_set_acquire(cairo_pattern_t *pattern, cairo_raster_source_acquire_func_t acquire, cairo_raster_source_release_func_t release); void cairo_raster_source_pattern_get_acquire(cairo_pattern_t *pattern, cairo_raster_source_acquire_func_t *acquire, cairo_raster_source_release_func_t *release); void cairo_raster_source_pattern_set_snapshot(cairo_pattern_t *pattern, cairo_raster_source_snapshot_func_t snapshot); cairo_raster_source_snapshot_func_t cairo_raster_source_pattern_get_snapshot(cairo_pattern_t *pattern); void cairo_raster_source_pattern_set_copy(cairo_pattern_t *pattern, cairo_raster_source_copy_func_t copy); cairo_raster_source_copy_func_t cairo_raster_source_pattern_get_copy(cairo_pattern_t *pattern); void cairo_raster_source_pattern_set_finish(cairo_pattern_t *pattern, cairo_raster_source_finish_func_t finish); cairo_raster_source_finish_func_t cairo_raster_source_pattern_get_finish(cairo_pattern_t *pattern); cairo_pattern_t *cairo_pattern_create_rgb(double red, double green, double blue); cairo_pattern_t *cairo_pattern_create_rgba(double red, double green, double blue, double alpha); cairo_pattern_t *cairo_pattern_create_for_surface(cairo_surface_t *surface); cairo_pattern_t *cairo_pattern_create_linear(double x0, double y0, double x1, double y1); cairo_pattern_t *cairo_pattern_create_radial(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1); cairo_pattern_t *cairo_pattern_create_mesh(void); cairo_pattern_t *cairo_pattern_reference(cairo_pattern_t *pattern); void cairo_pattern_destroy(cairo_pattern_t *pattern); unsigned int cairo_pattern_get_reference_count(cairo_pattern_t *pattern); cairo_status_t cairo_pattern_status(cairo_pattern_t *pattern); void *cairo_pattern_get_user_data(cairo_pattern_t *pattern, const cairo_user_data_key_t *key); cairo_status_t cairo_pattern_set_user_data(cairo_pattern_t *pattern, const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy); typedef enum _cairo_pattern_type {CAIRO_PATTERN_TYPE_SOLID, CAIRO_PATTERN_TYPE_SURFACE, CAIRO_PATTERN_TYPE_LINEAR, CAIRO_PATTERN_TYPE_RADIAL, CAIRO_PATTERN_TYPE_MESH, CAIRO_PATTERN_TYPE_RASTER_SOURCE} cairo_pattern_type_t; cairo_pattern_type_t cairo_pattern_get_type(cairo_pattern_t *pattern); void cairo_pattern_add_color_stop_rgb(cairo_pattern_t *pattern, double offset, double red, double green, double blue); void cairo_pattern_add_color_stop_rgba(cairo_pattern_t *pattern, double offset, double red, double green, double blue, double alpha); void cairo_mesh_pattern_begin_patch(cairo_pattern_t *pattern); void cairo_mesh_pattern_end_patch(cairo_pattern_t *pattern); void cairo_mesh_pattern_curve_to(cairo_pattern_t *pattern, double x1, double y1, double x2, double y2, double x3, double y3); void cairo_mesh_pattern_line_to(cairo_pattern_t *pattern, double x, double y); void cairo_mesh_pattern_move_to(cairo_pattern_t *pattern, double x, double y); void cairo_mesh_pattern_set_control_point(cairo_pattern_t *pattern, unsigned int point_num, double x, double y); void cairo_mesh_pattern_set_corner_color_rgb(cairo_pattern_t *pattern, unsigned int corner_num, double red, double green, double blue); void cairo_mesh_pattern_set_corner_color_rgba(cairo_pattern_t *pattern, unsigned int corner_num, double red, double green, double blue, double alpha); void cairo_pattern_set_matrix(cairo_pattern_t *pattern, const cairo_matrix_t *matrix); void cairo_pattern_get_matrix(cairo_pattern_t *pattern, cairo_matrix_t *matrix); typedef enum _cairo_extend {CAIRO_EXTEND_NONE, CAIRO_EXTEND_REPEAT, CAIRO_EXTEND_REFLECT, CAIRO_EXTEND_PAD} cairo_extend_t; void cairo_pattern_set_extend(cairo_pattern_t *pattern, cairo_extend_t extend); cairo_extend_t cairo_pattern_get_extend(cairo_pattern_t *pattern); typedef enum _cairo_filter {CAIRO_FILTER_FAST, CAIRO_FILTER_GOOD, CAIRO_FILTER_BEST, CAIRO_FILTER_NEAREST, CAIRO_FILTER_BILINEAR, CAIRO_FILTER_GAUSSIAN} cairo_filter_t; void cairo_pattern_set_filter(cairo_pattern_t *pattern, cairo_filter_t filter); cairo_filter_t cairo_pattern_get_filter(cairo_pattern_t *pattern); cairo_status_t cairo_pattern_get_rgba(cairo_pattern_t *pattern, double *red, double *green, double *blue, double *alpha); cairo_status_t cairo_pattern_get_surface(cairo_pattern_t *pattern, cairo_surface_t **surface); cairo_status_t cairo_pattern_get_color_stop_rgba(cairo_pattern_t *pattern, int index, double *offset, double *red, double *green, double *blue, double *alpha); cairo_status_t cairo_pattern_get_color_stop_count(cairo_pattern_t *pattern, int *count); cairo_status_t cairo_pattern_get_linear_points(cairo_pattern_t *pattern, double *x0, double *y0, double *x1, double *y1); cairo_status_t cairo_pattern_get_radial_circles(cairo_pattern_t *pattern, double *x0, double *y0, double *r0, double *x1, double *y1, double *r1); cairo_status_t cairo_mesh_pattern_get_patch_count(cairo_pattern_t *pattern, unsigned int *count); cairo_path_t *cairo_mesh_pattern_get_path(cairo_pattern_t *pattern, unsigned int patch_num); cairo_status_t cairo_mesh_pattern_get_corner_color_rgba(cairo_pattern_t *pattern, unsigned int patch_num, unsigned int corner_num, double *red, double *green, double *blue, double *alpha); cairo_status_t cairo_mesh_pattern_get_control_point(cairo_pattern_t *pattern, unsigned int patch_num, unsigned int point_num, double *x, double *y); void cairo_matrix_init(cairo_matrix_t *matrix, double xx, double yx, double xy, double yy, double x0, double y0); void cairo_matrix_init_identity(cairo_matrix_t *matrix); void cairo_matrix_init_translate(cairo_matrix_t *matrix, double tx, double ty); void cairo_matrix_init_scale(cairo_matrix_t *matrix, double sx, double sy); void cairo_matrix_init_rotate(cairo_matrix_t *matrix, double radians); void cairo_matrix_translate(cairo_matrix_t *matrix, double tx, double ty); void cairo_matrix_scale(cairo_matrix_t *matrix, double sx, double sy); void cairo_matrix_rotate(cairo_matrix_t *matrix, double radians); cairo_status_t cairo_matrix_invert(cairo_matrix_t *matrix); void cairo_matrix_multiply(cairo_matrix_t *result, const cairo_matrix_t *a, const cairo_matrix_t *b); void cairo_matrix_transform_distance(const cairo_matrix_t *matrix, double *dx, double *dy); void cairo_matrix_transform_point(const cairo_matrix_t *matrix, double *x, double *y); typedef struct _cairo_region cairo_region_t; typedef enum _cairo_region_overlap {CAIRO_REGION_OVERLAP_IN, CAIRO_REGION_OVERLAP_OUT, CAIRO_REGION_OVERLAP_PART} cairo_region_overlap_t; cairo_region_t *cairo_region_create(void); cairo_region_t *cairo_region_create_rectangle(const cairo_rectangle_int_t *rectangle); cairo_region_t *cairo_region_create_rectangles(const cairo_rectangle_int_t *rects, int count); cairo_region_t *cairo_region_copy(const cairo_region_t *original); cairo_region_t *cairo_region_reference(cairo_region_t *region); void cairo_region_destroy(cairo_region_t *region); cairo_bool_t cairo_region_equal(const cairo_region_t *a, const cairo_region_t *b); cairo_status_t cairo_region_status(const cairo_region_t *region); void cairo_region_get_extents(const cairo_region_t *region, cairo_rectangle_int_t *extents); int cairo_region_num_rectangles(const cairo_region_t *region); void cairo_region_get_rectangle(const cairo_region_t *region, int nth, cairo_rectangle_int_t *rectangle); cairo_bool_t cairo_region_is_empty(const cairo_region_t *region); cairo_region_overlap_t cairo_region_contains_rectangle(const cairo_region_t *region, const cairo_rectangle_int_t *rectangle); cairo_bool_t cairo_region_contains_point(const cairo_region_t *region, int x, int y); void cairo_region_translate(cairo_region_t *region, int dx, int dy); cairo_status_t cairo_region_subtract(cairo_region_t *dst, const cairo_region_t *other); cairo_status_t cairo_region_subtract_rectangle(cairo_region_t *dst, const cairo_rectangle_int_t *rectangle); cairo_status_t cairo_region_intersect(cairo_region_t *dst, const cairo_region_t *other); cairo_status_t cairo_region_intersect_rectangle(cairo_region_t *dst, const cairo_rectangle_int_t *rectangle); cairo_status_t cairo_region_union(cairo_region_t *dst, const cairo_region_t *other); cairo_status_t cairo_region_union_rectangle(cairo_region_t *dst, const cairo_rectangle_int_t *rectangle); cairo_status_t cairo_region_xor(cairo_region_t *dst, const cairo_region_t *other); cairo_status_t cairo_region_xor_rectangle(cairo_region_t *dst, const cairo_rectangle_int_t *rectangle); void cairo_debug_reset_static_data(void); typedef enum _cairo_pdf_version {CAIRO_PDF_VERSION_1_4, CAIRO_PDF_VERSION_1_5} cairo_pdf_version_t; cairo_surface_t *cairo_pdf_surface_create(const char *filename, double width_in_points, double height_in_points); cairo_surface_t *cairo_pdf_surface_create_for_stream(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points); void cairo_pdf_surface_restrict_to_version(cairo_surface_t *surface, cairo_pdf_version_t version); void cairo_pdf_get_versions(const cairo_pdf_version_t **versions, int *num_versions); const char *cairo_pdf_version_to_string(cairo_pdf_version_t version); void cairo_pdf_surface_set_size(cairo_surface_t *surface, double width_in_points, double height_in_points); typedef enum _cairo_ps_level {CAIRO_PS_LEVEL_2, CAIRO_PS_LEVEL_3} cairo_ps_level_t; cairo_surface_t *cairo_ps_surface_create(const char *filename, double width_in_points, double height_in_points); cairo_surface_t *cairo_ps_surface_create_for_stream(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points); void cairo_ps_surface_restrict_to_level(cairo_surface_t *surface, cairo_ps_level_t level); void cairo_ps_get_levels(const cairo_ps_level_t **levels, int *num_levels); const char *cairo_ps_level_to_string(cairo_ps_level_t level); void cairo_ps_surface_set_eps(cairo_surface_t *surface, cairo_bool_t eps); cairo_bool_t cairo_ps_surface_get_eps(cairo_surface_t *surface); void cairo_ps_surface_set_size(cairo_surface_t *surface, double width_in_points, double height_in_points); void cairo_ps_surface_dsc_comment(cairo_surface_t *surface, const char *comment); void cairo_ps_surface_dsc_begin_setup(cairo_surface_t *surface); void cairo_ps_surface_dsc_begin_page_setup(cairo_surface_t *surface); typedef enum _cairo_svg_version {CAIRO_SVG_VERSION_1_1, CAIRO_SVG_VERSION_1_2} cairo_svg_version_t; cairo_surface_t *cairo_svg_surface_create(const char *filename, double width_in_points, double height_in_points); cairo_surface_t *cairo_svg_surface_create_for_stream(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points); void cairo_svg_surface_restrict_to_version(cairo_surface_t *surface, cairo_svg_version_t version); void cairo_svg_get_versions(const cairo_svg_version_t **versions, int *num_versions); const char *cairo_svg_version_to_string(cairo_svg_version_t version); """