summaryrefslogtreecommitdiff
path: root/gtk/gtkbin.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2001-03-09 13:28:26 +0000
committerAlexander Larsson <alexl@src.gnome.org>2001-03-09 13:28:26 +0000
commite7d4a7f90d58e7e45bf690107b3615135ced357e (patch)
treebab1f3860394d2c5f4ca39a4710cd078baaa37fc /gtk/gtkbin.c
parent8f35f03045bd7d9e6a75ad07ac2dae32e5aa8ae1 (diff)
downloadgdk-pixbuf-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.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/gtk/gtkbin.c b/gtk/gtkbin.c
index 83d45f94e..315819835 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)