diff --git a/src/help-dialogs.c b/src/help-dialogs.c index 73bd801..9564198 100644 --- a/src/help-dialogs.c +++ b/src/help-dialogs.c @@ -233,7 +233,7 @@ void GuiFreeLabelWithOnlineHelp(LabelWithOnlineHelp *lwoh) * Add a paragraph of text to the help window */ -static gboolean wrapper_fix_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) +static gboolean wrapper_fix_cb(GtkWidget *widget, cairo_t *cr, gpointer data) { int *last_width = (int*)data; GtkAllocation a = {0}; gtk_widget_get_allocation(widget, &a); @@ -276,7 +276,7 @@ void GuiAddHelpParagraph(LabelWithOnlineHelp *lwoh, char *format, ...) which is, well, stupid. */ gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); - g_signal_connect(label, "expose_event", G_CALLBACK(wrapper_fix_cb), get_new_int(lwoh)); + g_signal_connect(label, "draw", G_CALLBACK(wrapper_fix_cb), get_new_int(lwoh)); } /* @@ -314,7 +314,7 @@ void GuiAddHelpListItem(LabelWithOnlineHelp *lwoh, char *format, ...) which is, well, stupid. */ gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); - g_signal_connect(label, "expose_event", G_CALLBACK(wrapper_fix_cb), get_new_int(lwoh)); + g_signal_connect(label, "draw", G_CALLBACK(wrapper_fix_cb), get_new_int(lwoh)); } /* diff --git a/src/raw-editor.c b/src/raw-editor.c index e3bce72..f09fe95 100644 --- a/src/raw-editor.c +++ b/src/raw-editor.c @@ -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); } diff --git a/src/read-adaptive-window.c b/src/read-adaptive-window.c index bb3722b..9ab0405 100644 --- a/src/read-adaptive-window.c +++ b/src/read-adaptive-window.c @@ -157,14 +157,11 @@ static void update_geometry(GtkWidget *widget) Closure->readAdaptiveSpiral->my = a.height / 2; } -/* Expose event handler */ +/* Draw event handler */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ GuiSetSpiralWidget(Closure->readAdaptiveSpiral, widget); - - if(event->count) /* Exposure compression */ - return TRUE; update_geometry(widget); redraw_labels(cr, widget, ~0); @@ -358,7 +355,7 @@ void GuiCreateAdaptiveReadWindow(GtkWidget *parent) d_area = Closure->readAdaptiveDrawingArea = gtk_drawing_area_new(); gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0); - g_signal_connect(G_OBJECT(d_area), "expose_event", G_CALLBACK(expose_cb), NULL); + g_signal_connect(G_OBJECT(d_area), "draw", G_CALLBACK(draw_cb), NULL); Closure->readAdaptiveSpiral = GuiCreateSpiral(Closure->grid, Closure->background, 10, 5, diff --git a/src/read-linear-window.c b/src/read-linear-window.c index 2fc9227..4e52a30 100644 --- a/src/read-linear-window.c +++ b/src/read-linear-window.c @@ -284,17 +284,16 @@ static void redraw_spiral_labels(cairo_t *cr) GuiDrawSpiral(cr, Closure->readLinearSpiral); } -static gboolean expose_curve_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); +static gboolean draw_curve_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ update_geometry(); redraw_curve(cr); return TRUE; } -static gboolean expose_spiral_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - GtkAllocation a = {0}; +static gboolean draw_spiral_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ GtkAllocation a = {0}; gtk_widget_get_allocation(widget, &a); GuiSetSpiralWidget(Closure->readLinearSpiral, widget); @@ -371,13 +370,13 @@ void GuiCreateLinearReadWindow(GtkWidget *parent) curve = Closure->readLinearCurveArea = gtk_drawing_area_new(); gtk_box_pack_start(GTK_BOX(hbox), curve, TRUE, TRUE, 0); - g_signal_connect(G_OBJECT(curve), "expose_event", G_CALLBACK(expose_curve_cb), NULL); + g_signal_connect(G_OBJECT(curve), "draw", G_CALLBACK(draw_curve_cb), NULL); Closure->readLinearSpiral = GuiCreateSpiral(Closure->grid, Closure->background, 10, 5, 1000); spiral = gtk_drawing_area_new(); gtk_widget_set_size_request(spiral, Closure->readLinearSpiral->diameter + 20, -1); gtk_box_pack_start(GTK_BOX(hbox), spiral, FALSE, FALSE, 0); - g_signal_connect(G_OBJECT(spiral), "expose_event", G_CALLBACK(expose_spiral_cb), NULL); + g_signal_connect(G_OBJECT(spiral), "draw", G_CALLBACK(draw_spiral_cb), NULL); notebook = Closure->readLinearNotebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); diff --git a/src/rs01-verify.c b/src/rs01-verify.c index dbd1f19..ec2549c 100644 --- a/src/rs01-verify.c +++ b/src/rs01-verify.c @@ -138,12 +138,11 @@ static void redraw_spiral(cairo_t *cr, RS01Widgets *wl) } /* - * expose event handler for the spiral + * Draw event handler for the spiral */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - RS01Widgets *wl = (RS01Widgets*)data; +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ RS01Widgets *wl = (RS01Widgets*)data; GtkAllocation a = {0}; gtk_widget_get_allocation(widget, &a); int w,h,size; @@ -161,10 +160,6 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat wl->cmpSpiral->mx = a.width / 2; wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/2; - if(event->count) /* Exposure compression */ - { return TRUE; - } - /* Redraw the spiral */ redraw_spiral(cr, wl); @@ -260,7 +255,7 @@ void CreateRS01VerifyWindow(Method *self, GtkWidget *parent) d_area = wl->cmpDrawingArea = gtk_drawing_area_new(); gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1); gtk_container_add(GTK_CONTAINER(frame), d_area); - g_signal_connect(G_OBJECT(d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + g_signal_connect(G_OBJECT(d_area), "draw", G_CALLBACK(draw_cb), (gpointer)wl); /*** Ecc info */ diff --git a/src/rs01-window.c b/src/rs01-window.c index 9172477..2ffdaf9 100644 --- a/src/rs01-window.c +++ b/src/rs01-window.c @@ -277,16 +277,11 @@ static void redraw_curve(cairo_t *cr, RS01Widgets *wl) } /* - * Expose callback + * Draw callback */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - RS01Widgets *wl = (RS01Widgets*)data; - - if(event->count) /* Exposure compression */ - { return TRUE; - } +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ RS01Widgets *wl = (RS01Widgets*)data; update_geometry(wl); redraw_curve(cr, wl); @@ -334,7 +329,7 @@ void CreateRS01FWindow(Method *method, GtkWidget *parent) d_area = wl->fixDrawingArea = gtk_drawing_area_new(); gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0); - g_signal_connect(G_OBJECT (d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + g_signal_connect(G_OBJECT (d_area), "draw", G_CALLBACK(draw_cb), (gpointer)wl); notebook = wl->fixNotebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); diff --git a/src/rs02-verify.c b/src/rs02-verify.c index 49e3b40..1405c88 100644 --- a/src/rs02-verify.c +++ b/src/rs02-verify.c @@ -131,12 +131,11 @@ static void redraw_spiral(cairo_t *cr, RS02Widgets *wl) } /* - * expose event handler for the spiral + * draw event handler for the spiral */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - RS02Widgets *wl = (RS02Widgets*)data; +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ RS02Widgets *wl = (RS02Widgets*)data; GtkAllocation a = {0}; gtk_widget_get_allocation(widget, &a); int w,h,size; @@ -154,8 +153,7 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat wl->cmpSpiral->mx = a.width / 2; wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/2; - if(!event->count) /* Exposure compression */ - redraw_spiral(cr, wl); /* Redraw the spiral */ + redraw_spiral(cr, wl); /* Redraw the spiral */ return TRUE; } @@ -254,7 +252,7 @@ void CreateRS02VerifyWindow(Method *self, GtkWidget *parent) d_area = wl->cmpDrawingArea = gtk_drawing_area_new(); gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1); gtk_container_add(GTK_CONTAINER(frame), d_area); - g_signal_connect(G_OBJECT(d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + g_signal_connect(G_OBJECT(d_area), "draw", G_CALLBACK(draw_cb), (gpointer)wl); /*** Ecc data info */ diff --git a/src/rs02-window.c b/src/rs02-window.c index 5e7d0fa..b719120 100644 --- a/src/rs02-window.c +++ b/src/rs02-window.c @@ -217,15 +217,11 @@ static void redraw_curve(cairo_t *cr, RS02Widgets *wl) } /* - * Expose callback + * Draw callback */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - RS02Widgets *wl = (RS02Widgets*)data; - - if(event->count) /* Exposure compression */ - return TRUE; +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ RS02Widgets *wl = (RS02Widgets*)data; update_geometry(wl); redraw_curve(cr, wl); @@ -275,7 +271,7 @@ void CreateRS02FixWindow(Method *method, GtkWidget *parent) d_area = wl->fixDrawingArea = gtk_drawing_area_new(); gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0); - g_signal_connect(G_OBJECT (d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + g_signal_connect(G_OBJECT (d_area), "draw", G_CALLBACK(draw_cb), (gpointer)wl); notebook = wl->fixNotebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); diff --git a/src/rs03-verify.c b/src/rs03-verify.c index 30adb42..5abda52 100644 --- a/src/rs03-verify.c +++ b/src/rs03-verify.c @@ -141,12 +141,11 @@ static void redraw_spiral(cairo_t *cr, RS03Widgets *wl) } /* - * expose event handler for the spiral + * Draw event handler for the spiral */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - RS03Widgets *wl = (RS03Widgets*)data; +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; GtkAllocation a = {0}; gtk_widget_get_allocation(widget, &a); int w,h,size; @@ -164,8 +163,7 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat wl->cmpSpiral->mx = a.width / 2; wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/2; - if(!event->count) /* Exposure compression */ - redraw_spiral(cr, wl); /* Redraw the spiral */ + redraw_spiral(cr, wl); /* Redraw the spiral */ return TRUE; } @@ -273,7 +271,7 @@ void CreateRS03VerifyWindow(Method *self, GtkWidget *parent) d_area = wl->cmpDrawingArea = gtk_drawing_area_new(); gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1); gtk_container_add(GTK_CONTAINER(frame), d_area); - g_signal_connect(G_OBJECT(d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + g_signal_connect(G_OBJECT(d_area), "draw", G_CALLBACK(draw_cb), (gpointer)wl); /*** Image info */ diff --git a/src/rs03-window.c b/src/rs03-window.c index 0ad4cd4..41b3c5f 100644 --- a/src/rs03-window.c +++ b/src/rs03-window.c @@ -247,15 +247,11 @@ static void redraw_curve(cairo_t *cr, RS03Widgets *wl) } /* - * Expose callback + * Draw callback */ -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) -{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget))); - RS03Widgets *wl = (RS03Widgets*)data; - - if(event->count) /* Exposure compression */ - return TRUE; +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) +{ RS03Widgets *wl = (RS03Widgets*)data; update_geometry(wl); redraw_curve(cr, wl); @@ -306,7 +302,7 @@ void CreateRS03FixWindow(Method *method, GtkWidget *parent) d_area = wl->fixDrawingArea = gtk_drawing_area_new(); gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0); - g_signal_connect(G_OBJECT (d_area), "expose_event", G_CALLBACK(expose_cb), (gpointer)wl); + g_signal_connect(G_OBJECT (d_area), "draw", G_CALLBACK(draw_cb), (gpointer)wl); notebook = wl->fixNotebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); diff --git a/src/welcome-window.c b/src/welcome-window.c index ebb5d0d..1604f05 100644 --- a/src/welcome-window.c +++ b/src/welcome-window.c @@ -40,7 +40,7 @@ static void toggle_cb(GtkWidget *widget, gpointer data) Closure->welcomeMessage = state; } -static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) +static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data) { GtkWidget *box = (GtkWidget*)data; if(!Closure->colors_initialized) @@ -117,7 +117,7 @@ void GuiCreateWelcomePage(GtkNotebook *notebook) ignore = gtk_label_new("welcome_tab"); box = show_msg ? gtk_vbox_new(FALSE, 0) : gtk_hbox_new(FALSE, 10); - g_signal_connect(G_OBJECT(align), "expose_event", G_CALLBACK(expose_cb), box); + g_signal_connect(G_OBJECT(align), "draw", G_CALLBACK(draw_cb), box); gtk_notebook_append_page(notebook, align, ignore); gtk_container_add(GTK_CONTAINER(align), box);