[seed] cairo: Start defining cairo enums



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]