diff options
author | Alexander Larsson <alexl@redhat.com> | 2001-03-09 13:28:26 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2001-03-09 13:28:26 +0000 |
commit | e7d4a7f90d58e7e45bf690107b3615135ced357e (patch) | |
tree | bab1f3860394d2c5f4ca39a4710cd078baaa37fc /gtk/gtkbin.c | |
parent | 8f35f03045bd7d9e6a75ad07ac2dae32e5aa8ae1 (diff) | |
download | gtk+-e7d4a7f90d58e7e45bf690107b3615135ced357e.tar.gz |
Document expose event->region change and that gtk_widget_event doesn't
2001-03-09 Alexander Larsson <alexl@redhat.com>
* docs/Changes-2.0.txt:
Document expose event->region change and that gtk_widget_event
doesn't allow passing expose events.
* gdk/gdkevents.h:
Add region to expose event.
* gdk/gdkevents.c:
Handle event->region in gdk_event_copy() and gdk_event_free().
* gdk/gdkwindow.c (gdk_window_process_updates_internal):
Generate expose_event->region when creating expose events.
* gdk/x11/gdkevents-x11.c:
Generate expose events with regions when translating X events.
* gtk/gtkcontainer.[ch]:
Default expose handler that propagates expose events to NO_WINDOW
children. New function gtk_container_propagate_expose()
* gtk/gtkwidget.[ch]:
Moved gtk_widget_event implementation to gtk_widget_event_internal.
gtk_widget_event calls gtk_widget_event_internal but doesn't allow
expose events. New function gtk_widget_send_expose() to send expose
events. New function gtk_widget_region_intersect() to calculate
window/region intersections.
* gtk/gtkmain.c (gtk_main_do_event):
Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
Use gtk_widget_send_expose() to send expose events.
* gtk/gtkbin.c:
* gtk/gtkbox.c:
* gtk/gtkfixed.c:
* gtk/gtkimagemenuitem.c:
* gtk/gtklist.c:
* gtk/gtkpacker.c:
* gtk/gtktable.c:
* gtk/gtktree.c:
Remove expose handler, using the default container implementation
instead.
* gtk/gtkbutton.c:
* gtk/gtkcheckbutton.c:
* gtk/gtkeventbox.c:
* gtk/gtkfixed.c:
* gtk/gtkhandlebox.c:
* gtk/gtklayout.c:
* gtk/gtklistitem.c:
* gtk/gtkmenu.c:
* gtk/gtkmenubar.c:
* gtk/gtkmenuitem.c:
* gtk/gtknotebook.c:
* gtk/gtkoptionmenu.c:
* gtk/gtkpaned.c:
* gtk/gtkscrolledwindow.c:
* gtk/gtktogglebutton.c:
* gtk/gtktoolbar.c:
* gtk/gtktreeitem.c:
* gtk/gtkviewport.c:
Chain expose handler to parent class handler. Use
gtk_container_propagate_expose() to propagate exposes.
* gtk/gtkclist.c (check_exposures):
* gtk/gtktext.c (process_exposes):
Use gtk_widget_send_expose instead of gtk_widget_event.
Diffstat (limited to 'gtk/gtkbin.c')
-rw-r--r-- | gtk/gtkbin.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/gtk/gtkbin.c b/gtk/gtkbin.c index 83d45f94ea..315819835b 100644 --- a/gtk/gtkbin.c +++ b/gtk/gtkbin.c @@ -31,8 +31,6 @@ static void gtk_bin_class_init (GtkBinClass *klass); static void gtk_bin_init (GtkBin *bin); static void gtk_bin_map (GtkWidget *widget); static void gtk_bin_unmap (GtkWidget *widget); -static gint gtk_bin_expose (GtkWidget *widget, - GdkEventExpose *event); static void gtk_bin_add (GtkContainer *container, GtkWidget *widget); static void gtk_bin_remove (GtkContainer *container, @@ -87,7 +85,6 @@ gtk_bin_class_init (GtkBinClass *class) widget_class->map = gtk_bin_map; widget_class->unmap = gtk_bin_unmap; - widget_class->expose_event = gtk_bin_expose; container_class->add = gtk_bin_add; container_class->remove = gtk_bin_remove; @@ -151,32 +148,6 @@ gtk_bin_unmap (GtkWidget *widget) gtk_widget_unmap (bin->child); } -static gint -gtk_bin_expose (GtkWidget *widget, - GdkEventExpose *event) -{ - GtkBin *bin; - GdkEventExpose child_event; - - g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_BIN (widget), FALSE); - g_return_val_if_fail (event != NULL, FALSE); - - if (GTK_WIDGET_DRAWABLE (widget)) - { - bin = GTK_BIN (widget); - - child_event = *event; - if (bin->child && GTK_WIDGET_DRAWABLE (bin->child) && - GTK_WIDGET_NO_WINDOW (bin->child) && - gtk_widget_intersect (bin->child, &event->area, &child_event.area)) - gtk_widget_event (bin->child, (GdkEvent*) &child_event); - } - - return FALSE; -} - - static void gtk_bin_add (GtkContainer *container, GtkWidget *child) |