summaryrefslogtreecommitdiff
path: root/gdk/gdkevents.h
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>2001-06-28 22:49:20 +0000
committerTim Janik <timj@src.gnome.org>2001-06-28 22:49:20 +0000
commit00f85bf815499a651ecec41fcccb234b56c2f383 (patch)
tree4069b72a22071efc323f61711e3a63ae22ff6e5f /gdk/gdkevents.h
parent10f047cf4ce86b7ff32050279214faac3c294f11 (diff)
downloadgtk+-00f85bf815499a651ecec41fcccb234b56c2f383.tar.gz
!GTK_OBJECT_DESTROYED() -> GTK_WIDGET_REALIZE() for resize queueing.
Thu Jun 28 23:53:31 2001 Tim Janik <timj@gtk.org> * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() -> GTK_WIDGET_REALIZE() for resize queueing. * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() -> GTK_WIDGET_REALIZE() for post event delivery destruction upon GDK_DESTROY. * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to sompensate for former (pre-2.0) connect_after() facility. (gtk_widget_send_expose): (gtk_widget_event): assert the widget is realized, since event delivery to non-realized widgets is essentially a bug. event handlers should be able to unconditionally rely on widget->window (unless they emit events on their own which can trigger widget destruction). (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED() logic. event delivery happens as follows: a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled. b) if !was_handled in (a) and the widget is still realized, emit event- specific signal (RUN_LAST handler). returns was_handled. c) emission of GtkWidget::event-after for notification if the widget is still realized (regardless of was_handled from previous stages, no class handler). no return value. d) was_handled gets passed on to caller, to determine further propagation. if the widget got unrealized meanwhile, was_handled is returned as TRUE. * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and gdk_event_get_coords().
Diffstat (limited to 'gdk/gdkevents.h')
-rw-r--r--gdk/gdkevents.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index a1eeb02ed2..763c1a377a 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -456,10 +456,15 @@ void gdk_event_free (GdkEvent *event);
guint32 gdk_event_get_time (GdkEvent *event);
gboolean gdk_event_get_state (GdkEvent *event,
GdkModifierType *state);
+gboolean gdk_event_get_coords (GdkEvent *event,
+ gdouble *x_win,
+ gdouble *y_win);
+gboolean gdk_event_get_root_coords (GdkEvent *event,
+ gdouble *x_root,
+ gdouble *y_root);
gboolean gdk_event_get_axis (GdkEvent *event,
GdkAxisUse axis_use,
gdouble *value);
-
void gdk_event_handler_set (GdkEventFunc func,
gpointer data,
GDestroyNotify notify);