Connect to draw instead of expose events
This commit is contained in:
committed by
Stéphane Lesimple
parent
e75d73c74a
commit
6c88a55600
@@ -233,7 +233,7 @@ void GuiFreeLabelWithOnlineHelp(LabelWithOnlineHelp *lwoh)
|
|||||||
* Add a paragraph of text to the help window
|
* 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;
|
{ int *last_width = (int*)data;
|
||||||
GtkAllocation a = {0};
|
GtkAllocation a = {0};
|
||||||
gtk_widget_get_allocation(widget, &a);
|
gtk_widget_get_allocation(widget, &a);
|
||||||
@@ -276,7 +276,7 @@ void GuiAddHelpParagraph(LabelWithOnlineHelp *lwoh, char *format, ...)
|
|||||||
which is, well, stupid. */
|
which is, well, stupid. */
|
||||||
|
|
||||||
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
|
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. */
|
which is, well, stupid. */
|
||||||
|
|
||||||
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -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;
|
{ raw_editor_context *rec = Closure->rawEditorContext;
|
||||||
|
|
||||||
if(!rec->layout)
|
if(!rec->layout)
|
||||||
@@ -601,11 +601,6 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat
|
|||||||
calculate_geometry(rec);
|
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);
|
evaluate_vectors(rec);
|
||||||
render_sector(cr, rec);
|
render_sector(cr, rec);
|
||||||
|
|
||||||
@@ -1086,7 +1081,7 @@ void GuiCreateRawEditor(void)
|
|||||||
rec->drawingArea = gtk_drawing_area_new();
|
rec->drawingArea = gtk_drawing_area_new();
|
||||||
gtk_widget_add_events(rec->drawingArea, GDK_BUTTON_PRESS_MASK);
|
gtk_widget_add_events(rec->drawingArea, GDK_BUTTON_PRESS_MASK);
|
||||||
gtk_box_pack_start(GTK_BOX(hbox), rec->drawingArea, TRUE, TRUE, 0);
|
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);
|
g_signal_connect(G_OBJECT(rec->drawingArea), "button_press_event", G_CALLBACK(button_cb), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -157,14 +157,11 @@ static void update_geometry(GtkWidget *widget)
|
|||||||
Closure->readAdaptiveSpiral->my = a.height / 2;
|
Closure->readAdaptiveSpiral->my = a.height / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{
|
||||||
GuiSetSpiralWidget(Closure->readAdaptiveSpiral, widget);
|
GuiSetSpiralWidget(Closure->readAdaptiveSpiral, widget);
|
||||||
|
|
||||||
if(event->count) /* Exposure compression */
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
update_geometry(widget);
|
update_geometry(widget);
|
||||||
redraw_labels(cr, widget, ~0);
|
redraw_labels(cr, widget, ~0);
|
||||||
@@ -358,7 +355,7 @@ void GuiCreateAdaptiveReadWindow(GtkWidget *parent)
|
|||||||
|
|
||||||
d_area = Closure->readAdaptiveDrawingArea = gtk_drawing_area_new();
|
d_area = Closure->readAdaptiveDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0);
|
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
|
Closure->readAdaptiveSpiral
|
||||||
= GuiCreateSpiral(Closure->grid, Closure->background, 10, 5,
|
= GuiCreateSpiral(Closure->grid, Closure->background, 10, 5,
|
||||||
|
|||||||
@@ -284,17 +284,16 @@ static void redraw_spiral_labels(cairo_t *cr)
|
|||||||
GuiDrawSpiral(cr, Closure->readLinearSpiral);
|
GuiDrawSpiral(cr, Closure->readLinearSpiral);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean expose_curve_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
static gboolean draw_curve_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{
|
||||||
update_geometry();
|
update_geometry();
|
||||||
redraw_curve(cr);
|
redraw_curve(cr);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean expose_spiral_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
static gboolean draw_spiral_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ GtkAllocation a = {0};
|
||||||
GtkAllocation a = {0};
|
|
||||||
gtk_widget_get_allocation(widget, &a);
|
gtk_widget_get_allocation(widget, &a);
|
||||||
|
|
||||||
GuiSetSpiralWidget(Closure->readLinearSpiral, widget);
|
GuiSetSpiralWidget(Closure->readLinearSpiral, widget);
|
||||||
@@ -371,13 +370,13 @@ void GuiCreateLinearReadWindow(GtkWidget *parent)
|
|||||||
|
|
||||||
curve = Closure->readLinearCurveArea = gtk_drawing_area_new();
|
curve = Closure->readLinearCurveArea = gtk_drawing_area_new();
|
||||||
gtk_box_pack_start(GTK_BOX(hbox), curve, TRUE, TRUE, 0);
|
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);
|
Closure->readLinearSpiral = GuiCreateSpiral(Closure->grid, Closure->background, 10, 5, 1000);
|
||||||
spiral = gtk_drawing_area_new();
|
spiral = gtk_drawing_area_new();
|
||||||
gtk_widget_set_size_request(spiral, Closure->readLinearSpiral->diameter + 20, -1);
|
gtk_widget_set_size_request(spiral, Closure->readLinearSpiral->diameter + 20, -1);
|
||||||
gtk_box_pack_start(GTK_BOX(hbox), spiral, FALSE, FALSE, 0);
|
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();
|
notebook = Closure->readLinearNotebook = gtk_notebook_new();
|
||||||
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
||||||
|
|||||||
@@ -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)
|
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ RS01Widgets *wl = (RS01Widgets*)data;
|
||||||
RS01Widgets *wl = (RS01Widgets*)data;
|
|
||||||
GtkAllocation a = {0};
|
GtkAllocation a = {0};
|
||||||
gtk_widget_get_allocation(widget, &a);
|
gtk_widget_get_allocation(widget, &a);
|
||||||
int w,h,size;
|
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->mx = a.width / 2;
|
||||||
wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/2;
|
wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/2;
|
||||||
|
|
||||||
if(event->count) /* Exposure compression */
|
|
||||||
{ return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Redraw the spiral */
|
/* Redraw the spiral */
|
||||||
|
|
||||||
redraw_spiral(cr, wl);
|
redraw_spiral(cr, wl);
|
||||||
@@ -260,7 +255,7 @@ void CreateRS01VerifyWindow(Method *self, GtkWidget *parent)
|
|||||||
d_area = wl->cmpDrawingArea = gtk_drawing_area_new();
|
d_area = wl->cmpDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1);
|
gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1);
|
||||||
gtk_container_add(GTK_CONTAINER(frame), d_area);
|
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 */
|
/*** Ecc info */
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ RS01Widgets *wl = (RS01Widgets*)data;
|
||||||
RS01Widgets *wl = (RS01Widgets*)data;
|
|
||||||
|
|
||||||
if(event->count) /* Exposure compression */
|
|
||||||
{ return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
update_geometry(wl);
|
update_geometry(wl);
|
||||||
redraw_curve(cr, wl);
|
redraw_curve(cr, wl);
|
||||||
@@ -334,7 +329,7 @@ void CreateRS01FWindow(Method *method, GtkWidget *parent)
|
|||||||
|
|
||||||
d_area = wl->fixDrawingArea = gtk_drawing_area_new();
|
d_area = wl->fixDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0);
|
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();
|
notebook = wl->fixNotebook = gtk_notebook_new();
|
||||||
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
||||||
|
|||||||
@@ -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)
|
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ RS02Widgets *wl = (RS02Widgets*)data;
|
||||||
RS02Widgets *wl = (RS02Widgets*)data;
|
|
||||||
GtkAllocation a = {0};
|
GtkAllocation a = {0};
|
||||||
gtk_widget_get_allocation(widget, &a);
|
gtk_widget_get_allocation(widget, &a);
|
||||||
int w,h,size;
|
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->mx = a.width / 2;
|
||||||
wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/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;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -254,7 +252,7 @@ void CreateRS02VerifyWindow(Method *self, GtkWidget *parent)
|
|||||||
d_area = wl->cmpDrawingArea = gtk_drawing_area_new();
|
d_area = wl->cmpDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1);
|
gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1);
|
||||||
gtk_container_add(GTK_CONTAINER(frame), d_area);
|
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 */
|
/*** Ecc data info */
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ RS02Widgets *wl = (RS02Widgets*)data;
|
||||||
RS02Widgets *wl = (RS02Widgets*)data;
|
|
||||||
|
|
||||||
if(event->count) /* Exposure compression */
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
update_geometry(wl);
|
update_geometry(wl);
|
||||||
redraw_curve(cr, wl);
|
redraw_curve(cr, wl);
|
||||||
@@ -275,7 +271,7 @@ void CreateRS02FixWindow(Method *method, GtkWidget *parent)
|
|||||||
|
|
||||||
d_area = wl->fixDrawingArea = gtk_drawing_area_new();
|
d_area = wl->fixDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0);
|
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();
|
notebook = wl->fixNotebook = gtk_notebook_new();
|
||||||
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
||||||
|
|||||||
@@ -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)
|
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ RS03Widgets *wl = (RS03Widgets*)data;
|
||||||
RS03Widgets *wl = (RS03Widgets*)data;
|
|
||||||
GtkAllocation a = {0};
|
GtkAllocation a = {0};
|
||||||
gtk_widget_get_allocation(widget, &a);
|
gtk_widget_get_allocation(widget, &a);
|
||||||
int w,h,size;
|
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->mx = a.width / 2;
|
||||||
wl->cmpSpiral->my = (wl->cmpSpiral->diameter + a.height - size)/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;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@@ -273,7 +271,7 @@ void CreateRS03VerifyWindow(Method *self, GtkWidget *parent)
|
|||||||
d_area = wl->cmpDrawingArea = gtk_drawing_area_new();
|
d_area = wl->cmpDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1);
|
gtk_widget_set_size_request(d_area, wl->cmpSpiral->diameter+20, -1);
|
||||||
gtk_container_add(GTK_CONTAINER(frame), d_area);
|
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 */
|
/*** Image info */
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
static gboolean draw_cb(GtkWidget *widget, cairo_t *cr, gpointer data)
|
||||||
{ cairo_t *cr = gdk_cairo_create(GDK_DRAWABLE(gtk_widget_get_window(widget)));
|
{ RS03Widgets *wl = (RS03Widgets*)data;
|
||||||
RS03Widgets *wl = (RS03Widgets*)data;
|
|
||||||
|
|
||||||
if(event->count) /* Exposure compression */
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
update_geometry(wl);
|
update_geometry(wl);
|
||||||
redraw_curve(cr, wl);
|
redraw_curve(cr, wl);
|
||||||
@@ -306,7 +302,7 @@ void CreateRS03FixWindow(Method *method, GtkWidget *parent)
|
|||||||
|
|
||||||
d_area = wl->fixDrawingArea = gtk_drawing_area_new();
|
d_area = wl->fixDrawingArea = gtk_drawing_area_new();
|
||||||
gtk_box_pack_start(GTK_BOX(parent), d_area, TRUE, TRUE, 0);
|
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();
|
notebook = wl->fixNotebook = gtk_notebook_new();
|
||||||
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ static void toggle_cb(GtkWidget *widget, gpointer data)
|
|||||||
Closure->welcomeMessage = state;
|
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;
|
{ GtkWidget *box = (GtkWidget*)data;
|
||||||
|
|
||||||
if(!Closure->colors_initialized)
|
if(!Closure->colors_initialized)
|
||||||
@@ -117,7 +117,7 @@ void GuiCreateWelcomePage(GtkNotebook *notebook)
|
|||||||
ignore = gtk_label_new("welcome_tab");
|
ignore = gtk_label_new("welcome_tab");
|
||||||
box = show_msg ? gtk_vbox_new(FALSE, 0) : gtk_hbox_new(FALSE, 10);
|
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_notebook_append_page(notebook, align, ignore);
|
||||||
|
|
||||||
gtk_container_add(GTK_CONTAINER(align), box);
|
gtk_container_add(GTK_CONTAINER(align), box);
|
||||||
|
|||||||
Reference in New Issue
Block a user