com gtk/php-gtk: Some simple event overrides: GdkEvent::get _state GdkEvent::get_root_coords GdkEvent::ge t_coords GdkEvent::get_axis: ext/gtk+/gdk.overr ides
[email protected] (David Soria Parra) Sun, 15 Jan 2006 22:21:41 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 5daea518cdc01115f764026c53926f9942f51f29 Author: Christian Weiske <[email protected]> Sun, 15 Jan 2006 22:21:41 +0000 Parents: ef31dede9c833f2fe56bdd43a558e860801fdaa4 Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=5daea518cdc01115f764026c53926f9942f51f29 Log: Some simple event overrides: GdkEvent::get_state GdkEvent::get_root_coords GdkEvent::get_coords GdkEvent::get_axis Changed paths: M ext/gtk+/gdk.overrides Diff: 5daea518cdc01115f764026c53926f9942f51f29 diff --git a/ext/gtk+/gdk.overrides b/ext/gtk+/gdk.overrides index 7de3636..bc83669 100644 --- a/ext/gtk+/gdk.overrides +++ b/ext/gtk+/gdk.overrides @@ -857,8 +857,95 @@ HashTable* phpg_gdkevent_get_properties_handler(zval *object TSRMLS_DC) return poh->zobj.properties; } + +%% +add-arginfo GdkEvent get_axis +static +ZEND_BEGIN_ARG_INFO(ARGINFO_NAME, 0) + ZEND_ARG_INFO(0, axis_type) +ZEND_END_ARG_INFO(); + +%% +override gdk_event_get_axis +PHP_METHOD +{ + zval *php_axis_use; + GdkAxisUse axis_use; + gdouble value; + + NO_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "V", &php_axis_use)) + return; + + if (phpg_gvalue_get_enum(GDK_TYPE_AXIS_USE, php_axis_use, (gint *) &axis_use) == FAILURE) + return; + + if (gdk_event_get_axis((GdkEvent *) PHPG_GBOXED(this_ptr), axis_use, &value)) { + RETURN_DOUBLE(value); + } else { + RETURN_FALSE; + } +} + + +%% +override gdk_event_get_coords +PHP_METHOD +{ + gdouble x_win, y_win; + + NO_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) + return; + + if (gdk_event_get_coords((GdkEvent *) PHPG_GBOXED(this_ptr), &x_win, &y_win)) { + php_gtk_build_value(&return_value, "(dd)", x_win, y_win); + } else { + RETURN_FALSE; + } +} + + +%% +override gdk_event_get_root_coords +PHP_METHOD +{ + gdouble x_win, y_win; + + NO_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) + return; + + if (gdk_event_get_root_coords((GdkEvent *) PHPG_GBOXED(this_ptr), &x_win, &y_win)) { + php_gtk_build_value(&return_value, "(dd)", x_win, y_win); + } else { + RETURN_FALSE; + } +} + + +%% +override gdk_event_get_state +PHP_METHOD +{ + GdkModifierType state = 0; + + NO_STATIC_METHOD(); + + if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "")) + return; + + gdk_event_get_state((GdkEvent *) PHPG_GBOXED(this_ptr), &state); + + RETURN_LONG((long)state); +} + %% }}} + %% {{{ GdkPixbuf %%