summaryrefslogtreecommitdiff
path: root/bindings/lazcairo1.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2024-12-23 12:25:59 +0100
committerTomas Bzatek <tbzatek@redhat.com>2025-11-27 19:36:06 +0100
commita9634b933f71a9045e61d29c486f2d51d39fd1e2 (patch)
treeeec472463f27971c2b477efe1ddfd4eb37cddfdd /bindings/lazcairo1.pas
parent585635371a182d2b3cd5400f6d26d8e20ade6dbd (diff)
downloadtuxcmd-a9634b933f71a9045e61d29c486f2d51d39fd1e2.tar.xz
Add gobject-introspection generated bindings
Uses the gir2pascal tool from the Lazarus IDE project, see https://wiki.freepascal.org/gir2pascal Generating gtk3 bindings involves generating all its dependencies, including glib2, etc. As long as the generated units have number of issues getting this compiled, using a copy of gtk3bindings from Lazarus for the moment.
Diffstat (limited to 'bindings/lazcairo1.pas')
-rw-r--r--bindings/lazcairo1.pas865
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.