1 ! Copyright (C) 2010 Anton Gorenko.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.c-types alien.data alien.libraries
4 alien.syntax combinators gio.ffi glib.ffi gobject-introspection
5 gobject-introspection.standard-types kernel libc sequences
9 << "gio.ffi" require >>
13 LIBRARY-UNIX: gdk.pixbuf cdecl "libgdk_pixbuf-2.0.so"
14 LIBRARY-MACOSX: gdk.pixbuf cdecl "libgdk_pixbuf-2.0.dylib"
15 LIBRARY-WINDOWS: gdk.pixbuf cdecl "libgdk_pixbuf-2.0-0.dll"
17 GIR: vocab:gdk/pixbuf/GdkPixbuf-2.0.gir
19 ! <workaround incorrect return-values in gir
21 FORGET: gdk_pixbuf_get_pixels
22 FUNCTION: guint8* gdk_pixbuf_get_pixels ( GdkPixbuf* pixbuf )
24 FORGET: gdk_pixbuf_new_from_data
25 FUNCTION: GdkPixbuf* gdk_pixbuf_new_from_data ( guint8* data,
26 GdkColorspace colorspace,
32 GdkPixbufDestroyNotify destroy_fn,
33 gpointer destroy_fn_data )
35 FORGET: gdk_pixbuf_save_to_bufferv
36 FUNCTION: gboolean gdk_pixbuf_save_to_bufferv ( GdkPixbuf* pixbuf,
47 : data>GInputStream ( data -- GInputStream )
48 [ malloc-byte-array &free ] [ length ] bi
49 f g_memory_input_stream_new_from_data ;
51 : GInputStream>GdkPixbuf ( GInputStream -- GdkPixbuf )
52 f { { pointer: GError initial: f } }
53 [ gdk_pixbuf_new_from_stream ] with-out-parameters