summaryrefslogtreecommitdiff
path: root/roi.c
diff options
context:
space:
mode:
Diffstat (limited to 'roi.c')
-rw-r--r--roi.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/roi.c b/roi.c
index a3465c4..3033d0a 100644
--- a/roi.c
+++ b/roi.c
@@ -237,20 +237,13 @@ configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer data)
}
gboolean
-expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer userdata)
+draw_cb(GtkWidget *widget, cairo_t *cr, gpointer userdata)
{
struct roi *roi = userdata;
- cairo_t *cr;
- cr = gdk_cairo_create(gtk_widget_get_window(widget));
gdk_cairo_set_source_pixbuf(cr, roi->modified_input ?
roi->modified_input : roi->input, 0, 0);
- cairo_rectangle(cr,
- event->area.x, event->area.y,
- event->area.width, event->area.height);
- /* cairo_paint(cr); */
- cairo_fill(cr);
- cairo_destroy(cr);
+ cairo_paint(cr);
return FALSE;
}
@@ -276,8 +269,8 @@ main(int argc, char *argv[])
g_signal_connect(roi.window, "destroy",
G_CALLBACK(gtk_main_quit), NULL);
- g_signal_connect(G_OBJECT(roi.drawing_area), "expose-event",
- G_CALLBACK(expose_event), &roi);
+ g_signal_connect(G_OBJECT(roi.drawing_area), "draw",
+ G_CALLBACK(draw_cb), &roi);
g_signal_connect(G_OBJECT(roi.drawing_area), "configure-event",
G_CALLBACK(configure_event), &roi);