diff options
author | Olivier Andrieu <oandrieu@gmail.com> | 2003-11-22 15:24:38 +0000 |
---|---|---|
committer | Olivier Andrieu <oandrieu@gmail.com> | 2003-11-22 15:24:38 +0000 |
commit | d02ebeb277b0e760407ef751164253132c03c988 (patch) | |
tree | 4ef29cb4fe607363b6c0b96d148caab2b0835283 | |
parent | 6e3d8eb9b96aa69fb519cd4220090cb6e533480f (diff) |
use a Val_cairo_format_t
-rw-r--r-- | src/ml_cairo.h | 16 | ||||
-rw-r--r-- | src/ml_cairo_lablgtk.c | 2 |
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)); |