summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Andrieu <oandrieu@gmail.com>2003-11-22 15:24:38 +0000
committerOlivier Andrieu <oandrieu@gmail.com>2003-11-22 15:24:38 +0000
commitd02ebeb277b0e760407ef751164253132c03c988 (patch)
tree4ef29cb4fe607363b6c0b96d148caab2b0835283
parent6e3d8eb9b96aa69fb519cd4220090cb6e533480f (diff)
use a Val_cairo_format_t
-rw-r--r--src/ml_cairo.h16
-rw-r--r--src/ml_cairo_lablgtk.c2
2 files changed, 17 insertions, 1 deletions
diff --git a/src/ml_cairo.h b/src/ml_cairo.h
index bd182be..a61a1a2 100644
--- a/src/ml_cairo.h
+++ b/src/ml_cairo.h
@@ -7,5 +7,21 @@ cairo_format_t_val(value _v)
return _conv_tab[Int_val(_v)];
}
+static inline value
+Val_cairo_format_t(cairo_format_t fmt)
+{
+ switch (fmt) {
+ case CAIRO_FORMAT_ARGB32:
+ return Val_int(0);
+ case CAIRO_FORMAT_RGB24:
+ return Val_int(1);
+ case CAIRO_FORMAT_A8:
+ return Val_int(2);
+ case CAIRO_FORMAT_A1:
+ default:
+ return Val_int(3);
+ }
+}
+
value Val_cairo_surface_t (cairo_surface_t *);
value Val_cairo_t (cairo_t *);
diff --git a/src/ml_cairo_lablgtk.c b/src/ml_cairo_lablgtk.c
index 0b0d0af..cd85de8 100644
--- a/src/ml_cairo_lablgtk.c
+++ b/src/ml_cairo_lablgtk.c
@@ -34,7 +34,7 @@ cairo_lablgtk_of_pixbuf(value pb)
v = alloc_small(5, 0);
Field(v, 0) = Val_bp(gdk_pixbuf_get_pixels(pixbuf));
- Field(v, 1) = Val_int(format);
+ Field(v, 1) = Val_cairo_format_t(format);
Field(v, 2) = Val_int(gdk_pixbuf_get_width(pixbuf));
Field(v, 3) = Val_int(gdk_pixbuf_get_height(pixbuf));
Field(v, 4) = Val_int(gdk_pixbuf_get_rowstride(pixbuf));