[dia] [restructuring] move Canvas::expose-event to it's own handler
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] [restructuring] move Canvas::expose-event to it's own handler
- Date: Sun, 2 Sep 2012 18:08:37 +0000 (UTC)
commit 50cef05f4b4091f00367898e9a4b2db0d0dad385
Author: Hans Breuer <hans breuer org>
Date: Sun Aug 26 13:01:21 2012 +0200
[restructuring] move Canvas::expose-event to it's own handler
helps deprecation, with gtk-3-0 we wont get/need it anymore
app/disp_callbacks.c | 10 ----------
app/interface.c | 19 +++++++++++++++++++
2 files changed, 19 insertions(+), 10 deletions(-)
---
diff --git a/app/disp_callbacks.c b/app/disp_callbacks.c
index 430bdb6..ffea0f1 100644
--- a/app/disp_callbacks.c
+++ b/app/disp_callbacks.c
@@ -561,7 +561,6 @@ ddisplay_canvas_events (GtkWidget *canvas,
GdkEvent *event,
DDisplay *ddisp)
{
- GdkEventExpose *eevent;
GdkEventMotion *mevent;
GdkEventButton *bevent;
GdkEventKey *kevent;
@@ -587,15 +586,6 @@ ddisplay_canvas_events (GtkWidget *canvas,
switch (event->type)
{
- case GDK_EXPOSE:
- eevent = (GdkEventExpose *) event;
- ddisplay_add_display_area(ddisp,
- eevent->area.x, eevent->area.y,
- eevent->area.x + eevent->area.width,
- eevent->area.y + eevent->area.height);
- ddisplay_flush(ddisp);
- break;
-
case GDK_SCROLL:
sevent = (GdkEventScroll *) event;
diff --git a/app/interface.c b/app/interface.c
index 6c5113d..75d38c8 100644
--- a/app/interface.c
+++ b/app/interface.c
@@ -386,6 +386,23 @@ canvas_configure_event (GtkWidget *widget,
return new_size;
}
+/* Got when an area previously obscured need to be redrawn.
+ * Needs GDK_EXPOSURE_MASK.
+ * Gone with gtk+-3.0 or better replaced by "draw".
+ */
+static gboolean
+canvas_expose_event (GtkWidget *widget,
+ GdkEventExpose *event,
+ DDisplay *ddisp)
+{
+ ddisplay_add_display_area (ddisp,
+ event->area.x, event->area.y,
+ event->area.x + event->area.width,
+ event->area.y + event->area.height);
+ ddisplay_flush(ddisp);
+ return FALSE;
+}
+
static GtkWidget *
create_canvas (DDisplay *ddisp)
{
@@ -402,6 +419,8 @@ create_canvas (DDisplay *ddisp)
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
g_signal_connect (G_OBJECT (canvas), "configure-event",
G_CALLBACK (canvas_configure_event), ddisp);
+ g_signal_connect (G_OBJECT (canvas), "expose-event",
+ G_CALLBACK (canvas_expose_event), ddisp);
#if GTK_CHECK_VERSION(2,18,0)
gtk_widget_set_can_focus (canvas, TRUE);
#else
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]