Re: More overrides

From: Date: Fri, 15 Jun 2007 20:51:02 +0000
Subject: Re: More overrides
References: 1  Groups: php.gtk.dev 
Request: Send a blank email to php-gtk-dev+get-3877@lists.php.net to get a copy of this message
Looks fine. -Andrei On Jun 12, 2007, at 5:26 PM, Elizabeth Smith wrote:
I've been back to writing php-gtk code and have found some missing functions that I need - first one here is GtkPixbuf::get_formats(); I just have it returning an array, wasn't sure if this would work or if you'd prefer a GtkPixbufFormat class to wrap the data in... Index: gdk.overrides =================================================================== RCS file: /repository/php-gtk/ext/gtk+/gdk.overrides,v retrieving revision 1.75 diff -u -r1.75 gdk.overrides --- gdk.overrides 11 Feb 2007 07:28:57 -0000 1.75 +++ gdk.overrides 13 Jun 2007 00:19:13 -0000 @@ -2198,6 +2198,58 @@ } %% +override gdk_pixbuf_get_formats +PHP_METHOD +{
+    GSList *list, *tmp;
+    zval *item, *mimes;
+    gchar *sval, **aval;
+    gint i;
+    GdkPixbufFormat *format;
+
+    list = gdk_pixbuf_get_formats();
+    array_init(return_value);
+    for (tmp = list; tmp != NULL; tmp = tmp->next) {
+        format = tmp->data;
+
+        MAKE_STD_ZVAL(item);
+        array_init(item);
+
+        sval = gdk_pixbuf_format_get_name(format);
+        add_assoc_string(item, "name", sval, 1);
+        g_free(sval);
+
+        sval = gdk_pixbuf_format_get_description(format);
+        add_assoc_string(item, "description", sval, 1);
+        g_free(sval);
+
+        aval = gdk_pixbuf_format_get_mime_types(format);
+        MAKE_STD_ZVAL(mimes);
+        array_init(mimes);
+        for (i = 0; aval[i] != NULL; i++) {
+            add_next_index_string(mimes, aval[i], 1);
+        }
+        add_assoc_zval(item, "description", mimes);
+        g_strfreev(aval);
+
+        aval = gdk_pixbuf_format_get_extensions(format);
+        MAKE_STD_ZVAL(mimes);
+        array_init(mimes);
+        for (i = 0; aval[i] != NULL; i++) {
+            add_next_index_string(mimes, aval[i], 1);
+        }
+        add_assoc_zval(item, "extensions", mimes);
+        g_strfreev(aval);
+
+        add_assoc_long(item, "is_writable", gdk_pixbuf_format_is_writable(format));
+        add_assoc_long(item, "is_scalable", gdk_pixbuf_format_is_scalable(format));
+
+        add_next_index_zval(return_value, item);
+    }
+    g_slist_free(list);
+} + +%% add-arginfo GdkPixbuf fill static ZEND_BEGIN_ARG_INFO_EX(ARGINFO_NAME, 0, 0, 1) --PHP-GTK Development Mailing List (http://gtk.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.gtk.dev (#3877) next »