Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 8196) +++ trunk/src/draw.c (revision 8197) @@ -698,7 +698,7 @@ } else if (lflg & PCB_LYT_DIALOG) { if ((pcb_layer_gui_set_vlayer(PCB_VLY_DIALOG, 0)) || (e->force)) { - e->dialog_draw(Output.fgGC); + e->dialog_draw(Output.fgGC, e); pcb_gui->end_layer(); } } Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 8196) +++ trunk/src/hid.h (revision 8197) @@ -554,9 +554,11 @@ Do *not* assume that the hid that is passed is the GUI hid. This callback is also used for printing and exporting. */ -typedef void (*hid_dialog_draw_t)(pcb_hid_gc_t gc); +typedef struct pcb_hid_expose_ctx_s pcb_hid_expose_ctx_t; -typedef struct pcb_hid_expose_ctx_s { +typedef void (*hid_dialog_draw_t)(pcb_hid_gc_t gc, const pcb_hid_expose_ctx_t *e); + +struct pcb_hid_expose_ctx_s { pcb_box_t view; unsigned force:1; /* draw even if layer set fails */ union { @@ -566,7 +568,7 @@ /* for PCB_LYT_DIALOG */ hid_dialog_draw_t dialog_draw; -} pcb_hid_expose_ctx_t; +}; typedef void (*pcb_hid_expose_t)(pcb_hid_t *hid, const pcb_hid_expose_ctx_t *ctx); Index: trunk/src_plugins/draw_fontsel/draw_fontsel.c =================================================================== --- trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 8196) +++ trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 8197) @@ -134,7 +134,7 @@ } -static void pcb_draw_fontsel(pcb_hid_gc_t gc) +static void pcb_draw_fontsel(pcb_hid_gc_t gc, const pcb_hid_expose_ctx_t *e) { int y = 10; pcb_text_t *t; Index: trunk/src_plugins/lib_gtk_common/dlg_propedit.c =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_propedit.c (revision 8196) +++ trunk/src_plugins/lib_gtk_common/dlg_propedit.c (revision 8197) @@ -370,7 +370,7 @@ */ } -static void prop_preview_draw(pcb_hid_gc_t gc) +static void prop_preview_draw(pcb_hid_gc_t gc, const pcb_hid_expose_ctx_t *e) { pcb_board_t *old_pcb; printf("prop prev expose\n");