diff options
Diffstat (limited to 'bindings/lazcairo1.pas')
| -rw-r--r-- | bindings/lazcairo1.pas | 865 |
1 files changed, 865 insertions, 0 deletions
diff --git a/bindings/lazcairo1.pas b/bindings/lazcairo1.pas new file mode 100644 index 0000000..19a759f --- /dev/null +++ b/bindings/lazcairo1.pas @@ -0,0 +1,865 @@ +{ This is an autogenerated unit using gobject introspection (gir2pascal). Do not Edit. } +unit Lazcairo1; + +{$MODE OBJFPC}{$H+} + +{$PACKRECORDS C} +{$MODESWITCH DUPLICATELOCALS+} + +{$ifdef Unix} +{$LINKLIB libcairo-gobject.so.2} +{$endif} +{$WARN 3031 off : Values in enumeration types have to be ascending} +interface +uses + CTypes; + +const + {$ifdef MsWindows} + Lazcairo1_library = 'libcairo-gobject.so.dll'; + {$else} + Lazcairo1_library = 'libcairo-gobject.so.2'; + {$endif} + +type + Pcairo_bool_t = ^TCairo_bool_t; + TCairo_bool_t = LongInt; + Tcairo_status_t = ( + Tcairo_status_tMinValue = -$7FFFFFFF, + 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, + Tcairo_status_tMaxValue = $7FFFFFFF + ); + Tcairo_content_t = ( + Tcairo_content_tMinValue = -$7FFFFFFF, + CAIRO_CONTENT_COLOR = 4096, + CAIRO_CONTENT_ALPHA = 8192, + CAIRO_CONTENT_COLOR_ALPHA = 12288, + Tcairo_content_tMaxValue = $7FFFFFFF + ); + Tcairo_operator_t = ( + Tcairo_operator_tMinValue = -$7FFFFFFF, + 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, + Tcairo_operator_tMaxValue = $7FFFFFFF + ); + Tcairo_antialias_t = ( + Tcairo_antialias_tMinValue = -$7FFFFFFF, + CAIRO_ANTIALIAS_DEFAULT = 0, + CAIRO_ANTIALIAS_NONE = 1, + CAIRO_ANTIALIAS_GRAY = 2, + CAIRO_ANTIALIAS_SUBPIXEL = 3, + CAIRO_ANTIALIAS_FAST = 4, + CAIRO_ANTIALIAS_GOOD = 5, + CAIRO_ANTIALIAS_BEST = 6, + Tcairo_antialias_tMaxValue = $7FFFFFFF + ); + Tcairo_fill_rule_t = ( + Tcairo_fill_rule_tMinValue = -$7FFFFFFF, + CAIRO_FILL_RULE_WINDING = 0, + CAIRO_FILL_RULE_EVEN_ODD = 1, + Tcairo_fill_rule_tMaxValue = $7FFFFFFF + ); + Tcairo_line_cap_t = ( + Tcairo_line_cap_tMinValue = -$7FFFFFFF, + CAIRO_LINE_CAP_BUTT = 0, + CAIRO_LINE_CAP_ROUND = 1, + CAIRO_LINE_CAP_SQUARE = 2, + Tcairo_line_cap_tMaxValue = $7FFFFFFF + ); + Tcairo_line_join_t = ( + Tcairo_line_join_tMinValue = -$7FFFFFFF, + CAIRO_LINE_JOIN_MITER = 0, + CAIRO_LINE_JOIN_ROUND = 1, + CAIRO_LINE_JOIN_BEVEL = 2, + Tcairo_line_join_tMaxValue = $7FFFFFFF + ); + Tcairo_text_cluster_flags_t = ( + Tcairo_text_cluster_flags_tMinValue = -$7FFFFFFF, + CAIRO_TEXT_CLUSTER_FLAG_BACKWARD = 1, + Tcairo_text_cluster_flags_tMaxValue = $7FFFFFFF + ); + Tcairo_font_slant_t = ( + Tcairo_font_slant_tMinValue = -$7FFFFFFF, + CAIRO_FONT_SLANT_NORMAL = 0, + CAIRO_FONT_SLANT_ITALIC = 1, + CAIRO_FONT_SLANT_OBLIQUE = 2, + Tcairo_font_slant_tMaxValue = $7FFFFFFF + ); + Tcairo_font_weight_t = ( + Tcairo_font_weight_tMinValue = -$7FFFFFFF, + CAIRO_FONT_WEIGHT_NORMAL = 0, + CAIRO_FONT_WEIGHT_BOLD = 1, + Tcairo_font_weight_tMaxValue = $7FFFFFFF + ); + Tcairo_subpixel_order_t = ( + Tcairo_subpixel_order_tMinValue = -$7FFFFFFF, + CAIRO_SUBPIXEL_ORDER_DEFAULT = 0, + CAIRO_SUBPIXEL_ORDER_RGB = 1, + CAIRO_SUBPIXEL_ORDER_BGR = 2, + CAIRO_SUBPIXEL_ORDER_VRGB = 3, + CAIRO_SUBPIXEL_ORDER_VBGR = 4, + Tcairo_subpixel_order_tMaxValue = $7FFFFFFF + ); + Tcairo_hint_style_t = ( + Tcairo_hint_style_tMinValue = -$7FFFFFFF, + CAIRO_HINT_STYLE_DEFAULT = 0, + CAIRO_HINT_STYLE_NONE = 1, + CAIRO_HINT_STYLE_SLIGHT = 2, + CAIRO_HINT_STYLE_MEDIUM = 3, + CAIRO_HINT_STYLE_FULL = 4, + Tcairo_hint_style_tMaxValue = $7FFFFFFF + ); + Tcairo_hint_metrics_t = ( + Tcairo_hint_metrics_tMinValue = -$7FFFFFFF, + CAIRO_HINT_METRICS_DEFAULT = 0, + CAIRO_HINT_METRICS_OFF = 1, + CAIRO_HINT_METRICS_ON = 2, + Tcairo_hint_metrics_tMaxValue = $7FFFFFFF + ); + Tcairo_font_type_t = ( + Tcairo_font_type_tMinValue = -$7FFFFFFF, + CAIRO_FONT_TYPE_TOY = 0, + CAIRO_FONT_TYPE_FT = 1, + CAIRO_FONT_TYPE_WIN32 = 2, + CAIRO_FONT_TYPE_QUARTZ = 3, + CAIRO_FONT_TYPE_USER = 4, + Tcairo_font_type_tMaxValue = $7FFFFFFF + ); + Tcairo_path_data_type_t = ( + Tcairo_path_data_type_tMinValue = -$7FFFFFFF, + CAIRO_PATH_MOVE_TO = 0, + CAIRO_PATH_LINE_TO = 1, + CAIRO_PATH_CURVE_TO = 2, + CAIRO_PATH_CLOSE_PATH = 3, + Tcairo_path_data_type_tMaxValue = $7FFFFFFF + ); + Tcairo_device_type_t = ( + Tcairo_device_type_tMinValue = -$7FFFFFFF, + CAIRO_DEVICE_TYPE_INVALID = -1, + CAIRO_DEVICE_TYPE_DRM = 0, + CAIRO_DEVICE_TYPE_GL = 1, + CAIRO_DEVICE_TYPE_SCRIPT = 2, + CAIRO_DEVICE_TYPE_XCB = 3, + CAIRO_DEVICE_TYPE_XLIB = 4, + CAIRO_DEVICE_TYPE_XML = 5, + CAIRO_DEVICE_TYPE_COGL = 6, + CAIRO_DEVICE_TYPE_WIN32 = 7, + Tcairo_device_type_tMaxValue = $7FFFFFFF + ); + Tcairo_surface_type_t = ( + Tcairo_surface_type_tMinValue = -$7FFFFFFF, + CAIRO_SURFACE_TYPE_IMAGE = 0, + CAIRO_SURFACE_TYPE_PDF = 1, + CAIRO_SURFACE_TYPE_PS = 2, + CAIRO_SURFACE_TYPE_XLIB = 3, + CAIRO_SURFACE_TYPE_XCB = 4, + CAIRO_SURFACE_TYPE_GLITZ = 5, + CAIRO_SURFACE_TYPE_QUARTZ = 6, + CAIRO_SURFACE_TYPE_WIN32 = 7, + CAIRO_SURFACE_TYPE_BEOS = 8, + CAIRO_SURFACE_TYPE_DIRECTFB = 9, + CAIRO_SURFACE_TYPE_SVG = 10, + CAIRO_SURFACE_TYPE_OS2 = 11, + CAIRO_SURFACE_TYPE_WIN32_PRINTING = 12, + CAIRO_SURFACE_TYPE_QUARTZ_IMAGE = 13, + CAIRO_SURFACE_TYPE_SCRIPT = 14, + CAIRO_SURFACE_TYPE_QT = 15, + CAIRO_SURFACE_TYPE_RECORDING = 16, + CAIRO_SURFACE_TYPE_VG = 17, + CAIRO_SURFACE_TYPE_GL = 18, + CAIRO_SURFACE_TYPE_DRM = 19, + CAIRO_SURFACE_TYPE_TEE = 20, + CAIRO_SURFACE_TYPE_XML = 21, + CAIRO_SURFACE_TYPE_SKIA = 22, + CAIRO_SURFACE_TYPE_SUBSURFACE = 23, + CAIRO_SURFACE_TYPE_COGL = 24, + Tcairo_surface_type_tMaxValue = $7FFFFFFF + ); + Tcairo_format_t = ( + Tcairo_format_tMinValue = -$7FFFFFFF, + 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, + Tcairo_format_tMaxValue = $7FFFFFFF + ); + Tcairo_pattern_type_t = ( + Tcairo_pattern_type_tMinValue = -$7FFFFFFF, + CAIRO_PATTERN_TYPE_SOLID = 0, + CAIRO_PATTERN_TYPE_SURFACE = 1, + CAIRO_PATTERN_TYPE_LINEAR = 2, + CAIRO_PATTERN_TYPE_RADIAL = 3, + CAIRO_PATTERN_TYPE_MESH = 4, + CAIRO_PATTERN_TYPE_RASTER_SOURCE = 5, + Tcairo_pattern_type_tMaxValue = $7FFFFFFF + ); + Tcairo_extend_t = ( + Tcairo_extend_tMinValue = -$7FFFFFFF, + CAIRO_EXTEND_NONE = 0, + CAIRO_EXTEND_REPEAT = 1, + CAIRO_EXTEND_REFLECT = 2, + CAIRO_EXTEND_PAD = 3, + Tcairo_extend_tMaxValue = $7FFFFFFF + ); + Tcairo_filter_t = ( + Tcairo_filter_tMinValue = -$7FFFFFFF, + CAIRO_FILTER_FAST = 0, + CAIRO_FILTER_GOOD = 1, + CAIRO_FILTER_BEST = 2, + CAIRO_FILTER_NEAREST = 3, + CAIRO_FILTER_BILINEAR = 4, + CAIRO_FILTER_GAUSSIAN = 5, + Tcairo_filter_tMaxValue = $7FFFFFFF + ); + Tcairo_region_overlap_t = ( + Tcairo_region_overlap_tMinValue = -$7FFFFFFF, + CAIRO_REGION_OVERLAP_IN = 0, + CAIRO_REGION_OVERLAP_OUT = 1, + CAIRO_REGION_OVERLAP_PART = 2, + Tcairo_region_overlap_tMaxValue = $7FFFFFFF + ); +type + + + { Tcairo_t } + PPcairo_t = ^Pcairo_t; + Pcairo_t = ^Tcairo_t; + Tcairo_t = object + end; + + + { Tcairo_device_t } + PPcairo_device_t = ^Pcairo_device_t; + Pcairo_device_t = ^Tcairo_device_t; + Tcairo_device_t = object + end; + + + { Tcairo_surface_t } + PPcairo_surface_t = ^Pcairo_surface_t; + Pcairo_surface_t = ^Tcairo_surface_t; + Tcairo_surface_t = object + end; + + + { Tcairo_matrix_t } + PPcairo_matrix_t = ^Pcairo_matrix_t; + Pcairo_matrix_t = ^Tcairo_matrix_t; + + Tcairo_matrix_t = record + xx : Double; + yx : Double; + xy : Double; + yy : Double; + x0 : Double; + y0 : Double; + end; + + + + + { Tcairo_pattern_t } + PPcairo_pattern_t = ^Pcairo_pattern_t; + Pcairo_pattern_t = ^Tcairo_pattern_t; + Tcairo_pattern_t = object + end; + + + { Tcairo_region_t } + PPcairo_region_t = ^Pcairo_region_t; + Pcairo_region_t = ^Tcairo_region_t; + Tcairo_region_t = object + end; + + + { Tcairo_status_t } + PPcairo_status_t = ^Pcairo_status_t; + Pcairo_status_t = ^Tcairo_status_t; + + + { Tcairo_content_t } + PPcairo_content_t = ^Pcairo_content_t; + Pcairo_content_t = ^Tcairo_content_t; + + + { Tcairo_operator_t } + PPcairo_operator_t = ^Pcairo_operator_t; + Pcairo_operator_t = ^Tcairo_operator_t; + + + { Tcairo_antialias_t } + PPcairo_antialias_t = ^Pcairo_antialias_t; + Pcairo_antialias_t = ^Tcairo_antialias_t; + + + { Tcairo_fill_rule_t } + PPcairo_fill_rule_t = ^Pcairo_fill_rule_t; + Pcairo_fill_rule_t = ^Tcairo_fill_rule_t; + + + { Tcairo_line_cap_t } + PPcairo_line_cap_t = ^Pcairo_line_cap_t; + Pcairo_line_cap_t = ^Tcairo_line_cap_t; + + + { Tcairo_line_join_t } + PPcairo_line_join_t = ^Pcairo_line_join_t; + Pcairo_line_join_t = ^Tcairo_line_join_t; + + + { Tcairo_text_cluster_flags_t } + PPcairo_text_cluster_flags_t = ^Pcairo_text_cluster_flags_t; + Pcairo_text_cluster_flags_t = ^Tcairo_text_cluster_flags_t; + + + { Tcairo_font_slant_t } + PPcairo_font_slant_t = ^Pcairo_font_slant_t; + Pcairo_font_slant_t = ^Tcairo_font_slant_t; + + + { Tcairo_font_weight_t } + PPcairo_font_weight_t = ^Pcairo_font_weight_t; + Pcairo_font_weight_t = ^Tcairo_font_weight_t; + + + { Tcairo_subpixel_order_t } + PPcairo_subpixel_order_t = ^Pcairo_subpixel_order_t; + Pcairo_subpixel_order_t = ^Tcairo_subpixel_order_t; + + + { Tcairo_hint_style_t } + PPcairo_hint_style_t = ^Pcairo_hint_style_t; + Pcairo_hint_style_t = ^Tcairo_hint_style_t; + + + { Tcairo_hint_metrics_t } + PPcairo_hint_metrics_t = ^Pcairo_hint_metrics_t; + Pcairo_hint_metrics_t = ^Tcairo_hint_metrics_t; + + + { Tcairo_font_options_t } + PPcairo_font_options_t = ^Pcairo_font_options_t; + Pcairo_font_options_t = ^Tcairo_font_options_t; + Tcairo_font_options_t = object + end; + + + { Tcairo_font_type_t } + PPcairo_font_type_t = ^Pcairo_font_type_t; + Pcairo_font_type_t = ^Tcairo_font_type_t; + + + { Tcairo_path_data_type_t } + PPcairo_path_data_type_t = ^Pcairo_path_data_type_t; + Pcairo_path_data_type_t = ^Tcairo_path_data_type_t; + + + { Tcairo_device_type_t } + PPcairo_device_type_t = ^Pcairo_device_type_t; + Pcairo_device_type_t = ^Tcairo_device_type_t; + + + { Tcairo_surface_type_t } + PPcairo_surface_type_t = ^Pcairo_surface_type_t; + Pcairo_surface_type_t = ^Tcairo_surface_type_t; + + + { Tcairo_format_t } + PPcairo_format_t = ^Pcairo_format_t; + Pcairo_format_t = ^Tcairo_format_t; + + + { Tcairo_pattern_type_t } + PPcairo_pattern_type_t = ^Pcairo_pattern_type_t; + Pcairo_pattern_type_t = ^Tcairo_pattern_type_t; + + + { Tcairo_extend_t } + PPcairo_extend_t = ^Pcairo_extend_t; + Pcairo_extend_t = ^Tcairo_extend_t; + + + { Tcairo_filter_t } + PPcairo_filter_t = ^Pcairo_filter_t; + Pcairo_filter_t = ^Tcairo_filter_t; + + + { Tcairo_region_overlap_t } + PPcairo_region_overlap_t = ^Pcairo_region_overlap_t; + Pcairo_region_overlap_t = ^Tcairo_region_overlap_t; + + + { Tcairo_font_face_t } + PPcairo_font_face_t = ^Pcairo_font_face_t; + Pcairo_font_face_t = ^Tcairo_font_face_t; + Tcairo_font_face_t = object + end; + + + { Tcairo_scaled_font_t } + PPcairo_scaled_font_t = ^Pcairo_scaled_font_t; + Pcairo_scaled_font_t = ^Tcairo_scaled_font_t; + Tcairo_scaled_font_t = object + end; + + + { Tcairo_path_t } + PPcairo_path_t = ^Pcairo_path_t; + Pcairo_path_t = ^Tcairo_path_t; + + Tcairo_path_t = record + end; + + + + + { Tcairo_rectangle_t } + PPcairo_rectangle_t = ^Pcairo_rectangle_t; + Pcairo_rectangle_t = ^Tcairo_rectangle_t; + + + { cdouble } + Pcdouble = ^cdouble; + Tcairo_rectangle_t = object + x: cdouble; + y: cdouble; + width: cdouble; + height: cdouble; + end; + + + { Tcairo_rectangle_int_t } + PPcairo_rectangle_int_t = ^Pcairo_rectangle_int_t; + Pcairo_rectangle_int_t = ^Tcairo_rectangle_int_t; + + + { cint } + Pcint = ^cint; + Tcairo_rectangle_int_t = object + x: cint; + y: cint; + width: cint; + height: cint; + end; + +function cairo_gobject_context_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_context_get_type'; +function cairo_gobject_device_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_device_get_type'; +function cairo_gobject_font_face_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_font_face_get_type'; +function cairo_gobject_font_options_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_font_options_get_type'; +function cairo_gobject_pattern_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_pattern_get_type'; +function cairo_gobject_rectangle_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_rectangle_get_type'; +function cairo_gobject_rectangle_int_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_rectangle_int_get_type'; +function cairo_gobject_region_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_region_get_type'; +function cairo_gobject_scaled_font_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_scaled_font_get_type'; +function cairo_gobject_surface_get_type: csize_t { TGType }; cdecl; external Lazcairo1_library name 'cairo_gobject_surface_get_type'; +procedure cairo_image_surface_create; cdecl; external Lazcairo1_library name 'cairo_image_surface_create'; + +{**** Manually added types and functions ****} + +{$ifdef Unix} +{$LINKLIB libcairo.so.2} +{$endif} + +const + LIB_CAIRO = Lazcairo1_library; + +function cairo_version: LongInt; cdecl; external LIB_CAIRO; +function cairo_version_string: PChar; cdecl; external LIB_CAIRO; +//Helper function to retrieve decoded version +//procedure cairo_version(out major, minor, micro: LongInt); + +(* Functions for manipulating state objects *) + +function cairo_create(target: Pcairo_surface_t): Pcairo_t; cdecl; external LIB_CAIRO; +function cairo_reference(cr: Pcairo_t): Pcairo_t; cdecl; external LIB_CAIRO; +procedure cairo_destroy(cr: Pcairo_t); cdecl; external; +function cairo_get_reference_count(cr: Pcairo_t): LongWord; cdecl; external LIB_CAIRO; +//function cairo_get_user_data(cr: Pcairo_t; key: Pcairo_user_data_key_t): pointer; cdecl; external LIB_CAIRO; +//function cairo_set_user_data(cr: PCairo_t; key: Pcairo_user_data_key_t; user_data: Pointer; destroy: Tcairo_destroy_func_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +procedure cairo_save(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_restore(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_push_group (cr: PCairo_t); cdecl; external LIB_CAIRO; +procedure cairo_push_group_with_content (cr: PCairo_t; content: Tcairo_content_t); cdecl; external LIB_CAIRO; +function cairo_pop_group (cr: PCairo_t): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +procedure cairo_pop_group_to_source (cr: PCairo_t); cdecl; external LIB_CAIRO; + +(* Modify state *) + +procedure cairo_set_operator(cr: Pcairo_t; op: Tcairo_operator_t); cdecl; external LIB_CAIRO; +procedure cairo_set_source(cr: Pcairo_t; source: Pcairo_pattern_t); cdecl; external LIB_CAIRO; +procedure cairo_set_source_rgb(cr: Pcairo_t; red, green, blue: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_source_rgba(cr: Pcairo_t; red, green, blue, alpha: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_source_surface(cr: Pcairo_t; surface: Pcairo_surface_t; x, y: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_tolerance(cr: Pcairo_t; tolerance: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_antialias(cr: Pcairo_t; antialias: Tcairo_antialias_t); cdecl; external LIB_CAIRO; +procedure cairo_set_fill_rule(cr: Pcairo_t; fill_rule: Tcairo_fill_rule_t); cdecl; external LIB_CAIRO; +procedure cairo_set_line_width(cr: Pcairo_t; width: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_line_cap(cr: Pcairo_t; line_cap: Tcairo_line_cap_t); cdecl; external LIB_CAIRO; +procedure cairo_set_line_join(cr: Pcairo_t; line_join: Tcairo_line_join_t); cdecl; external LIB_CAIRO; +procedure cairo_set_dash(cr: Pcairo_t; dashes: PDouble; num_dashes: LongInt; offset: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_miter_limit(cr: Pcairo_t; limit: Double); cdecl; external LIB_CAIRO; +procedure cairo_translate(cr: Pcairo_t; tx, ty: Double); cdecl; external LIB_CAIRO; +procedure cairo_scale(cr: Pcairo_t; sx, sy: Double); cdecl; external LIB_CAIRO; +procedure cairo_rotate(cr: Pcairo_t; angle: Double); cdecl; external LIB_CAIRO; +procedure cairo_transform(cr: Pcairo_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_set_matrix(cr: Pcairo_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_identity_matrix(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_user_to_device(cr: Pcairo_t; x, y: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_user_to_device_distance(cr: Pcairo_t; dx, dy: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_device_to_user(cr: Pcairo_t; x, y: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_device_to_user_distance(cr: Pcairo_t; dx, dy: PDouble); cdecl; external LIB_CAIRO; + +(* Path creation functions *) + +procedure cairo_new_path(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_move_to(cr: Pcairo_t; x, y: Double); cdecl; external LIB_CAIRO; +procedure cairo_new_sub_path(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_line_to(cr: Pcairo_t; x, y: Double); cdecl; external LIB_CAIRO; +procedure cairo_curve_to(cr: Pcairo_t; x1, y1, x2, y2, x3, y3: Double); cdecl; external LIB_CAIRO; +procedure cairo_arc(cr: Pcairo_t; xc, yc, radius, angle1, angle2: Double); cdecl; external LIB_CAIRO; +procedure cairo_arc_negative(cr: Pcairo_t; xc, yc, radius, angle1, angle2: Double); cdecl; external LIB_CAIRO; +procedure cairo_rel_move_to(cr: Pcairo_t; dx, dy: Double); cdecl; external LIB_CAIRO; +procedure cairo_rel_line_to(cr: Pcairo_t; dx, dy: Double); cdecl; external LIB_CAIRO; +procedure cairo_rel_curve_to(cr: Pcairo_t; dx1, dy1, dx2, dy2, dx3, dy3: Double); cdecl; external LIB_CAIRO; +procedure cairo_rectangle(cr: Pcairo_t; x, y, width, height: Double); cdecl; external LIB_CAIRO; +procedure cairo_close_path(cr: Pcairo_t); cdecl; external LIB_CAIRO; + +(* Painting functions *) + +procedure cairo_paint(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_paint_with_alpha(cr: Pcairo_t; alpha: Double); cdecl; external LIB_CAIRO; +procedure cairo_mask(cr: Pcairo_t; pattern: Pcairo_pattern_t); cdecl; external LIB_CAIRO; +procedure cairo_mask_surface(cr: Pcairo_t; surface: Pcairo_surface_t; surface_x, surface_y: Double); cdecl; external LIB_CAIRO; +procedure cairo_stroke(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_stroke_preserve(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_fill(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_fill_preserve(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_copy_page(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_show_page(cr: Pcairo_t); cdecl; external LIB_CAIRO; + +(* Insideness testing *) + +function cairo_in_stroke(cr: Pcairo_t; x, y: Double): Tcairo_bool_t; cdecl; external LIB_CAIRO; +function cairo_in_fill(cr: Pcairo_t; x, y: Double): Tcairo_bool_t; cdecl; external LIB_CAIRO; + +(* Rectangular extents *) + +procedure cairo_stroke_extents(cr: Pcairo_t; x1, y1, x2, y2: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_fill_extents(cr: Pcairo_t; x1, y1, x2, y2: PDouble); cdecl; external LIB_CAIRO; + +(* Clipping *) + +procedure cairo_reset_clip(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_clip(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_clip_preserve(cr: Pcairo_t); cdecl; external LIB_CAIRO; +procedure cairo_clip_extents(cr: Pcairo_t; x1, y1, x2, y2: PDouble); cdecl; external LIB_CAIRO; +//function cairo_copy_clip_rectangle_list(cr: Pcairo_t): Pcairo_rectangle_list_t; cdecl; external LIB_CAIRO; +//procedure cairo_rectangle_list_destroy(rectangle_list: Pcairo_rectangle_list_t); cdecl; external LIB_CAIRO; + +(* Font/Text functions *) + +function cairo_font_options_create: Pcairo_font_options_t; cdecl; external LIB_CAIRO; +function cairo_font_options_copy(original: Pcairo_font_options_t): Pcairo_font_options_t; cdecl; external LIB_CAIRO; +procedure cairo_font_options_destroy(options: Pcairo_font_options_t); cdecl; external LIB_CAIRO; +function cairo_font_options_status(options: Pcairo_font_options_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +procedure cairo_font_options_merge(options, other: Pcairo_font_options_t); cdecl; external LIB_CAIRO; +//function cairo_font_options_equal(options, other: Pcairo_font_options_t): Tcairo_bool_t; cdecl; external LIB_CAIRO; +function cairo_font_options_hash(options: Pcairo_font_options_t): LongWord; cdecl; external LIB_CAIRO; +procedure cairo_font_options_set_antialias(options: Pcairo_font_options_t; antialias: Tcairo_antialias_t); cdecl; external LIB_CAIRO; +function cairo_font_options_get_antialias(options: Pcairo_font_options_t): Tcairo_antialias_t; cdecl; external LIB_CAIRO; +procedure cairo_font_options_set_subpixel_order(options: Pcairo_font_options_t; subpixel_order: Tcairo_subpixel_order_t); cdecl; external LIB_CAIRO; +function cairo_font_options_get_subpixel_order(options: Pcairo_font_options_t): Tcairo_subpixel_order_t; cdecl; external LIB_CAIRO; +procedure cairo_font_options_set_hint_style(options: Pcairo_font_options_t; hint_style: Tcairo_hint_style_t); cdecl; external LIB_CAIRO; +function cairo_font_options_get_hint_style(options: Pcairo_font_options_t): Tcairo_hint_style_t; cdecl; external LIB_CAIRO; +procedure cairo_font_options_set_hint_metrics(options: Pcairo_font_options_t; hint_metrics: Tcairo_hint_metrics_t); cdecl; external LIB_CAIRO; +function cairo_font_options_get_hint_metrics(options: Pcairo_font_options_t): Tcairo_hint_metrics_t; cdecl; external LIB_CAIRO; + +(* This interface is for dealing with text as text, not caring about the + font object inside the the cairo_t. *) + +procedure cairo_select_font_face(cr: Pcairo_t; family: Pchar; slant: Tcairo_font_slant_t; weight: Tcairo_font_weight_t); cdecl; external LIB_CAIRO; +procedure cairo_set_font_size(cr: Pcairo_t; size: Double); cdecl; external LIB_CAIRO; +procedure cairo_set_font_matrix(cr: Pcairo_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_get_font_matrix(cr: Pcairo_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_set_font_options(cr: Pcairo_t; options: Pcairo_font_options_t); cdecl; external LIB_CAIRO; +procedure cairo_get_font_options(cr: Pcairo_t; options: Pcairo_font_options_t); cdecl; external LIB_CAIRO; +procedure cairo_set_font_face(cr: Pcairo_t; font_face: Pcairo_font_face_t); cdecl; external LIB_CAIRO; +function cairo_get_font_face(cr: Pcairo_t): Pcairo_font_face_t; cdecl; external LIB_CAIRO; +procedure cairo_set_scaled_font(cr: PCairo_t; scaled_font:Pcairo_scaled_font_t); cdecl; external LIB_CAIRO; +function cairo_get_scaled_font(cr: Pcairo_t): Pcairo_scaled_font_t; cdecl; external LIB_CAIRO; +procedure cairo_show_text(cr: Pcairo_t; utf8: Pchar); cdecl; external LIB_CAIRO; +//procedure cairo_show_glyphs(cr: Pcairo_t; glyphs: Pcairo_glyph_t; num_glyphs: LongInt); cdecl; external LIB_CAIRO; +procedure cairo_text_path(cr: Pcairo_t; utf8: Pchar); cdecl; external LIB_CAIRO; +//procedure cairo_glyph_path(cr: Pcairo_t; glyphs: Pcairo_glyph_t; num_glyphs: LongInt); cdecl; external LIB_CAIRO; +//procedure cairo_text_extents(cr: Pcairo_t; utf8: Pchar; extents: Pcairo_text_extents_t); cdecl; external LIB_CAIRO; +//procedure cairo_glyph_extents(cr: Pcairo_t; glyphs: Pcairo_glyph_t; num_glyphs: LongInt; extents: Pcairo_text_extents_t); cdecl; external LIB_CAIRO; +//procedure cairo_font_extents(cr: Pcairo_t; extents: Pcairo_font_extents_t); cdecl; external LIB_CAIRO; + +(* Generic identifier for a font style *) + +function cairo_font_face_reference(font_face: Pcairo_font_face_t): Pcairo_font_face_t; cdecl; external LIB_CAIRO; +procedure cairo_font_face_destroy(font_face: Pcairo_font_face_t); cdecl; external LIB_CAIRO; +function cairo_font_face_get_reference_count (font_face: Pcairo_font_face_t): LongWord; cdecl; external LIB_CAIRO; +function cairo_font_face_status(font_face: Pcairo_font_face_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_font_face_get_type(font_face: Pcairo_font_face_t): Tcairo_font_type_t; cdecl; external LIB_CAIRO; +//function cairo_font_face_get_user_data(font_face: Pcairo_font_face_t; key: Pcairo_user_data_key_t): pointer; cdecl; external LIB_CAIRO; +//function cairo_font_face_set_user_data(font_face: Pcairo_font_face_t; key: Pcairo_user_data_key_t; user_data: pointer; destroy: Tcairo_destroy_func_t): Tcairo_status_t; cdecl; external LIB_CAIRO; + +(* Portable interface to general font features *) + +function cairo_scaled_font_create(font_face: Pcairo_font_face_t; font_matrix: Pcairo_matrix_t; ctm: Pcairo_matrix_t; options: Pcairo_font_options_t): Pcairo_scaled_font_t; cdecl; external LIB_CAIRO; +function cairo_scaled_font_reference(scaled_font: Pcairo_scaled_font_t): Pcairo_scaled_font_t; cdecl; external LIB_CAIRO; +procedure cairo_scaled_font_destroy(scaled_font: Pcairo_scaled_font_t); cdecl; external LIB_CAIRO; +function cairo_scaled_font_get_reference_count (scaled_font: Pcairo_scaled_font_t): LongWord; cdecl; external LIB_CAIRO; +function cairo_scaled_font_status(scaled_font: Pcairo_scaled_font_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_scaled_font_get_type(scaled_font: Pcairo_scaled_font_t): Tcairo_font_type_t; cdecl; external LIB_CAIRO; +//function cairo_scaled_font_get_user_data (scaled_font: Pcairo_scaled_font_t; key: Pcairo_user_data_key_t): Pointer; cdecl; external LIB_CAIRO; +//function cairo_scaled_font_set_user_data (scaled_font: Pcairo_scaled_font_t; key: Pcairo_user_data_key_t; user_data: Pointer; destroy: Tcairo_destroy_func_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +//procedure cairo_scaled_font_extents(scaled_font: Pcairo_scaled_font_t; extents: Pcairo_font_extents_t); cdecl; external LIB_CAIRO; +//procedure cairo_scaled_font_text_extents(scaled_font: Pcairo_scaled_font_t; utf8: PChar; extents: Pcairo_text_extents_t); cdecl; external LIB_CAIRO; +//procedure cairo_scaled_font_glyph_extents(scaled_font: Pcairo_scaled_font_t; glyphs: Pcairo_glyph_t; num_glyphs: LongInt; extents: Pcairo_text_extents_t); cdecl; external LIB_CAIRO; +function cairo_scaled_font_get_font_face (scaled_font: Pcairo_scaled_font_t): Pcairo_font_face_t; cdecl; external LIB_CAIRO; +procedure cairo_scaled_font_get_font_matrix (scaled_font: Pcairo_scaled_font_t; font_matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_scaled_font_get_ctm (scaled_font: Pcairo_scaled_font_t; ctm: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_scaled_font_get_font_options (scaled_font: Pcairo_scaled_font_t; options: Pcairo_font_options_t); cdecl; external LIB_CAIRO; + +(* Query functions *) + +function cairo_get_operator(cr: Pcairo_t): Tcairo_operator_t; cdecl; external LIB_CAIRO; +function cairo_get_source(cr: Pcairo_t): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +function cairo_get_tolerance(cr: Pcairo_t): Double; cdecl; external LIB_CAIRO; +function cairo_get_antialias(cr: Pcairo_t): Tcairo_antialias_t; cdecl; external LIB_CAIRO; +procedure cairo_get_current_point(cr: Pcairo_t; x, y: PDouble); cdecl; external LIB_CAIRO; +function cairo_get_fill_rule(cr: Pcairo_t): Tcairo_fill_rule_t; cdecl; external LIB_CAIRO; +function cairo_get_line_width(cr: Pcairo_t): Double; cdecl; external LIB_CAIRO; +function cairo_get_line_cap(cr: Pcairo_t): Tcairo_line_cap_t; cdecl; external LIB_CAIRO; +function cairo_get_line_join(cr: Pcairo_t): Tcairo_line_join_t; cdecl; external LIB_CAIRO; +function cairo_get_miter_limit(cr: Pcairo_t): Double; cdecl; external LIB_CAIRO; +function cairo_get_dash_count(cr: Pcairo_t): LongInt; cdecl; external LIB_CAIRO; +procedure cairo_get_dash(cr: Pcairo_t; dashes, offset: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_get_matrix(cr: Pcairo_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +function cairo_get_target(cr: Pcairo_t): Pcairo_surface_t; cdecl; external LIB_CAIRO; +function cairo_get_group_target(cr: Pcairo_t): Pcairo_surface_t; cdecl; external LIB_CAIRO; + +function cairo_copy_path(cr: Pcairo_t): Pcairo_path_t; cdecl; external LIB_CAIRO; +function cairo_copy_path_flat(cr: Pcairo_t): Pcairo_path_t; cdecl; external LIB_CAIRO; +procedure cairo_append_path(cr: Pcairo_t; path: Pcairo_path_t); cdecl; external LIB_CAIRO; +procedure cairo_path_destroy(path: Pcairo_path_t); cdecl; external LIB_CAIRO; + +(* Error status queries *) + +function cairo_status(cr: Pcairo_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_status_to_string(status: Tcairo_status_t): Pchar; cdecl; external LIB_CAIRO; + +(* Surface manipulation *) + +function cairo_surface_create_similar(other: Pcairo_surface_t; content: Tcairo_content_t; width, height: LongInt): Pcairo_surface_t; cdecl; external LIB_CAIRO; +function cairo_surface_create_for_rectangle(other: Pcairo_surface_t; x, y, width, height: double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +function cairo_surface_reference(surface: Pcairo_surface_t): Pcairo_surface_t; cdecl; external LIB_CAIRO; +procedure cairo_surface_finish(surface: Pcairo_surface_t); cdecl; external LIB_CAIRO; +procedure cairo_surface_destroy(surface: Pcairo_surface_t); cdecl; external LIB_CAIRO; +function cairo_surface_get_reference_count(surface: Pcairo_surface_t): LongWord; cdecl; external LIB_CAIRO; +function cairo_surface_status(surface: Pcairo_surface_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_surface_get_type(surface: Pcairo_surface_t): Tcairo_surface_type_t; cdecl; external LIB_CAIRO; +function cairo_surface_get_content(surface: Pcairo_surface_t): Tcairo_content_t; cdecl; external LIB_CAIRO; +function cairo_surface_write_to_png(surface: Pcairo_surface_t; filename: Pchar): Tcairo_status_t; cdecl; external LIB_CAIRO; +//function cairo_surface_write_to_png_stream(surface: Pcairo_surface_t; write_func: Tcairo_write_func_t; closure: pointer): Tcairo_status_t; cdecl; external LIB_CAIRO; +//function cairo_surface_get_user_data(surface: Pcairo_surface_t; key: Pcairo_user_data_key_t): pointer; cdecl; external LIB_CAIRO; +//function cairo_surface_set_user_data(surface: Pcairo_surface_t; key: Pcairo_user_data_key_t; user_data: pointer; destroy: Tcairo_destroy_func_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +procedure cairo_surface_get_font_options(surface: Pcairo_surface_t; options: Pcairo_font_options_t); cdecl; external LIB_CAIRO; +procedure cairo_surface_flush(surface: Pcairo_surface_t); cdecl; external LIB_CAIRO; +procedure cairo_surface_mark_dirty(surface: Pcairo_surface_t); cdecl; external LIB_CAIRO; +procedure cairo_surface_mark_dirty_rectangle(surface: Pcairo_surface_t; x, y, width, height: LongInt); cdecl; external LIB_CAIRO; +procedure cairo_surface_set_device_offset(surface: Pcairo_surface_t; x_offset, y_offset: Double); cdecl; external LIB_CAIRO; +procedure cairo_surface_get_device_offset(surface: Pcairo_surface_t; x_offset, y_offset: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_surface_set_fallback_resolution(surface: Pcairo_surface_t; x_pixels_per_inch, y_pixels_per_inch: Double); cdecl; external LIB_CAIRO; +function cairo_surface_get_device(surface: Pcairo_surface_t): Pcairo_device_t; cdecl; external LIB_CAIRO; + +{* cairo device *} +function cairo_device_get_type(device: PCairo_device_t): Tcairo_device_type_t; cdecl; external LIB_CAIRO; + +(* Image-surface functions *) + +function cairo_format_stride_for_width(format: Tcairo_format_t; width : LongInt): LongInt; cdecl; external LIB_CAIRO; +function cairo_image_surface_create(format: Tcairo_format_t; width, height: LongInt): Pcairo_surface_t; cdecl; external LIB_CAIRO; +function cairo_image_surface_create_for_data(data: Pbyte; format: Tcairo_format_t; width, height, stride: LongInt): Pcairo_surface_t; cdecl; external LIB_CAIRO; +function cairo_image_surface_get_data(surface: Pcairo_surface_t): PChar; cdecl; external LIB_CAIRO; +function cairo_image_surface_get_format(surface: Pcairo_surface_t): Tcairo_format_t; cdecl; external LIB_CAIRO; +function cairo_image_surface_get_width(surface: Pcairo_surface_t): LongInt; cdecl; external LIB_CAIRO; +function cairo_image_surface_get_height(surface: Pcairo_surface_t): LongInt; cdecl; external LIB_CAIRO; +function cairo_image_surface_get_stride(surface: Pcairo_surface_t): LongInt; cdecl; external LIB_CAIRO; +function cairo_image_surface_create_from_png(filename: Pchar): Pcairo_surface_t; cdecl; external LIB_CAIRO; +//function cairo_image_surface_create_from_png_stream(read_func: Tcairo_read_func_t; closure: pointer): Pcairo_surface_t; cdecl; external LIB_CAIRO; + +(* Pattern creation functions *) + +function cairo_pattern_create_rgb(red, green, blue: Double): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +function cairo_pattern_create_rgba(red, green, blue, alpha: Double): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +function cairo_pattern_create_for_surface(surface: Pcairo_surface_t): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +function cairo_pattern_create_linear(x0, y0, x1, y1: Double): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +function cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1: Double): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +function cairo_pattern_reference(pattern: Pcairo_pattern_t): Pcairo_pattern_t; cdecl; external LIB_CAIRO; +procedure cairo_pattern_destroy(pattern: Pcairo_pattern_t); cdecl; external LIB_CAIRO; +function cairo_pattern_get_reference_count (pattern: Pcairo_pattern_t): LongWord; cdecl; external LIB_CAIRO; +function cairo_pattern_status(pattern: Pcairo_pattern_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +//function cairo_pattern_get_user_data (pattern: Pcairo_pattern_t; key: Pcairo_user_data_key_t): Pointer; cdecl; external LIB_CAIRO; +//function cairo_pattern_set_user_data (pattern: Pcairo_pattern_t; key: Pcairo_user_data_key_t; user_data: Pointer; destroy: Tcairo_destroy_func_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_type(pattern: Pcairo_pattern_t): Tcairo_pattern_type_t; cdecl; external LIB_CAIRO; +procedure cairo_pattern_add_color_stop_rgb(pattern: Pcairo_pattern_t; offset, red, green, blue: Double); cdecl; external LIB_CAIRO; +procedure cairo_pattern_add_color_stop_rgba(pattern: Pcairo_pattern_t; offset, red, green, blue, alpha: Double); cdecl; external LIB_CAIRO; +procedure cairo_pattern_set_matrix(pattern: Pcairo_pattern_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_pattern_get_matrix(pattern: Pcairo_pattern_t; matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_pattern_set_extend(pattern: Pcairo_pattern_t; extend: Tcairo_extend_t); cdecl; external LIB_CAIRO; +function cairo_pattern_get_extend(pattern: Pcairo_pattern_t): Tcairo_extend_t; cdecl; external LIB_CAIRO; +procedure cairo_pattern_set_filter(pattern: Pcairo_pattern_t; filter: Tcairo_filter_t); cdecl; external LIB_CAIRO; +function cairo_pattern_get_filter(pattern: Pcairo_pattern_t): Tcairo_filter_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_rgba (pattern: Pcairo_pattern_t; red, green, blue, alpha: PDouble): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_surface (pattern: Pcairo_pattern_t; surface: PPcairo_surface_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_color_stop_rgba(pattern: Pcairo_pattern_t; index: LongInt; offset, red, green, blue, alpha: PDouble): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_color_stop_count(pattern: Pcairo_pattern_t; count: PLongInt): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_linear_points (pattern: Pcairo_pattern_t; x0, y0, x1, y1: PDouble): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_pattern_get_radial_circles (pattern: Pcairo_pattern_t; x0, y0, r0, x1, y1, r1:PDouble): Tcairo_status_t; cdecl; external LIB_CAIRO; + +(* Matrix functions *) + +procedure cairo_matrix_init(matrix: Pcairo_matrix_t; xx, yx, xy, yy, x0, y0: Double); cdecl; external LIB_CAIRO; +procedure cairo_matrix_init_identity(matrix: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_matrix_init_translate(matrix: Pcairo_matrix_t; tx, ty: Double); cdecl; external LIB_CAIRO; +procedure cairo_matrix_init_scale(matrix: Pcairo_matrix_t; sx, sy: Double); cdecl; external LIB_CAIRO; +procedure cairo_matrix_init_rotate(matrix: Pcairo_matrix_t; radians: Double); cdecl; external LIB_CAIRO; +procedure cairo_matrix_translate(matrix: Pcairo_matrix_t; tx, ty: Double); cdecl; external LIB_CAIRO; +procedure cairo_matrix_scale(matrix: Pcairo_matrix_t; sx, sy: Double); cdecl; external LIB_CAIRO; +procedure cairo_matrix_rotate(matrix: Pcairo_matrix_t; radians: Double); cdecl; external LIB_CAIRO; +function cairo_matrix_invert(matrix: Pcairo_matrix_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +procedure cairo_matrix_multiply(result, a, b: Pcairo_matrix_t); cdecl; external LIB_CAIRO; +procedure cairo_matrix_transform_distance(matrix: Pcairo_matrix_t; dx, dy: PDouble); cdecl; external LIB_CAIRO; +procedure cairo_matrix_transform_point(matrix: Pcairo_matrix_t; x, y: PDouble); cdecl; external LIB_CAIRO; + +(* PDF functions *) + +function cairo_pdf_surface_create(filename: PChar; width_in_points, height_in_points: Double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +//function cairo_pdf_surface_create_for_stream(write_func: Tcairo_write_func_t; closure: Pointer; width_in_points, height_in_points: Double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +procedure cairo_pdf_surface_set_size(surface: Pcairo_surface_t; width_in_points, height_in_points: Double); cdecl; external LIB_CAIRO; + +(* PS functions *) + +function cairo_ps_surface_create(filename: PChar; width_in_points, height_in_points: Double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +//function cairo_ps_surface_create_for_stream(write_func: Tcairo_write_func_t; closure: Pointer; width_in_points, height_in_points: Double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +procedure cairo_ps_surface_set_size(surface: Pcairo_surface_t; width_in_points, height_in_points: Double); cdecl; external LIB_CAIRO; +procedure cairo_ps_surface_dsc_comment(surface: Pcairo_surface_t; comment: PChar); cdecl; external LIB_CAIRO; +procedure cairo_ps_surface_dsc_begin_setup(surface: Pcairo_surface_t); cdecl; external LIB_CAIRO; +procedure cairo_ps_surface_dsc_begin_page_setup(surface: Pcairo_surface_t); cdecl; external LIB_CAIRO; + +(* SVG functions *) + +function cairo_svg_surface_create(filename: PChar; width_in_points, height_in_points: Double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +//function cairo_svg_surface_create_for_stream(write_func: Tcairo_write_func_t; closure: Pointer; width_in_points, height_in_points: Double): Pcairo_surface_t; cdecl; external LIB_CAIRO; +//procedure cairo_svg_surface_restrict_to_version(surface: Pcairo_surface_t; version: Tcairo_svg_version_t); cdecl; external LIB_CAIRO; + +//procedure cairo_svg_get_versions(versions: ppcairo_svg_version_t;num_versions:pcint);cdecl; external LIB_CAIRO; +//function cairo_svg_version_to_string(version: Tcairo_svg_version_t): PChar; cdecl; external LIB_CAIRO; + + +(* Functions to be used while debugging (not intended for use in production code) *) + +procedure cairo_debug_reset_static_data; cdecl; external LIB_CAIRO; + +(* cairo_region addon *) + +function cairo_region_create: Pcairo_region_t; cdecl; external LIB_CAIRO; +function cairo_region_create_rectangle(const ARect: Pcairo_rectangle_int_t): Pcairo_region_t; cdecl; external LIB_CAIRO; +function cairo_region_create_rectangles(const ARect: PPcairo_rectangle_int_t; ACount: cint): Pcairo_region_t; cdecl; external LIB_CAIRO; +function cairo_region_copy(ARegion: Pcairo_region_t): Pcairo_region_t; cdecl; external LIB_CAIRO; +function cairo_region_reference(ARegion: Pcairo_region_t): Pcairo_region_t; cdecl; external LIB_CAIRO; +procedure cairo_region_destroy(ARegion: Pcairo_region_t); cdecl; external LIB_CAIRO; +function cairo_region_status(ARegion: Pcairo_region_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +procedure cairo_region_get_extents(ARegion: Pcairo_region_t; AOutRect: Pcairo_rectangle_int_t); cdecl; external LIB_CAIRO; +function cairo_region_num_rectangles(ARegion: Pcairo_region_t): cint; cdecl; external LIB_CAIRO; +procedure cairo_region_get_rectangle(ARegion: Pcairo_region_t; nth: cint; AOutRect: Pcairo_rectangle_int_t); cdecl; external LIB_CAIRO; +function cairo_region_is_empty(ARegion: Pcairo_region_t): boolean; cdecl; external LIB_CAIRO; +function cairo_region_contains_point(ARegion: Pcairo_region_t; x,y: cint): boolean; cdecl; external LIB_CAIRO; +function cairo_region_contains_rectangle(ARegion: Pcairo_region_t; ARect: Pcairo_rectangle_int_t): Tcairo_region_overlap_t; cdecl; external LIB_CAIRO; + +// ops +function cairo_region_equal(ARegion1: Pcairo_region_t; ARegion2: Pcairo_region_t): boolean; cdecl; external LIB_CAIRO; +procedure cairo_region_translate(ADestRegion: Pcairo_region_t; dx: integer; dy: integer); cdecl; external LIB_CAIRO; +function cairo_region_intersect(ADestRegion: Pcairo_region_t; ASrcRegion: Pcairo_region_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_intersect_rectangle(ADestRegion: Pcairo_region_t; ASrcRect: Pcairo_rectangle_int_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_subtract(ADestRegion: Pcairo_region_t; ASrcRegion: Pcairo_region_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_subtract_rectangle(ADestRegion: Pcairo_region_t; ASrcRect: Pcairo_rectangle_int_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_union(ADestRegion: Pcairo_region_t; ASrcRegion: Pcairo_region_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_union_rectangle(ADestRegion: Pcairo_region_t; ASrcRect: Pcairo_rectangle_int_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_xor(ADestRegion: Pcairo_region_t; ASrcRegion: Pcairo_region_t): Tcairo_status_t; cdecl; external LIB_CAIRO; +function cairo_region_xor_rectangle(ADestRegion: Pcairo_region_t; ASrcRect: Pcairo_rectangle_int_t): Tcairo_status_t; cdecl; external LIB_CAIRO; + + +implementation +end. |
