diff options
author | Anders Carlsson <andersca@gnu.org> | 2000-04-16 08:39:00 +0800 |
---|---|---|
committer | Miguel de Icaza <miguel@src.gnome.org> | 2000-04-16 08:39:00 +0800 |
commit | 9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b (patch) | |
tree | c1aa697d43cc2e91626bec73c484506dd159884a /widgets/misc/e-canvas.c | |
parent | a0cca95826028dc5d170dc54c71de5966eb9206a (diff) | |
download | gsoc2013-evolution-9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b.tar.gz gsoc2013-evolution-9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b.tar.zst gsoc2013-evolution-9ee0c77a74e4d19ee914f144e53fcfedae8cdf8b.zip |
Add realize. (e_canvas_realize): Set the back pixmap to NULL to reduce
2000-04-16 Anders Carlsson <andersca@gnu.org>
* e-canvas.c (e_canvas_class_init): Add realize.
(e_canvas_realize): Set the back pixmap to NULL to reduce flicker.
svn path=/trunk/; revision=2456
Diffstat (limited to 'widgets/misc/e-canvas.c')
-rw-r--r-- | widgets/misc/e-canvas.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/widgets/misc/e-canvas.c b/widgets/misc/e-canvas.c index 704b6ca12b..ad0819e3dd 100644 --- a/widgets/misc/e-canvas.c +++ b/widgets/misc/e-canvas.c @@ -23,14 +23,15 @@ #include <gnome.h> #include "e-canvas.h" static void e_canvas_init (ECanvas *card); -static void e_canvas_class_init (ECanvasClass *klass); +static void e_canvas_class_init (ECanvasClass *klass); +static void e_canvas_realize (GtkWidget *widget); static gint e_canvas_key (GtkWidget *widget, GdkEventKey *event); static gint e_canvas_focus_in (GtkWidget *widget, - GdkEventFocus *event); + GdkEventFocus *event); static gint e_canvas_focus_out (GtkWidget *widget, - GdkEventFocus *event); + GdkEventFocus *event); static int emit_event (GnomeCanvas *canvas, GdkEvent *event); @@ -85,7 +86,8 @@ e_canvas_class_init (ECanvasClass *klass) widget_class->key_release_event = e_canvas_key; widget_class->focus_in_event = e_canvas_focus_in; widget_class->focus_out_event = e_canvas_focus_out; - + widget_class->realize = e_canvas_realize; + klass->reflow = NULL; e_canvas_signals [REFLOW] = @@ -331,6 +333,14 @@ e_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event) return FALSE; } +static void +e_canvas_realize (GtkWidget *widget) +{ + if (GTK_WIDGET_CLASS (parent_class)->realize) + (* GTK_WIDGET_CLASS (parent_class)->realize) (widget); + + gdk_window_set_back_pixmap (GTK_LAYOUT (widget)->bin_window, NULL, FALSE); +} static void e_canvas_item_invoke_reflow (GnomeCanvasItem *item, int flags) |