summaryrefslogtreecommitdiff
path: root/gdk/gdk.c
diff options
context:
space:
mode:
authorArturo Espinosa <unammx@src.gnome.org>1997-12-26 08:54:12 +0000
committerArturo Espinosa <unammx@src.gnome.org>1997-12-26 08:54:12 +0000
commit6ceea7e635d92c72d5fed344bd88f66ed6da6142 (patch)
treef3f22027a8bfd75de508a2852d1d55ac8335c6c7 /gdk/gdk.c
parented11431bdbdb493e7559c28113f0ee9b0134ac8d (diff)
downloadgtk+-6ceea7e635d92c72d5fed344bd88f66ed6da6142.tar.gz
Added new GDK_NO_EXPOSE and GDK_VISIBILITY_NOTIFY events. They are needed
for the TV widget by Alan Cox and by the GtkXmHTML widget. Only missing with respect to their Xlib counterparts are the major_code and minor_code fields in the GdkEventNoExpose structure. Does anyone need them for their code? - Federico
Diffstat (limited to 'gdk/gdk.c')
-rw-r--r--gdk/gdk.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/gdk/gdk.c b/gdk/gdk.c
index bc512772f5..513aa4a4d9 100644
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -2285,7 +2285,10 @@ gdk_event_translate (GdkEvent *event,
g_print ("no expose:\t\tdrawable: %ld\n",
xevent->xnoexpose.drawable - base_id);
- /* Not currently handled */
+ event->no_expose.type = GDK_NO_EXPOSE;
+ event->no_expose.window = window;
+
+ return_val = window_private && !window_private->destroyed;
break;
case VisibilityNotify:
@@ -2308,7 +2311,25 @@ gdk_event_translate (GdkEvent *event,
break;
}
- /* Not currently handled */
+ event->visibility.type = GDK_VISIBILITY_NOTIFY;
+ event->visibility.window = window;
+
+ switch (xevent->xvisibility.state)
+ {
+ case VisibilityFullyObscured:
+ event->visibility.state = GDK_VISIBILITY_FULLY_OBSCURED;
+ break;
+
+ case VisibilityPartiallyObscured:
+ event->visibility.state = GDK_VISIBILITY_PARTIAL;
+ break;
+
+ case VisibilityUnobscured:
+ event->visibility.state = GDK_VISIBILITY_UNOBSCURED;
+ break;
+ }
+
+ return_val = window_private && !window_private->destroyed;
break;
case CreateNotify: