Re: More overrides
| From: | Andrei Zmievski | 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