cvs: php-gtk /ext/gtk+ gdk.overrides php_gtk+_types.c /main php_gtk.h
| From: | Andrei Zmievski | Date: | Thu, 09 Mar 2006 07:57:36 +0000 |
| Subject: | cvs: php-gtk /ext/gtk+ gdk.overrides php_gtk+_types.c /main php_gtk.h | ||
| Groups: | php.gtk.cvs | ||
| Request: | Send a blank email to php-gtk-cvs+get-2178@lists.php.net to get a copy of this message | ||
andrei Thu Mar 9 07:57:36 2006 UTC
Modified files:
/php-gtk/ext/gtk+ gdk.overrides php_gtk+_types.c
/php-gtk/main php_gtk.h
Log:
Implement GdkGC::set_dashes() and ::set_values().
# Untested
http://cvs.php.net/viewcvs.cgi/php-gtk/ext/gtk+/gdk.overrides?r1=1.45&r2=1.46&diff_format=u Index: php-gtk/ext/gtk+/gdk.overrides diff -u php-gtk/ext/gtk+/gdk.overrides:1.45 php-gtk/ext/gtk+/gdk.overrides:1.46 --- php-gtk/ext/gtk+/gdk.overrides:1.45 Tue Mar 7 18:41:41 2006 +++ php-gtk/ext/gtk+/gdk.overrides Thu Mar 9 07:57:36 2006 @@ -47,7 +47,6 @@ /* }}} */ - %% {{{ Gdk %% @@ -91,7 +90,6 @@ %% }}} - %% {{{ GdkColor %% @@ -323,7 +321,6 @@ %% }}} - %% {{{ GdkDisplay %% @@ -373,10 +370,21 @@ %% }}} - %% {{{ GdkDrawable %% +override-prop GdkDrawable xid +PHPG_PROP_READER +{ +#if defined(GDK_WINDOWING_X11) + RETVAL_LONG(GDK_DRAWABLE_XID(((GdkDrawable *)((phpg_gobject_t *)object)->obj))); +#else + RETVAL_LONG((long) GDK_WINDOW_HWND((GdkDrawable *)((phpg_gobject_t *)object)->obj)); +#endif + return SUCCESS; +} + +%% override gdk_drawable_get_size PHP_METHOD { @@ -393,7 +401,6 @@ %% }}} - %% {{{ GdkEvent %% {{{ read_property handler @@ -1012,6 +1019,217 @@ %% }}} +%% {{{ GdkGC + +%% +override gdk_gc_set_dashes +PHP_METHOD +{ + int dash_offset, n, i; + zval *dash_array, **item; + guchar *dash_list; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "ia", &dash_offset, &dash_array)) { + return; + } + + n = zend_hash_num_elements(Z_ARRVAL_P(dash_array)); + dash_list = emalloc(n * sizeof(char)); + for (i = 0, zend_hash_internal_pointer_reset(Z_ARRVAL_P(dash_array)); + zend_hash_get_current_data(Z_ARRVAL_P(dash_array), (void **) &item) == SUCCESS; + zend_hash_move_forward(Z_ARRVAL_P(dash_array)), i++) { + + if (Z_TYPE_PP(item) != IS_LONG) { + php_error(E_WARNING, "%s::%s(): dash list elements have to be integers", + get_active_class_name(NULL TSRMLS_CC), get_active_function_name(TSRMLS_C)); + efree(dash_list); + return; + } + dash_list[i] = (guchar)clamp_int(Z_LVAL_PP(item), 0, 255); + if (dash_list[i] == 0) { + php_error(E_WARNING, "%s::%s(): dash list element cannot be 0", + get_active_class_name(NULL TSRMLS_CC), get_active_function_name(TSRMLS_C)); + efree(dash_list); + return; + } + } + + gdk_gc_set_dashes(GDK_GC(PHPG_GOBJECT(this_ptr)), dash_offset, dash_list, n); + efree(dash_list); +} + +%% +override gdk_gc_set_values +PHP_METHOD +{ + zval *php_values, **value; + char *key; + uint key_len; + ulong num_key; + HashTable *hash; + GdkGCValues values; + GdkGCValuesMask mask = 0; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "a", &php_values)) { + return; + } + + hash = HASH_OF(php_values); + zend_hash_internal_pointer_reset(hash); + while (zend_hash_get_current_data(hash, (void**)&value) == SUCCESS) { + if (zend_hash_get_current_key_ex(hash, &key, &key_len, &num_key, 0, NULL) == HASH_KEY_IS_STRING) { + if (!strcmp(key, "foreground")) { + GdkColor *c; + + if (!phpg_object_isa(*value, gdkcolor_ce)) { + php_error(E_WARNING, "foreground value has to be a GdkColor"); + return; + } + c = (GdkColor *) PHPG_GBOXED(*value); + mask |= GDK_GC_FOREGROUND; + values.foreground.red = c->red; + values.foreground.green = c->green; + values.foreground.blue = c->blue; + values.foreground.pixel = c->pixel; + } else if (!strcmp(key, "background")) { + GdkColor *c; + + if (!phpg_object_isa(*value, gdkcolor_ce)) { + php_error(E_WARNING, "background value has to be a GdkColor"); + return; + } + c = (GdkColor *) PHPG_GBOXED(*value); + mask |= GDK_GC_BACKGROUND; + values.background.red = c->red; + values.background.green = c->green; + values.background.blue = c->blue; + values.background.pixel = c->pixel; + } else if (!strcmp(key, "font")) { + if (!phpg_object_isa(*value, gdkfont_ce)) { + php_error(E_WARNING, "font value has to be a GdkFont"); + return; + } + mask |= GDK_GC_FONT; + values.font = (GdkFont *) PHPG_GBOXED(*value); + } else if (!strcmp(key, "function")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "function value has to be an integer"); + return; + } + mask |= GDK_GC_FUNCTION; + values.function = Z_LVAL_PP(value); + } else if (!strcmp(key, "fill")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "fill value has to be an integer"); + return; + } + mask |= GDK_GC_FILL; + values.fill = Z_LVAL_PP(value); + } else if (!strcmp(key, "tile")) { + if (!phpg_object_isa(*value, gdkpixmap_ce)) { + php_error(E_WARNING, "tile value has to be a GdkPixmap"); + return; + } + mask |= GDK_GC_TILE; + values.tile = GDK_PIXMAP(PHPG_GOBJECT(*value)); + } else if (!strcmp(key, "stipple")) { + if (!phpg_object_isa(*value, gdkpixmap_ce)) { + php_error(E_WARNING, "stipple value has to be a GdkPixmap"); + return; + } + mask |= GDK_GC_STIPPLE; + values.stipple = GDK_PIXMAP(PHPG_GOBJECT(*value)); + } else if (!strcmp(key, "clip_mask")) { + if (!phpg_object_isa(*value, gdkpixmap_ce)) { + php_error(E_WARNING, "clip_mask value has to be a GdkPixmap"); + return; + } + mask |= GDK_GC_CLIP_MASK; + values.clip_mask = GDK_PIXMAP(PHPG_GOBJECT(*value)); + } else if (!strcmp(key, "subwindow_mode")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "subwindow_mode value has to be an integer"); + return; + } + mask |= GDK_GC_SUBWINDOW; + values.subwindow_mode = Z_LVAL_PP(value); + } else if (!strcmp(key, "ts_x_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "ts_x_origin value has to be an integer"); + return; + } + mask |= GDK_GC_TS_X_ORIGIN; + values.ts_x_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "ts_y_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "ts_y_origin value has to be an integer"); + return; + } + mask |= GDK_GC_TS_Y_ORIGIN; + values.ts_y_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "clip_x_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "clip_x_origin value has to be an integer"); + return; + } + mask |= GDK_GC_CLIP_X_ORIGIN; + values.clip_x_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "clip_y_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "clip_y_origin value has to be an integer"); + return; + } + mask |= GDK_GC_CLIP_Y_ORIGIN; + values.clip_y_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "graphics_exposures")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "graphics_exposures value has to be an integer"); + return; + } + mask |= GDK_GC_EXPOSURES; + values.graphics_exposures = Z_LVAL_PP(value); + } else if (!strcmp(key, "line_width")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "line_width value has to be an integer"); + return; + } + mask |= GDK_GC_LINE_WIDTH; + values.line_width = Z_LVAL_PP(value); + } else if (!strcmp(key, "line_style")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "line_style value has to be an integer"); + return; + } + mask |= GDK_GC_LINE_STYLE; + values.line_style = Z_LVAL_PP(value); + } else if (!strcmp(key, "cap_style")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "cap_style value has to be an integer"); + return; + } + mask |= GDK_GC_CAP_STYLE; + values.cap_style = Z_LVAL_PP(value); + } else if (!strcmp(key, "join_style")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "join_style value has to be an integer"); + return; + } + mask |= GDK_GC_JOIN_STYLE; + values.join_style = Z_LVAL_PP(value); + } + } + zend_hash_move_forward(hash); + } + + gdk_gc_set_values(GDK_GC(PHPG_GOBJECT(this_ptr)), &values, mask); + RETURN_TRUE; +} + +%% }}} %% {{{ GdkPixbuf @@ -1191,7 +1409,6 @@ %% }}} - %% {{{ GdkScreen %% @@ -1242,7 +1459,6 @@ %% }}} - %% {{{ GdkWindow %% @@ -1429,18 +1645,6 @@ } %% -override-prop GdkDrawable xid -PHPG_PROP_READER -{ -#if defined(GDK_WINDOWING_X11) - RETVAL_LONG(GDK_DRAWABLE_XID(((GdkDrawable *)((phpg_gobject_t *)object)->obj))); -#else - RETVAL_LONG((long) GDK_WINDOW_HWND((GdkDrawable *)((phpg_gobject_t *)object)->obj)); -#endif - return SUCCESS; -} - -%% override gdk_atom_intern PHP_METHOD { http://cvs.php.net/viewcvs.cgi/php-gtk/ext/gtk+/php_gtk+_types.c?r1=1.46&r2=1.47&diff_format=u Index: php-gtk/ext/gtk+/php_gtk+_types.c diff -u php-gtk/ext/gtk+/php_gtk+_types.c:1.46 php-gtk/ext/gtk+/php_gtk+_types.c:1.47 --- php-gtk/ext/gtk+/php_gtk+_types.c:1.46 Fri Feb 24 15:23:26 2006 +++ php-gtk/ext/gtk+/php_gtk+_types.c Thu Mar 9 07:57:36 2006 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: php_gtk+_types.c,v 1.46 2006/02/24 15:23:26 sfox Exp $ */ +/* $Id: php_gtk+_types.c,v 1.47 2006/03/09 07:57:36 andrei Exp $ */ #include "php_gtk.h" @@ -251,7 +251,7 @@ case STYLE_GC_ARRAY: { GdkGC **array = (GdkGC **) sh->array; - if (!phpg_object_check(value, gdkgc_ce TSRMLS_CC)) { + if (!phpg_object_isa(value, gdkgc_ce TSRMLS_CC)) { php_error(E_WARNING, "Can only assign a GdkGC object"); return; } @@ -265,7 +265,7 @@ case STYLE_PIXMAP_ARRAY: { GdkPixmap **array = (GdkPixmap **) sh->array; - if (Z_TYPE_P(value) != IS_NULL && !phpg_object_check(value, gdkpixmap_ce TSRMLS_CC)) { + if (Z_TYPE_P(value) != IS_NULL && !phpg_object_isa(value, gdkpixmap_ce TSRMLS_CC)) { php_error(E_WARNING, "Can only assign a GdkPixmap object or null"); return; } http://cvs.php.net/viewcvs.cgi/php-gtk/main/php_gtk.h?r1=1.127&r2=1.128&diff_format=u Index: php-gtk/main/php_gtk.h diff -u php-gtk/main/php_gtk.h:1.127 php-gtk/main/php_gtk.h:1.128 --- php-gtk/main/php_gtk.h:1.127 Sun Feb 19 21:53:44 2006 +++ php-gtk/main/php_gtk.h Thu Mar 9 07:57:36 2006 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: php_gtk.h,v 1.127 2006/02/19 21:53:44 andrei Exp $: */ +/* $Id: php_gtk.h,v 1.128 2006/03/09 07:57:36 andrei Exp $: */ #ifndef _PHP_GTK_H #define _PHP_GTK_H @@ -303,7 +303,7 @@ PHP_GTK_API void php_gtk_signal_connect_impl(INTERNAL_FUNCTION_PARAMETERS, int pass_object, int after); PHP_GTK_API zval* php_gtk_simple_signal_callback(GtkObject *o, gpointer data, zval *gtk_args ); -static inline zend_bool phpg_object_check(zval *zobj, zend_class_entry *ce TSRMLS_DC) +static inline zend_bool phpg_object_isa(zval *zobj, zend_class_entry *ce TSRMLS_DC) { phpg_return_val_if_fail(zobj != NULL, FALSE); phpg_return_val_if_fail(ce != NULL, FALSE);
http://cvs.php.net/viewcvs.cgi/php-gtk/ext/gtk+/gdk.overrides?r1=1.45&r2=1.46&diff_format=u Index: php-gtk/ext/gtk+/gdk.overrides diff -u php-gtk/ext/gtk+/gdk.overrides:1.45 php-gtk/ext/gtk+/gdk.overrides:1.46 --- php-gtk/ext/gtk+/gdk.overrides:1.45 Tue Mar 7 18:41:41 2006 +++ php-gtk/ext/gtk+/gdk.overrides Thu Mar 9 07:57:36 2006 @@ -47,7 +47,6 @@ /* }}} */ - %% {{{ Gdk %% @@ -91,7 +90,6 @@ %% }}} - %% {{{ GdkColor %% @@ -323,7 +321,6 @@ %% }}} - %% {{{ GdkDisplay %% @@ -373,10 +370,21 @@ %% }}} - %% {{{ GdkDrawable %% +override-prop GdkDrawable xid +PHPG_PROP_READER +{ +#if defined(GDK_WINDOWING_X11) + RETVAL_LONG(GDK_DRAWABLE_XID(((GdkDrawable *)((phpg_gobject_t *)object)->obj))); +#else + RETVAL_LONG((long) GDK_WINDOW_HWND((GdkDrawable *)((phpg_gobject_t *)object)->obj)); +#endif + return SUCCESS; +} + +%% override gdk_drawable_get_size PHP_METHOD { @@ -393,7 +401,6 @@ %% }}} - %% {{{ GdkEvent %% {{{ read_property handler @@ -1012,6 +1019,217 @@ %% }}} +%% {{{ GdkGC + +%% +override gdk_gc_set_dashes +PHP_METHOD +{ + int dash_offset, n, i; + zval *dash_array, **item; + guchar *dash_list; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "ia", &dash_offset, &dash_array)) { + return; + } + + n = zend_hash_num_elements(Z_ARRVAL_P(dash_array)); + dash_list = emalloc(n * sizeof(char)); + for (i = 0, zend_hash_internal_pointer_reset(Z_ARRVAL_P(dash_array)); + zend_hash_get_current_data(Z_ARRVAL_P(dash_array), (void **) &item) == SUCCESS; + zend_hash_move_forward(Z_ARRVAL_P(dash_array)), i++) { + + if (Z_TYPE_PP(item) != IS_LONG) { + php_error(E_WARNING, "%s::%s(): dash list elements have to be integers", + get_active_class_name(NULL TSRMLS_CC), get_active_function_name(TSRMLS_C)); + efree(dash_list); + return; + } + dash_list[i] = (guchar)clamp_int(Z_LVAL_PP(item), 0, 255); + if (dash_list[i] == 0) { + php_error(E_WARNING, "%s::%s(): dash list element cannot be 0", + get_active_class_name(NULL TSRMLS_CC), get_active_function_name(TSRMLS_C)); + efree(dash_list); + return; + } + } + + gdk_gc_set_dashes(GDK_GC(PHPG_GOBJECT(this_ptr)), dash_offset, dash_list, n); + efree(dash_list); +} + +%% +override gdk_gc_set_values +PHP_METHOD +{ + zval *php_values, **value; + char *key; + uint key_len; + ulong num_key; + HashTable *hash; + GdkGCValues values; + GdkGCValuesMask mask = 0; + + NOT_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "a", &php_values)) { + return; + } + + hash = HASH_OF(php_values); + zend_hash_internal_pointer_reset(hash); + while (zend_hash_get_current_data(hash, (void**)&value) == SUCCESS) { + if (zend_hash_get_current_key_ex(hash, &key, &key_len, &num_key, 0, NULL) == HASH_KEY_IS_STRING) { + if (!strcmp(key, "foreground")) { + GdkColor *c; + + if (!phpg_object_isa(*value, gdkcolor_ce)) { + php_error(E_WARNING, "foreground value has to be a GdkColor"); + return; + } + c = (GdkColor *) PHPG_GBOXED(*value); + mask |= GDK_GC_FOREGROUND; + values.foreground.red = c->red; + values.foreground.green = c->green; + values.foreground.blue = c->blue; + values.foreground.pixel = c->pixel; + } else if (!strcmp(key, "background")) { + GdkColor *c; + + if (!phpg_object_isa(*value, gdkcolor_ce)) { + php_error(E_WARNING, "background value has to be a GdkColor"); + return; + } + c = (GdkColor *) PHPG_GBOXED(*value); + mask |= GDK_GC_BACKGROUND; + values.background.red = c->red; + values.background.green = c->green; + values.background.blue = c->blue; + values.background.pixel = c->pixel; + } else if (!strcmp(key, "font")) { + if (!phpg_object_isa(*value, gdkfont_ce)) { + php_error(E_WARNING, "font value has to be a GdkFont"); + return; + } + mask |= GDK_GC_FONT; + values.font = (GdkFont *) PHPG_GBOXED(*value); + } else if (!strcmp(key, "function")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "function value has to be an integer"); + return; + } + mask |= GDK_GC_FUNCTION; + values.function = Z_LVAL_PP(value); + } else if (!strcmp(key, "fill")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "fill value has to be an integer"); + return; + } + mask |= GDK_GC_FILL; + values.fill = Z_LVAL_PP(value); + } else if (!strcmp(key, "tile")) { + if (!phpg_object_isa(*value, gdkpixmap_ce)) { + php_error(E_WARNING, "tile value has to be a GdkPixmap"); + return; + } + mask |= GDK_GC_TILE; + values.tile = GDK_PIXMAP(PHPG_GOBJECT(*value)); + } else if (!strcmp(key, "stipple")) { + if (!phpg_object_isa(*value, gdkpixmap_ce)) { + php_error(E_WARNING, "stipple value has to be a GdkPixmap"); + return; + } + mask |= GDK_GC_STIPPLE; + values.stipple = GDK_PIXMAP(PHPG_GOBJECT(*value)); + } else if (!strcmp(key, "clip_mask")) { + if (!phpg_object_isa(*value, gdkpixmap_ce)) { + php_error(E_WARNING, "clip_mask value has to be a GdkPixmap"); + return; + } + mask |= GDK_GC_CLIP_MASK; + values.clip_mask = GDK_PIXMAP(PHPG_GOBJECT(*value)); + } else if (!strcmp(key, "subwindow_mode")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "subwindow_mode value has to be an integer"); + return; + } + mask |= GDK_GC_SUBWINDOW; + values.subwindow_mode = Z_LVAL_PP(value); + } else if (!strcmp(key, "ts_x_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "ts_x_origin value has to be an integer"); + return; + } + mask |= GDK_GC_TS_X_ORIGIN; + values.ts_x_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "ts_y_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "ts_y_origin value has to be an integer"); + return; + } + mask |= GDK_GC_TS_Y_ORIGIN; + values.ts_y_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "clip_x_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "clip_x_origin value has to be an integer"); + return; + } + mask |= GDK_GC_CLIP_X_ORIGIN; + values.clip_x_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "clip_y_origin")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "clip_y_origin value has to be an integer"); + return; + } + mask |= GDK_GC_CLIP_Y_ORIGIN; + values.clip_y_origin = Z_LVAL_PP(value); + } else if (!strcmp(key, "graphics_exposures")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "graphics_exposures value has to be an integer"); + return; + } + mask |= GDK_GC_EXPOSURES; + values.graphics_exposures = Z_LVAL_PP(value); + } else if (!strcmp(key, "line_width")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "line_width value has to be an integer"); + return; + } + mask |= GDK_GC_LINE_WIDTH; + values.line_width = Z_LVAL_PP(value); + } else if (!strcmp(key, "line_style")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "line_style value has to be an integer"); + return; + } + mask |= GDK_GC_LINE_STYLE; + values.line_style = Z_LVAL_PP(value); + } else if (!strcmp(key, "cap_style")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "cap_style value has to be an integer"); + return; + } + mask |= GDK_GC_CAP_STYLE; + values.cap_style = Z_LVAL_PP(value); + } else if (!strcmp(key, "join_style")) { + if (Z_TYPE_PP(value) != IS_LONG) { + php_error(E_WARNING, "join_style value has to be an integer"); + return; + } + mask |= GDK_GC_JOIN_STYLE; + values.join_style = Z_LVAL_PP(value); + } + } + zend_hash_move_forward(hash); + } + + gdk_gc_set_values(GDK_GC(PHPG_GOBJECT(this_ptr)), &values, mask); + RETURN_TRUE; +} + +%% }}} %% {{{ GdkPixbuf @@ -1191,7 +1409,6 @@ %% }}} - %% {{{ GdkScreen %% @@ -1242,7 +1459,6 @@ %% }}} - %% {{{ GdkWindow %% @@ -1429,18 +1645,6 @@ } %% -override-prop GdkDrawable xid -PHPG_PROP_READER -{ -#if defined(GDK_WINDOWING_X11) - RETVAL_LONG(GDK_DRAWABLE_XID(((GdkDrawable *)((phpg_gobject_t *)object)->obj))); -#else - RETVAL_LONG((long) GDK_WINDOW_HWND((GdkDrawable *)((phpg_gobject_t *)object)->obj)); -#endif - return SUCCESS; -} - -%% override gdk_atom_intern PHP_METHOD { http://cvs.php.net/viewcvs.cgi/php-gtk/ext/gtk+/php_gtk+_types.c?r1=1.46&r2=1.47&diff_format=u Index: php-gtk/ext/gtk+/php_gtk+_types.c diff -u php-gtk/ext/gtk+/php_gtk+_types.c:1.46 php-gtk/ext/gtk+/php_gtk+_types.c:1.47 --- php-gtk/ext/gtk+/php_gtk+_types.c:1.46 Fri Feb 24 15:23:26 2006 +++ php-gtk/ext/gtk+/php_gtk+_types.c Thu Mar 9 07:57:36 2006 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: php_gtk+_types.c,v 1.46 2006/02/24 15:23:26 sfox Exp $ */ +/* $Id: php_gtk+_types.c,v 1.47 2006/03/09 07:57:36 andrei Exp $ */ #include "php_gtk.h" @@ -251,7 +251,7 @@ case STYLE_GC_ARRAY: { GdkGC **array = (GdkGC **) sh->array; - if (!phpg_object_check(value, gdkgc_ce TSRMLS_CC)) { + if (!phpg_object_isa(value, gdkgc_ce TSRMLS_CC)) { php_error(E_WARNING, "Can only assign a GdkGC object"); return; } @@ -265,7 +265,7 @@ case STYLE_PIXMAP_ARRAY: { GdkPixmap **array = (GdkPixmap **) sh->array; - if (Z_TYPE_P(value) != IS_NULL && !phpg_object_check(value, gdkpixmap_ce TSRMLS_CC)) { + if (Z_TYPE_P(value) != IS_NULL && !phpg_object_isa(value, gdkpixmap_ce TSRMLS_CC)) { php_error(E_WARNING, "Can only assign a GdkPixmap object or null"); return; } http://cvs.php.net/viewcvs.cgi/php-gtk/main/php_gtk.h?r1=1.127&r2=1.128&diff_format=u Index: php-gtk/main/php_gtk.h diff -u php-gtk/main/php_gtk.h:1.127 php-gtk/main/php_gtk.h:1.128 --- php-gtk/main/php_gtk.h:1.127 Sun Feb 19 21:53:44 2006 +++ php-gtk/main/php_gtk.h Thu Mar 9 07:57:36 2006 @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: php_gtk.h,v 1.127 2006/02/19 21:53:44 andrei Exp $: */ +/* $Id: php_gtk.h,v 1.128 2006/03/09 07:57:36 andrei Exp $: */ #ifndef _PHP_GTK_H #define _PHP_GTK_H @@ -303,7 +303,7 @@ PHP_GTK_API void php_gtk_signal_connect_impl(INTERNAL_FUNCTION_PARAMETERS, int pass_object, int after); PHP_GTK_API zval* php_gtk_simple_signal_callback(GtkObject *o, gpointer data, zval *gtk_args ); -static inline zend_bool phpg_object_check(zval *zobj, zend_class_entry *ce TSRMLS_DC) +static inline zend_bool phpg_object_isa(zval *zobj, zend_class_entry *ce TSRMLS_DC) { phpg_return_val_if_fail(zobj != NULL, FALSE); phpg_return_val_if_fail(ce != NULL, FALSE);