Index: trunk/src/draw_composite.c =================================================================== --- trunk/src/draw_composite.c (revision 11057) +++ trunk/src/draw_composite.c (revision 11058) @@ -60,7 +60,7 @@ pcb_gui->set_color(Output.pmGC, ctx->color); else { pcb_gui->use_mask(HID_MASK_CLEAR); - pcb_gui->set_drawing_mode(PCB_HID_COMP_NEGATIVE, ctx->screen); + pcb_gui->set_drawing_mode(PCB_HID_COMP_NEGATIVE, pcb_false, ctx->screen); } } @@ -70,7 +70,7 @@ pcb_gui->set_color(Output.pmGC, "erase"); else { pcb_gui->use_mask(HID_MASK_SET); - pcb_gui->set_drawing_mode(PCB_HID_COMP_POSITIVE, ctx->screen); + pcb_gui->set_drawing_mode(PCB_HID_COMP_POSITIVE, pcb_false, ctx->screen); } } @@ -105,7 +105,7 @@ comp_fill_board(ctx, HID_MASK_AFTER); pcb_gui->use_mask(HID_MASK_OFF); - pcb_gui->set_drawing_mode(PCB_HID_COMP_FLUSH, ctx->screen); + pcb_gui->set_drawing_mode(PCB_HID_COMP_FLUSH, pcb_false, ctx->screen); } static void comp_init(comp_ctx_t *ctx, int negative) @@ -114,7 +114,7 @@ return; pcb_gui->use_mask(HID_MASK_INIT); - pcb_gui->set_drawing_mode(PCB_HID_COMP_RESET, ctx->screen); + pcb_gui->set_drawing_mode(PCB_HID_COMP_RESET, pcb_false, ctx->screen); if (ctx->invert) negative = !negative; Index: trunk/src/draw_ly_spec.c =================================================================== --- trunk/src/draw_ly_spec.c (revision 11057) +++ trunk/src/draw_ly_spec.c (revision 11058) @@ -154,10 +154,10 @@ */ if (pcb_gui->can_mask_clear_rats) pcb_gui->use_mask(HID_MASK_CLEAR); - pcb_gui->set_drawing_mode(PCB_HID_COMP_RESET, drawn_area); - pcb_gui->set_drawing_mode(PCB_HID_COMP_POSITIVE, drawn_area); + pcb_gui->set_drawing_mode(PCB_HID_COMP_RESET, pcb_false, drawn_area); + pcb_gui->set_drawing_mode(PCB_HID_COMP_POSITIVE, pcb_false, drawn_area); pcb_r_search(PCB->Data->rat_tree, drawn_area, NULL, pcb_rat_draw_callback, NULL, NULL); - pcb_gui->set_drawing_mode(PCB_HID_COMP_FLUSH, drawn_area); + pcb_gui->set_drawing_mode(PCB_HID_COMP_FLUSH, pcb_false, drawn_area); if (pcb_gui->can_mask_clear_rats) pcb_gui->use_mask(HID_MASK_OFF); } Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 11057) +++ trunk/src/hid.h (revision 11058) @@ -289,7 +289,7 @@ /* Composite layer drawing: manipulate the sketch canvas and set positive or negative drawing mode. The canvas covers the screen box. */ - void (*set_drawing_mode)(pcb_composite_op_t op, const pcb_box_t *screen); + void (*set_drawing_mode)(pcb_composite_op_t op, pcb_bool direct, const pcb_box_t *screen); /* Announce start/end of a render burst for a specific screen screen box. */ void (*render_burst)(pcb_burst_op_t op, const pcb_box_t *screen); Index: trunk/src/hid_extents.c =================================================================== --- trunk/src/hid_extents.c (revision 11057) +++ trunk/src/hid_extents.c (revision 11058) @@ -41,7 +41,7 @@ { } -static void extents_set_drawing_mode(pcb_composite_op_t op, const pcb_box_t *screen) +static void extents_set_drawing_mode(pcb_composite_op_t op, pcb_bool direct, const pcb_box_t *screen) { } Index: trunk/src/hid_nogui.c =================================================================== --- trunk/src/hid_nogui.c (revision 11057) +++ trunk/src/hid_nogui.c (revision 11058) @@ -70,7 +70,7 @@ CRASH("use_mask"); } -static void nogui_set_drawing_mode(pcb_composite_op_t op, const pcb_box_t *screen) +static void nogui_set_drawing_mode(pcb_composite_op_t op, pcb_bool direct, const pcb_box_t *screen) { #warning make these crash after the transition /* CRASH("set_drawing_mode");*/