Connect to draw instead of expose events
This commit is contained in:
committed by
Stéphane Lesimple
parent
e75d73c74a
commit
6c88a55600
@@ -591,9 +591,9 @@ static void render_sector(cairo_t *cr, raw_editor_context *rec)
|
||||
}
|
||||
}
|
||||
|
||||
/* Expose event handler */
|
||||
/* Draw event handler */
|
||||
|
||||
static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||
{ raw_editor_context *rec = Closure->rawEditorContext;
|
||||
|
||||
if(!rec->layout)
|
||||
@@ -601,11 +601,6 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat
|
||||
calculate_geometry(rec);
|
||||
}
|
||||
|
||||
if(event->count) /* Exposure compression */
|
||||
return TRUE;
|
||||
|
||||
cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
||||
|
||||
evaluate_vectors(rec);
|
||||
render_sector(cr, rec);
|
||||
|
||||
@@ -1086,7 +1081,7 @@ void GuiCreateRawEditor(void)
|
||||
rec->drawingArea = gtk_drawing_area_new();
|
||||
gtk_widget_add_events(rec->drawingArea, GDK_BUTTON_PRESS_MASK);
|
||||
gtk_box_pack_start(GTK_BOX(hbox), rec->drawingArea, TRUE, TRUE, 0);
|
||||
g_signal_connect(G_OBJECT(rec->drawingArea), "expose_event", G_CALLBACK(expose_cb), NULL);
|
||||
g_signal_connect(G_OBJECT(rec->drawingArea), "draw", G_CALLBACK(draw_cb), NULL);
|
||||
g_signal_connect(G_OBJECT(rec->drawingArea), "button_press_event", G_CALLBACK(button_cb), NULL);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user