[seed] cairo: Start defining cairo enums
- From: Robert Carr <racarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] cairo: Start defining cairo enums
- Date: Thu, 14 May 2009 04:01:51 -0400 (EDT)
commit 9fd6990d7dc2f7c611c7e8873ab462ec7d0c5aaf
Author: Robert Carr <racarr svn gnome org>
Date: Thu May 14 03:58:46 2009 -0400
cairo: Start defining cairo enums
---
modules/cairo/Makefile.am | 3 ++-
modules/cairo/seed-cairo-enums.c | 18 ++++++++++++++++++
modules/cairo/seed-cairo-enums.h | 5 +++++
modules/cairo/seed-cairo.c | 1 +
4 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/modules/cairo/Makefile.am b/modules/cairo/Makefile.am
index e16ad9e..272a434 100644
--- a/modules/cairo/Makefile.am
+++ b/modules/cairo/Makefile.am
@@ -9,7 +9,8 @@ seedlib_LTLIBRARIES = \
libcairo_la_SOURCES = \
seed-cairo.c \
seed-cairo-surface.c \
- seed-cairo-image-surface.c
+ seed-cairo-image-surface.c \
+ seed-cairo-enums.c
libcairo_la_CFLAGS = \
$(GOBJECT_INTROSPECTION_CFLAGS) \
diff --git a/modules/cairo/seed-cairo-enums.c b/modules/cairo/seed-cairo-enums.c
new file mode 100644
index 0000000..6d2d9c0
--- /dev/null
+++ b/modules/cairo/seed-cairo-enums.c
@@ -0,0 +1,18 @@
+#include <seed.h>
+#include <cairo/cairo.h>
+
+#define ENUM_MEMBER(holder, name, value) \
+ seed_object_set_property (ctx, holder, name, seed_value_from_long (ctx, value, NULL))
+
+void
+seed_define_cairo_enums (SeedContext ctx,
+ SeedObject namespace_ref)
+{
+ SeedObject content_holder;
+
+ content_holder = seed_make_object (ctx, NULL, NULL);
+ seed_object_set_property (ctx, namespace_ref, "Content", content_holder);
+ ENUM_MEMBER(content_holder, "COLOR", CAIRO_CONTENT_COLOR);
+ ENUM_MEMBER(content_holder, "ALPHA", CAIRO_CONTENT_ALPHA);
+ ENUM_MEMBER(content_holder, "COLOR_ALPHA", CAIRO_CONTENT_COLOR_ALPHA);
+}
diff --git a/modules/cairo/seed-cairo-enums.h b/modules/cairo/seed-cairo-enums.h
new file mode 100644
index 0000000..4ae0b59
--- /dev/null
+++ b/modules/cairo/seed-cairo-enums.h
@@ -0,0 +1,5 @@
+#ifndef _SEED_CAIRO_ENUMS_H
+#define _SEED_CAIRO_ENUMS_H
+void seed_define_cairo_enums (SeedContext ctx, SeedObject namespace_ref);
+
+#endif
diff --git a/modules/cairo/seed-cairo.c b/modules/cairo/seed-cairo.c
index 9eef50a..db6ceab 100644
--- a/modules/cairo/seed-cairo.c
+++ b/modules/cairo/seed-cairo.c
@@ -28,6 +28,7 @@ seed_module_init(SeedEngine * local_eng)
// Temporary hack until API changes.
seed_value_protect (eng->context, namespace_ref);
seed_define_cairo_surface (eng->context, namespace_ref);
+ seed_define_cairo_enums (eng->context, namespace_ref);
return namespace_ref;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]