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
 
 %%