From 661f4859cdbc0394ed0a9db34ced0f4e2bbe78ff Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 7 Aug 2010 20:05:42 +0200 Subject: Add cairo-gobject library This library is supposed to contain GType declarations for Cairo types. It is also meant to support gobject-introspection binding creation. --- boilerplate/Makefile.win32.features | 12 + build/Makefile.win32.features | 1 + build/Makefile.win32.features-h | 3 + configure.ac | 10 + src/Makefile.win32.features | 16 + util/Makefile.am | 4 + util/cairo-gobject/Makefile.am | 15 + util/cairo-gobject/cairo-gobject-enums.c | 519 +++++++++++++++++++++++++++++ util/cairo-gobject/cairo-gobject-structs.c | 87 +++++ util/cairo-gobject/cairo-gobject.h | 186 +++++++++++ 10 files changed, 853 insertions(+) create mode 100644 util/cairo-gobject/Makefile.am create mode 100644 util/cairo-gobject/cairo-gobject-enums.c create mode 100644 util/cairo-gobject/cairo-gobject-structs.c create mode 100644 util/cairo-gobject/cairo-gobject.h diff --git a/boilerplate/Makefile.win32.features b/boilerplate/Makefile.win32.features index ee5907117..a72d233e4 100644 --- a/boilerplate/Makefile.win32.features +++ b/boilerplate/Makefile.win32.features @@ -463,6 +463,18 @@ enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_pthread_cxx_sources enabled_cairo_boilerplate_sources += $(cairo_boilerplate_pthread_sources) endif +supported_cairo_boilerplate_headers += $(cairo_boilerplate_gobject_headers) +all_cairo_boilerplate_headers += $(cairo_boilerplate_gobject_headers) +all_cairo_boilerplate_private += $(cairo_boilerplate_gobject_private) +all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gobject_cxx_sources) +all_cairo_boilerplate_sources += $(cairo_boilerplate_gobject_sources) +ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1) +enabled_cairo_boilerplate_headers += $(cairo_boilerplate_gobject_headers) +enabled_cairo_boilerplate_private += $(cairo_boilerplate_gobject_private) +enabled_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_gobject_cxx_sources) +enabled_cairo_boilerplate_sources += $(cairo_boilerplate_gobject_sources) +endif + all_cairo_boilerplate_private += $(cairo_boilerplate_trace_private) $(cairo_boilerplate_trace_headers) all_cairo_boilerplate_cxx_sources += $(cairo_boilerplate_trace_cxx_sources) all_cairo_boilerplate_sources += $(cairo_boilerplate_trace_sources) diff --git a/build/Makefile.win32.features b/build/Makefile.win32.features index 7e6061774..c8f4a7c5f 100644 --- a/build/Makefile.win32.features +++ b/build/Makefile.win32.features @@ -35,6 +35,7 @@ CAIRO_HAS_TEST_SURFACES=0 CAIRO_HAS_TEE_SURFACE=0 CAIRO_HAS_XML_SURFACE=0 CAIRO_HAS_PTHREAD=0 +CAIRO_HAS_GOBJECT_FUNCTIONS=1 CAIRO_HAS_TRACE=0 CAIRO_HAS_INTERPRETER=1 CAIRO_HAS_SYMBOL_LOOKUP=0 diff --git a/build/Makefile.win32.features-h b/build/Makefile.win32.features-h index 2106f020b..f5cbcf1a0 100644 --- a/build/Makefile.win32.features-h +++ b/build/Makefile.win32.features-h @@ -113,6 +113,9 @@ endif ifeq ($(CAIRO_HAS_PTHREAD),1) @echo "#define CAIRO_HAS_PTHREAD 1" >> src/cairo-features.h endif +ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1) + @echo "#define CAIRO_HAS_GOBJECT_FUNCTIONS 1" >> src/cairo-features.h +endif ifeq ($(CAIRO_HAS_TRACE),1) @echo "#define CAIRO_HAS_TRACE 1" >> src/cairo-features.h endif diff --git a/configure.ac b/configure.ac index e75f0db19..3c3084144 100644 --- a/configure.ac +++ b/configure.ac @@ -651,6 +651,15 @@ AC_SUBST(real_pthread_CFLAGS) AC_SUBST(real_pthread_LIBS) +dnl =========================================================================== +dnl Build gobject integration library + +CAIRO_ENABLE_FUNCTIONS(gobject, gobject, yes, [ + gobject_REQUIRES="gobject-2.0" + PKG_CHECK_MODULES(gobject, $gobject_REQUIRES, , [AC_MSG_RESULT(no) + use_gobject="no (requires $gobject_REQUIRES http://download.gnome.org/pub/GNOME/sources/glib/)"]) +]) + dnl =========================================================================== dnl Default to quick testing during development, but force a full test before dnl release @@ -791,6 +800,7 @@ test/pdiff/Makefile perf/Makefile util/Makefile util/cairo-fdr/Makefile +util/cairo-gobject/Makefile util/cairo-script/Makefile util/cairo-script/examples/Makefile util/cairo-sphinx/Makefile diff --git a/src/Makefile.win32.features b/src/Makefile.win32.features index 4e3b74a93..fb47816f3 100644 --- a/src/Makefile.win32.features +++ b/src/Makefile.win32.features @@ -597,6 +597,22 @@ enabled_cairo_cxx_sources += $(cairo_pthread_cxx_sources) enabled_cairo_sources += $(cairo_pthread_sources) endif +supported_cairo_headers += $(cairo_gobject_headers) +all_cairo_headers += $(cairo_gobject_headers) +all_cairo_private += $(cairo_gobject_private) +all_cairo_cxx_sources += $(cairo_gobject_cxx_sources) +all_cairo_sources += $(cairo_gobject_sources) +ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1) +enabled_cairo_headers += $(cairo_gobject_headers) +enabled_cairo_private += $(cairo_gobject_private) +enabled_cairo_cxx_sources += $(cairo_gobject_cxx_sources) +enabled_cairo_sources += $(cairo_gobject_sources) +endif +all_cairo_pkgconf += cairo-gobject.pc +ifeq ($(CAIRO_HAS_GOBJECT_FUNCTIONS),1) +enabled_cairo_pkgconf += cairo-gobject.pc +endif + all_cairo_private += $(cairo_trace_private) $(cairo_trace_headers) all_cairo_cxx_sources += $(cairo_trace_cxx_sources) all_cairo_sources += $(cairo_trace_sources) diff --git a/util/Makefile.am b/util/Makefile.am index 4394fe3f1..08267637a 100644 --- a/util/Makefile.am +++ b/util/Makefile.am @@ -2,6 +2,10 @@ include $(top_srcdir)/build/Makefile.am.common SUBDIRS = . +if CAIRO_HAS_GOBJECT_FUNCTIONS +SUBDIRS += cairo-gobject +endif + if CAIRO_HAS_INTERPRETER SUBDIRS += cairo-script endif diff --git a/util/cairo-gobject/Makefile.am b/util/cairo-gobject/Makefile.am new file mode 100644 index 000000000..22c1a278a --- /dev/null +++ b/util/cairo-gobject/Makefile.am @@ -0,0 +1,15 @@ +lib_LTLIBRARIES = libcairo-gobject.la + +AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src + +cairoincludedir=$(includedir)/cairo +cairoinclude_HEADERS = cairo-gobject.h +libcairo_gobject_la_SOURCES = \ + cairo-gobject-enums.c \ + cairo-gobject-structs.c \ + $(NULL) + +libcairo_gobject_la_CFLAGS = $(CAIRO_CFLAGS) $(GOBJECT_CFLAGS) +libcairo_gobject_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols) +libcairo_gobject_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(GOBJECT_LIBS) + diff --git a/util/cairo-gobject/cairo-gobject-enums.c b/util/cairo-gobject/cairo-gobject-enums.c new file mode 100644 index 000000000..c91cfea54 --- /dev/null +++ b/util/cairo-gobject/cairo-gobject-enums.c @@ -0,0 +1,519 @@ + +/* Generated data (by glib-mkenums) */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "cairo-gobject.h" + +GType +cairo_gobject_status_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_STATUS_SUCCESS, "CAIRO_STATUS_SUCCESS", "success" }, + { CAIRO_STATUS_NO_MEMORY, "CAIRO_STATUS_NO_MEMORY", "no-memory" }, + { CAIRO_STATUS_INVALID_RESTORE, "CAIRO_STATUS_INVALID_RESTORE", "invalid-restore" }, + { CAIRO_STATUS_INVALID_POP_GROUP, "CAIRO_STATUS_INVALID_POP_GROUP", "invalid-pop-group" }, + { CAIRO_STATUS_NO_CURRENT_POINT, "CAIRO_STATUS_NO_CURRENT_POINT", "no-current-point" }, + { CAIRO_STATUS_INVALID_MATRIX, "CAIRO_STATUS_INVALID_MATRIX", "invalid-matrix" }, + { CAIRO_STATUS_INVALID_STATUS, "CAIRO_STATUS_INVALID_STATUS", "invalid-status" }, + { CAIRO_STATUS_NULL_POINTER, "CAIRO_STATUS_NULL_POINTER", "null-pointer" }, + { CAIRO_STATUS_INVALID_STRING, "CAIRO_STATUS_INVALID_STRING", "invalid-string" }, + { CAIRO_STATUS_INVALID_PATH_DATA, "CAIRO_STATUS_INVALID_PATH_DATA", "invalid-path-data" }, + { CAIRO_STATUS_READ_ERROR, "CAIRO_STATUS_READ_ERROR", "read-error" }, + { CAIRO_STATUS_WRITE_ERROR, "CAIRO_STATUS_WRITE_ERROR", "write-error" }, + { CAIRO_STATUS_SURFACE_FINISHED, "CAIRO_STATUS_SURFACE_FINISHED", "surface-finished" }, + { CAIRO_STATUS_SURFACE_TYPE_MISMATCH, "CAIRO_STATUS_SURFACE_TYPE_MISMATCH", "surface-type-mismatch" }, + { CAIRO_STATUS_PATTERN_TYPE_MISMATCH, "CAIRO_STATUS_PATTERN_TYPE_MISMATCH", "pattern-type-mismatch" }, + { CAIRO_STATUS_INVALID_CONTENT, "CAIRO_STATUS_INVALID_CONTENT", "invalid-content" }, + { CAIRO_STATUS_INVALID_FORMAT, "CAIRO_STATUS_INVALID_FORMAT", "invalid-format" }, + { CAIRO_STATUS_INVALID_VISUAL, "CAIRO_STATUS_INVALID_VISUAL", "invalid-visual" }, + { CAIRO_STATUS_FILE_NOT_FOUND, "CAIRO_STATUS_FILE_NOT_FOUND", "file-not-found" }, + { CAIRO_STATUS_INVALID_DASH, "CAIRO_STATUS_INVALID_DASH", "invalid-dash" }, + { CAIRO_STATUS_INVALID_DSC_COMMENT, "CAIRO_STATUS_INVALID_DSC_COMMENT", "invalid-dsc-comment" }, + { CAIRO_STATUS_INVALID_INDEX, "CAIRO_STATUS_INVALID_INDEX", "invalid-index" }, + { CAIRO_STATUS_CLIP_NOT_REPRESENTABLE, "CAIRO_STATUS_CLIP_NOT_REPRESENTABLE", "clip-not-representable" }, + { CAIRO_STATUS_TEMP_FILE_ERROR, "CAIRO_STATUS_TEMP_FILE_ERROR", "temp-file-error" }, + { CAIRO_STATUS_INVALID_STRIDE, "CAIRO_STATUS_INVALID_STRIDE", "invalid-stride" }, + { CAIRO_STATUS_FONT_TYPE_MISMATCH, "CAIRO_STATUS_FONT_TYPE_MISMATCH", "font-type-mismatch" }, + { CAIRO_STATUS_USER_FONT_IMMUTABLE, "CAIRO_STATUS_USER_FONT_IMMUTABLE", "user-font-immutable" }, + { CAIRO_STATUS_USER_FONT_ERROR, "CAIRO_STATUS_USER_FONT_ERROR", "user-font-error" }, + { CAIRO_STATUS_NEGATIVE_COUNT, "CAIRO_STATUS_NEGATIVE_COUNT", "negative-count" }, + { CAIRO_STATUS_INVALID_CLUSTERS, "CAIRO_STATUS_INVALID_CLUSTERS", "invalid-clusters" }, + { CAIRO_STATUS_INVALID_SLANT, "CAIRO_STATUS_INVALID_SLANT", "invalid-slant" }, + { CAIRO_STATUS_INVALID_WEIGHT, "CAIRO_STATUS_INVALID_WEIGHT", "invalid-weight" }, + { CAIRO_STATUS_INVALID_SIZE, "CAIRO_STATUS_INVALID_SIZE", "invalid-size" }, + { CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED, "CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED", "user-font-not-implemented" }, + { CAIRO_STATUS_DEVICE_TYPE_MISMATCH, "CAIRO_STATUS_DEVICE_TYPE_MISMATCH", "device-type-mismatch" }, + { CAIRO_STATUS_DEVICE_ERROR, "CAIRO_STATUS_DEVICE_ERROR", "device-error" }, + { CAIRO_STATUS_LAST_STATUS, "CAIRO_STATUS_LAST_STATUS", "last-status" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_status_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_content_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_CONTENT_COLOR, "CAIRO_CONTENT_COLOR", "color" }, + { CAIRO_CONTENT_ALPHA, "CAIRO_CONTENT_ALPHA", "alpha" }, + { CAIRO_CONTENT_COLOR_ALPHA, "CAIRO_CONTENT_COLOR_ALPHA", "color-alpha" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_content_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_operator_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_OPERATOR_CLEAR, "CAIRO_OPERATOR_CLEAR", "clear" }, + { CAIRO_OPERATOR_SOURCE, "CAIRO_OPERATOR_SOURCE", "source" }, + { CAIRO_OPERATOR_OVER, "CAIRO_OPERATOR_OVER", "over" }, + { CAIRO_OPERATOR_IN, "CAIRO_OPERATOR_IN", "in" }, + { CAIRO_OPERATOR_OUT, "CAIRO_OPERATOR_OUT", "out" }, + { CAIRO_OPERATOR_ATOP, "CAIRO_OPERATOR_ATOP", "atop" }, + { CAIRO_OPERATOR_DEST, "CAIRO_OPERATOR_DEST", "dest" }, + { CAIRO_OPERATOR_DEST_OVER, "CAIRO_OPERATOR_DEST_OVER", "dest-over" }, + { CAIRO_OPERATOR_DEST_IN, "CAIRO_OPERATOR_DEST_IN", "dest-in" }, + { CAIRO_OPERATOR_DEST_OUT, "CAIRO_OPERATOR_DEST_OUT", "dest-out" }, + { CAIRO_OPERATOR_DEST_ATOP, "CAIRO_OPERATOR_DEST_ATOP", "dest-atop" }, + { CAIRO_OPERATOR_XOR, "CAIRO_OPERATOR_XOR", "xor" }, + { CAIRO_OPERATOR_ADD, "CAIRO_OPERATOR_ADD", "add" }, + { CAIRO_OPERATOR_SATURATE, "CAIRO_OPERATOR_SATURATE", "saturate" }, + { CAIRO_OPERATOR_MULTIPLY, "CAIRO_OPERATOR_MULTIPLY", "multiply" }, + { CAIRO_OPERATOR_SCREEN, "CAIRO_OPERATOR_SCREEN", "screen" }, + { CAIRO_OPERATOR_OVERLAY, "CAIRO_OPERATOR_OVERLAY", "overlay" }, + { CAIRO_OPERATOR_DARKEN, "CAIRO_OPERATOR_DARKEN", "darken" }, + { CAIRO_OPERATOR_LIGHTEN, "CAIRO_OPERATOR_LIGHTEN", "lighten" }, + { CAIRO_OPERATOR_COLOR_DODGE, "CAIRO_OPERATOR_COLOR_DODGE", "color-dodge" }, + { CAIRO_OPERATOR_COLOR_BURN, "CAIRO_OPERATOR_COLOR_BURN", "color-burn" }, + { CAIRO_OPERATOR_HARD_LIGHT, "CAIRO_OPERATOR_HARD_LIGHT", "hard-light" }, + { CAIRO_OPERATOR_SOFT_LIGHT, "CAIRO_OPERATOR_SOFT_LIGHT", "soft-light" }, + { CAIRO_OPERATOR_DIFFERENCE, "CAIRO_OPERATOR_DIFFERENCE", "difference" }, + { CAIRO_OPERATOR_EXCLUSION, "CAIRO_OPERATOR_EXCLUSION", "exclusion" }, + { CAIRO_OPERATOR_HSL_HUE, "CAIRO_OPERATOR_HSL_HUE", "hsl-hue" }, + { CAIRO_OPERATOR_HSL_SATURATION, "CAIRO_OPERATOR_HSL_SATURATION", "hsl-saturation" }, + { CAIRO_OPERATOR_HSL_COLOR, "CAIRO_OPERATOR_HSL_COLOR", "hsl-color" }, + { CAIRO_OPERATOR_HSL_LUMINOSITY, "CAIRO_OPERATOR_HSL_LUMINOSITY", "hsl-luminosity" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_operator_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_antialias_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_ANTIALIAS_DEFAULT, "CAIRO_ANTIALIAS_DEFAULT", "default" }, + { CAIRO_ANTIALIAS_NONE, "CAIRO_ANTIALIAS_NONE", "none" }, + { CAIRO_ANTIALIAS_GRAY, "CAIRO_ANTIALIAS_GRAY", "gray" }, + { CAIRO_ANTIALIAS_SUBPIXEL, "CAIRO_ANTIALIAS_SUBPIXEL", "subpixel" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_antialias_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_fill_rule_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_FILL_RULE_WINDING, "CAIRO_FILL_RULE_WINDING", "winding" }, + { CAIRO_FILL_RULE_EVEN_ODD, "CAIRO_FILL_RULE_EVEN_ODD", "even-odd" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_fill_rule_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_line_cap_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_LINE_CAP_BUTT, "CAIRO_LINE_CAP_BUTT", "butt" }, + { CAIRO_LINE_CAP_ROUND, "CAIRO_LINE_CAP_ROUND", "round" }, + { CAIRO_LINE_CAP_SQUARE, "CAIRO_LINE_CAP_SQUARE", "square" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_line_cap_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_line_join_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_LINE_JOIN_MITER, "CAIRO_LINE_JOIN_MITER", "miter" }, + { CAIRO_LINE_JOIN_ROUND, "CAIRO_LINE_JOIN_ROUND", "round" }, + { CAIRO_LINE_JOIN_BEVEL, "CAIRO_LINE_JOIN_BEVEL", "bevel" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_line_join_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_text_cluster_flags_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_TEXT_CLUSTER_FLAG_BACKWARD, "CAIRO_TEXT_CLUSTER_FLAG_BACKWARD", "backward" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_text_cluster_flags_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_font_slant_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_FONT_SLANT_NORMAL, "CAIRO_FONT_SLANT_NORMAL", "normal" }, + { CAIRO_FONT_SLANT_ITALIC, "CAIRO_FONT_SLANT_ITALIC", "italic" }, + { CAIRO_FONT_SLANT_OBLIQUE, "CAIRO_FONT_SLANT_OBLIQUE", "oblique" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_font_slant_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_font_weight_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_FONT_WEIGHT_NORMAL, "CAIRO_FONT_WEIGHT_NORMAL", "normal" }, + { CAIRO_FONT_WEIGHT_BOLD, "CAIRO_FONT_WEIGHT_BOLD", "bold" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_font_weight_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_subpixel_order_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_SUBPIXEL_ORDER_DEFAULT, "CAIRO_SUBPIXEL_ORDER_DEFAULT", "default" }, + { CAIRO_SUBPIXEL_ORDER_RGB, "CAIRO_SUBPIXEL_ORDER_RGB", "rgb" }, + { CAIRO_SUBPIXEL_ORDER_BGR, "CAIRO_SUBPIXEL_ORDER_BGR", "bgr" }, + { CAIRO_SUBPIXEL_ORDER_VRGB, "CAIRO_SUBPIXEL_ORDER_VRGB", "vrgb" }, + { CAIRO_SUBPIXEL_ORDER_VBGR, "CAIRO_SUBPIXEL_ORDER_VBGR", "vbgr" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_subpixel_order_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_hint_style_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_HINT_STYLE_DEFAULT, "CAIRO_HINT_STYLE_DEFAULT", "default" }, + { CAIRO_HINT_STYLE_NONE, "CAIRO_HINT_STYLE_NONE", "none" }, + { CAIRO_HINT_STYLE_SLIGHT, "CAIRO_HINT_STYLE_SLIGHT", "slight" }, + { CAIRO_HINT_STYLE_MEDIUM, "CAIRO_HINT_STYLE_MEDIUM", "medium" }, + { CAIRO_HINT_STYLE_FULL, "CAIRO_HINT_STYLE_FULL", "full" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_hint_style_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_hint_metrics_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_HINT_METRICS_DEFAULT, "CAIRO_HINT_METRICS_DEFAULT", "default" }, + { CAIRO_HINT_METRICS_OFF, "CAIRO_HINT_METRICS_OFF", "off" }, + { CAIRO_HINT_METRICS_ON, "CAIRO_HINT_METRICS_ON", "on" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_hint_metrics_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_font_type_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_FONT_TYPE_TOY, "CAIRO_FONT_TYPE_TOY", "toy" }, + { CAIRO_FONT_TYPE_FT, "CAIRO_FONT_TYPE_FT", "ft" }, + { CAIRO_FONT_TYPE_WIN32, "CAIRO_FONT_TYPE_WIN32", "win32" }, + { CAIRO_FONT_TYPE_QUARTZ, "CAIRO_FONT_TYPE_QUARTZ", "quartz" }, + { CAIRO_FONT_TYPE_USER, "CAIRO_FONT_TYPE_USER", "user" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_font_type_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_path_data_type_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_PATH_MOVE_TO, "CAIRO_PATH_MOVE_TO", "move-to" }, + { CAIRO_PATH_LINE_TO, "CAIRO_PATH_LINE_TO", "line-to" }, + { CAIRO_PATH_CURVE_TO, "CAIRO_PATH_CURVE_TO", "curve-to" }, + { CAIRO_PATH_CLOSE_PATH, "CAIRO_PATH_CLOSE_PATH", "close-path" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_path_data_type_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_device_type_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_DEVICE_TYPE_IMAGE, "CAIRO_DEVICE_TYPE_IMAGE", "image" }, + { CAIRO_DEVICE_TYPE_PDF, "CAIRO_DEVICE_TYPE_PDF", "pdf" }, + { CAIRO_DEVICE_TYPE_PS, "CAIRO_DEVICE_TYPE_PS", "ps" }, + { CAIRO_DEVICE_TYPE_XLIB, "CAIRO_DEVICE_TYPE_XLIB", "xlib" }, + { CAIRO_DEVICE_TYPE_XCB, "CAIRO_DEVICE_TYPE_XCB", "xcb" }, + { CAIRO_DEVICE_TYPE_GLITZ, "CAIRO_DEVICE_TYPE_GLITZ", "glitz" }, + { CAIRO_DEVICE_TYPE_QUARTZ, "CAIRO_DEVICE_TYPE_QUARTZ", "quartz" }, + { CAIRO_DEVICE_TYPE_WIN32, "CAIRO_DEVICE_TYPE_WIN32", "win32" }, + { CAIRO_DEVICE_TYPE_BEOS, "CAIRO_DEVICE_TYPE_BEOS", "beos" }, + { CAIRO_DEVICE_TYPE_DIRECTFB, "CAIRO_DEVICE_TYPE_DIRECTFB", "directfb" }, + { CAIRO_DEVICE_TYPE_SVG, "CAIRO_DEVICE_TYPE_SVG", "svg" }, + { CAIRO_DEVICE_TYPE_OS2, "CAIRO_DEVICE_TYPE_OS2", "os2" }, + { CAIRO_DEVICE_TYPE_WIN32_PRINTING, "CAIRO_DEVICE_TYPE_WIN32_PRINTING", "win32-printing" }, + { CAIRO_DEVICE_TYPE_QUARTZ_IMAGE, "CAIRO_DEVICE_TYPE_QUARTZ_IMAGE", "quartz-image" }, + { CAIRO_DEVICE_TYPE_SCRIPT, "CAIRO_DEVICE_TYPE_SCRIPT", "script" }, + { CAIRO_DEVICE_TYPE_QT, "CAIRO_DEVICE_TYPE_QT", "qt" }, + { CAIRO_DEVICE_TYPE_RECORDING, "CAIRO_DEVICE_TYPE_RECORDING", "recording" }, + { CAIRO_DEVICE_TYPE_VG, "CAIRO_DEVICE_TYPE_VG", "vg" }, + { CAIRO_DEVICE_TYPE_GL, "CAIRO_DEVICE_TYPE_GL", "gl" }, + { CAIRO_DEVICE_TYPE_DRM, "CAIRO_DEVICE_TYPE_DRM", "drm" }, + { CAIRO_DEVICE_TYPE_XML, "CAIRO_DEVICE_TYPE_XML", "xml" }, + { CAIRO_DEVICE_TYPE_SKIA, "CAIRO_DEVICE_TYPE_SKIA", "skia" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_device_type_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_surface_type_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_SURFACE_TYPE_IMAGE, "CAIRO_SURFACE_TYPE_IMAGE", "image" }, + { CAIRO_SURFACE_TYPE_PDF, "CAIRO_SURFACE_TYPE_PDF", "pdf" }, + { CAIRO_SURFACE_TYPE_PS, "CAIRO_SURFACE_TYPE_PS", "ps" }, + { CAIRO_SURFACE_TYPE_XLIB, "CAIRO_SURFACE_TYPE_XLIB", "xlib" }, + { CAIRO_SURFACE_TYPE_XCB, "CAIRO_SURFACE_TYPE_XCB", "xcb" }, + { CAIRO_SURFACE_TYPE_GLITZ, "CAIRO_SURFACE_TYPE_GLITZ", "glitz" }, + { CAIRO_SURFACE_TYPE_QUARTZ, "CAIRO_SURFACE_TYPE_QUARTZ", "quartz" }, + { CAIRO_SURFACE_TYPE_WIN32, "CAIRO_SURFACE_TYPE_WIN32", "win32" }, + { CAIRO_SURFACE_TYPE_BEOS, "CAIRO_SURFACE_TYPE_BEOS", "beos" }, + { CAIRO_SURFACE_TYPE_DIRECTFB, "CAIRO_SURFACE_TYPE_DIRECTFB", "directfb" }, + { CAIRO_SURFACE_TYPE_SVG, "CAIRO_SURFACE_TYPE_SVG", "svg" }, + { CAIRO_SURFACE_TYPE_OS2, "CAIRO_SURFACE_TYPE_OS2", "os2" }, + { CAIRO_SURFACE_TYPE_WIN32_PRINTING, "CAIRO_SURFACE_TYPE_WIN32_PRINTING", "win32-printing" }, + { CAIRO_SURFACE_TYPE_QUARTZ_IMAGE, "CAIRO_SURFACE_TYPE_QUARTZ_IMAGE", "quartz-image" }, + { CAIRO_SURFACE_TYPE_SCRIPT, "CAIRO_SURFACE_TYPE_SCRIPT", "script" }, + { CAIRO_SURFACE_TYPE_QT, "CAIRO_SURFACE_TYPE_QT", "qt" }, + { CAIRO_SURFACE_TYPE_RECORDING, "CAIRO_SURFACE_TYPE_RECORDING", "recording" }, + { CAIRO_SURFACE_TYPE_VG, "CAIRO_SURFACE_TYPE_VG", "vg" }, + { CAIRO_SURFACE_TYPE_GL, "CAIRO_SURFACE_TYPE_GL", "gl" }, + { CAIRO_SURFACE_TYPE_DRM, "CAIRO_SURFACE_TYPE_DRM", "drm" }, + { CAIRO_SURFACE_TYPE_TEE, "CAIRO_SURFACE_TYPE_TEE", "tee" }, + { CAIRO_SURFACE_TYPE_XML, "CAIRO_SURFACE_TYPE_XML", "xml" }, + { CAIRO_SURFACE_TYPE_SKIA, "CAIRO_SURFACE_TYPE_SKIA", "skia" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_surface_type_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_format_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_FORMAT_INVALID, "CAIRO_FORMAT_INVALID", "invalid" }, + { CAIRO_FORMAT_ARGB32, "CAIRO_FORMAT_ARGB32", "argb32" }, + { CAIRO_FORMAT_RGB24, "CAIRO_FORMAT_RGB24", "rgb24" }, + { CAIRO_FORMAT_A8, "CAIRO_FORMAT_A8", "a8" }, + { CAIRO_FORMAT_A1, "CAIRO_FORMAT_A1", "a1" }, + { CAIRO_FORMAT_RGB16_565, "CAIRO_FORMAT_RGB16_565", "rgb16-565" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_format_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_pattern_type_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_PATTERN_TYPE_SOLID, "CAIRO_PATTERN_TYPE_SOLID", "solid" }, + { CAIRO_PATTERN_TYPE_SURFACE, "CAIRO_PATTERN_TYPE_SURFACE", "surface" }, + { CAIRO_PATTERN_TYPE_LINEAR, "CAIRO_PATTERN_TYPE_LINEAR", "linear" }, + { CAIRO_PATTERN_TYPE_RADIAL, "CAIRO_PATTERN_TYPE_RADIAL", "radial" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_pattern_type_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_extend_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_EXTEND_NONE, "CAIRO_EXTEND_NONE", "none" }, + { CAIRO_EXTEND_REPEAT, "CAIRO_EXTEND_REPEAT", "repeat" }, + { CAIRO_EXTEND_REFLECT, "CAIRO_EXTEND_REFLECT", "reflect" }, + { CAIRO_EXTEND_PAD, "CAIRO_EXTEND_PAD", "pad" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_extend_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_filter_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_FILTER_FAST, "CAIRO_FILTER_FAST", "fast" }, + { CAIRO_FILTER_GOOD, "CAIRO_FILTER_GOOD", "good" }, + { CAIRO_FILTER_BEST, "CAIRO_FILTER_BEST", "best" }, + { CAIRO_FILTER_NEAREST, "CAIRO_FILTER_NEAREST", "nearest" }, + { CAIRO_FILTER_BILINEAR, "CAIRO_FILTER_BILINEAR", "bilinear" }, + { CAIRO_FILTER_GAUSSIAN, "CAIRO_FILTER_GAUSSIAN", "gaussian" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_filter_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + +GType +cairo_gobject_region_overlap_get_type (void) +{ + static volatile gsize type_volatile = 0; + if (g_once_init_enter (&type_volatile)) { + static const GEnumValue values[] = { + { CAIRO_REGION_OVERLAP_IN, "CAIRO_REGION_OVERLAP_IN", "in" }, + { CAIRO_REGION_OVERLAP_OUT, "CAIRO_REGION_OVERLAP_OUT", "out" }, + { CAIRO_REGION_OVERLAP_PART, "CAIRO_REGION_OVERLAP_PART", "part" }, + { 0, NULL, NULL } + }; + GType type = g_enum_register_static (g_intern_static_string ("cairo_region_overlap_t"), values); + + g_once_init_leave (&type_volatile, type); + } + return type_volatile; +} + + +/* Generated data ends here */ + diff --git a/util/cairo-gobject/cairo-gobject-structs.c b/util/cairo-gobject/cairo-gobject-structs.c new file mode 100644 index 000000000..05e3ece80 --- /dev/null +++ b/util/cairo-gobject/cairo-gobject-structs.c @@ -0,0 +1,87 @@ +/* cairo - a vector graphics library with display and print output + * + * Copyright © 2010 Red Hat Inc. + * + * This library is free software; you can redistribute it and/or + * modify it either under the terms of the GNU Lesser General Public + * License version 2.1 as published by the Free Software Foundation + * (the "LGPL") or, at your option, under the terms of the Mozilla + * Public License Version 1.1 (the "MPL"). If you do not alter this + * notice, a recipient may use your version of this file under either + * the MPL or the LGPL. + * + * You should have received a copy of the LGPL along with this library + * in the file COPYING-LGPL-2.1; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + * You should have received a copy of the MPL along with this library + * in the file COPYING-MPL-1.1 + * + * The contents of this file are subject to the Mozilla Public License + * Version 1.1 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY + * OF ANY KIND, either express or implied. See the LGPL or the MPL for + * the specific language governing rights and limitations. + * + * The Original Code is the cairo graphics library. + * + * The Initial Developer of the Original Code is University of Southern + * California. + * + * Contributor(s): + * Benjamin Otte + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "cairo-gobject.h" + +#define CAIRO_DEFINE_BOXED(Name,underscore_name,copy_func,free_func) \ +GType \ +underscore_name ## _get_type (void) \ +{ \ + static volatile gsize type_volatile = 0; \ + if (g_once_init_enter (&type_volatile)) { \ + GType type = g_boxed_type_register_static (g_intern_static_string (Name), \ + (GBoxedCopyFunc)copy_func, \ + (GBoxedFreeFunc)free_func); \ + g_once_init_leave (&type_volatile, type); \ + } \ + return type_volatile; \ +} + +CAIRO_DEFINE_BOXED ("CairoContext", cairo_gobject_context, + cairo_reference, cairo_destroy); +CAIRO_DEFINE_BOXED ("CairoDevice", cairo_gobject_device, + cairo_device_reference, cairo_device_destroy); +CAIRO_DEFINE_BOXED ("CairoPattern", cairo_gobject_pattern, + cairo_pattern_reference, cairo_pattern_destroy); +CAIRO_DEFINE_BOXED ("CairoSurface", cairo_gobject_surface, + cairo_surface_reference, cairo_surface_destroy); +CAIRO_DEFINE_BOXED ("CairoScaledFont", cairo_gobject_scaled_font, + cairo_scaled_font_reference, cairo_scaled_font_destroy); +CAIRO_DEFINE_BOXED ("CairoFontFace", cairo_gobject_font_face, + cairo_font_face_reference, cairo_font_face_destroy); +CAIRO_DEFINE_BOXED ("CairoFontOptions", cairo_gobject_font_options, + cairo_font_options_copy, cairo_font_options_destroy); +CAIRO_DEFINE_BOXED ("CairoRegion", cairo_gobject_region, + cairo_region_reference, cairo_region_destroy); + +#define COPY_FUNC(name) \ +static gpointer \ +cairo_gobject_cairo_ ## name ## _copy (gpointer src) \ +{ \ + return g_memdup (src, sizeof (cairo_ ## name ## _t)); \ +} + +COPY_FUNC (rectangle) +CAIRO_DEFINE_BOXED ("CairoRectangle", cairo_gobject_rectangle, + cairo_gobject_cairo_rectangle_copy, g_free); +COPY_FUNC (rectangle_int) +CAIRO_DEFINE_BOXED ("CairoRectangleInt", cairo_gobject_rectangle_int, + cairo_gobject_cairo_rectangle_int_copy, g_free); + diff --git a/util/cairo-gobject/cairo-gobject.h b/util/cairo-gobject/cairo-gobject.h new file mode 100644 index 000000000..2db4fd11f --- /dev/null +++ b/util/cairo-gobject/cairo-gobject.h @@ -0,0 +1,186 @@ +/* cairo - a vector graphics library with display and print output + * + * Copyright © 2010 Red Hat Inc. + * + * This library is free software; you can redistribute it and/or + * modify it either under the terms of the GNU Lesser General Public + * License version 2.1 as published by the Free Software Foundation + * (the "LGPL") or, at your option, under the terms of the Mozilla + * Public License Version 1.1 (the "MPL"). If you do not alter this + * notice, a recipient may use your version of this file under either + * the MPL or the LGPL. + * + * You should have received a copy of the LGPL along with this library + * in the file COPYING-LGPL-2.1; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA + * You should have received a copy of the MPL along with this library + * in the file COPYING-MPL-1.1 + * + * The contents of this file are subject to the Mozilla Public License + * Version 1.1 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY + * OF ANY KIND, either express or implied. See the LGPL or the MPL for + * the specific language governing rights and limitations. + * + * The Original Code is the cairo graphics library. + * + * The Initial Developer of the Original Code is University of Southern + * California. + * + * Contributor(s): + * Benjamin Otte + */ + +#ifndef CAIRO_GOBJECT_H +#define CAIRO_GOBJECT_H + +#include + +#if CAIRO_HAS_GOBJECT_FUNCTIONS + +#include + +CAIRO_BEGIN_DECLS + +/* structs */ + +#define CAIRO_GOBJECT_TYPE_CONTEXT cairo_gobject_context_get_type +cairo_public GType +cairo_gobject_context_get_type (void); + +#define CAIRO_GOBJECT_TYPE_DEVICE cairo_gobject_device_get_type +cairo_public GType +cairo_gobject_device_get_type (void); + +#define CAIRO_GOBJECT_TYPE_PATTERN cairo_gobject_pattern_get_type +cairo_public GType +cairo_gobject_pattern_get_type (void); + +#define CAIRO_GOBJECT_TYPE_SURFACE cairo_gobject_surface_get_type +cairo_public GType +cairo_gobject_surface_get_type (void); + +#define CAIRO_GOBJECT_TYPE_RECTANGLE cairo_gobject_rectangle_get_type +cairo_public GType +cairo_gobject_rectangle_get_type (void); + +#define CAIRO_GOBJECT_TYPE_SCALED_FONT cairo_gobject_scaled_font_get_type +cairo_public GType +cairo_gobject_scaled_font_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FONT_FACE cairo_gobject_font_face_get_type +cairo_public GType +cairo_gobject_font_face_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FONT_OPTIONS cairo_gobject_font_options_get_type +cairo_public GType +cairo_gobject_font_options_get_type (void); + +#define CAIRO_GOBJECT_TYPE_RECTANGLE_INT cairo_gobject_rectangle_int_get_type +cairo_public GType +cairo_gobject_rectangle_int_get_type (void); + +#define CAIRO_GOBJECT_TYPE_REGION cairo_gobject_region_get_type +cairo_public GType +cairo_gobject_region_get_type (void); + +/* enums */ + +#define CAIRO_GOBJECT_TYPE_STATUS cairo_gobject_status_get_type +cairo_public GType +cairo_gobject_status_get_type (void); + +#define CAIRO_GOBJECT_TYPE_CONTENT cairo_gobject_content_get_type +cairo_public GType +cairo_gobject_content_get_type (void); + +#define CAIRO_GOBJECT_TYPE_OPERATOR cairo_gobject_operator_get_type +cairo_public GType +cairo_gobject_operator_get_type (void); + +#define CAIRO_GOBJECT_TYPE_ANTIALIAS cairo_gobject_antialias_get_type +cairo_public GType +cairo_gobject_antialias_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FILL_RULE cairo_gobject_fill_rule_get_type +cairo_public GType +cairo_gobject_fill_rule_get_type (void); + +#define CAIRO_GOBJECT_TYPE_LINE_CAP cairo_gobject_line_cap_get_type +cairo_public GType +cairo_gobject_line_cap_get_type (void); + +#define CAIRO_GOBJECT_TYPE_LINE_JOIN cairo_gobject_line_join_get_type +cairo_public GType +cairo_gobject_line_join_get_type (void); + +#define CAIRO_GOBJECT_TYPE_CLUSTER_FLAGS cairo_gobject_cluster_flags_get_type +cairo_public GType +cairo_gobject_text_cluster_flags_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FONT_SLANT cairo_gobject_font_slant_get_type +cairo_public GType +cairo_gobject_font_slant_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FONT_WEIGHT cairo_gobject_font_weight_get_type +cairo_public GType +cairo_gobject_font_weight_get_type (void); + +#define CAIRO_GOBJECT_TYPE_SUBPIXEL_ORDER cairo_gobject_subpixel_order_get_type +cairo_public GType +cairo_gobject_subpixel_order_get_type (void); + +#define CAIRO_GOBJECT_TYPE_HINT_STYLE cairo_gobject_hint_style_get_type +cairo_public GType +cairo_gobject_hint_style_get_type (void); + +#define CAIRO_GOBJECT_TYPE_HNT_METRICS cairo_gobject_hint_metrics_get_type +cairo_public GType +cairo_gobject_hint_metrics_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FONT_TYPE cairo_gobject_font_type_get_type +cairo_public GType +cairo_gobject_font_type_get_type (void); + +#define CAIRO_GOBJECT_TYPE_PATH_DATA_TYPE cairo_gobject_path_data_type_get_type +cairo_public GType +cairo_gobject_path_data_type_get_type (void); + +#define CAIRO_GOBJECT_TYPE_DEVICE_TYPE cairo_gobject_device_type_get_type +cairo_public GType +cairo_gobject_device_type_get_type (void); + +#define CAIRO_GOBJECT_TYPE_SURFACE_TYPE cairo_gobject_surface_type_get_type +cairo_public GType +cairo_gobject_surface_type_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FORMAT cairo_gobject_format_get_type +cairo_public GType +cairo_gobject_format_get_type (void); + +#define CAIRO_GOBJECT_TYPE_PATTERN_TYPE cairo_gobject_pattern_type_get_type +cairo_public GType +cairo_gobject_pattern_type_get_type (void); + +#define CAIRO_GOBJECT_TYPE_EXTEND cairo_gobject_extend_get_type +cairo_public GType +cairo_gobject_extend_get_type (void); + +#define CAIRO_GOBJECT_TYPE_FILTER cairo_gobject_filter_get_type +cairo_public GType +cairo_gobject_filter_get_type (void); + +#define CAIRO_GOBJECT_TYPE_REGION_OVERLAP cairo_gobject_region_overlap_get_type +cairo_public GType +cairo_gobject_region_overlap_get_type (void); + +CAIRO_END_DECLS + +#else /* CAIRO_HAS_GOBJECT_FUNCTIONS */ +# error Cairo was not compiled with support for GObject +#endif /* CAIRO_HAS_GOBJECT_FUNCTIONS */ + +#endif /* CAIRO_GOBJECT_H */ -- cgit v1.2.3