Index: svg.c =================================================================== --- svg.c (revision 8380) +++ svg.c (revision 8381) @@ -86,6 +86,7 @@ static FILE *f = NULL; static int group_open = 0; static int opacity = 100, drawing_mask, drawing_hole, photo_mode, flip; +static pcb_mask_op_t mask_mode; gds_t sbright, sdark, snormal; @@ -305,7 +306,7 @@ y2 = PCB->MaxHeight; x2 += PCB_MM_TO_COORD(5); y2 += PCB_MM_TO_COORD(5); - pcb_fprintf(f, "\n", w, h, x1, y1, x2, y2); + pcb_fprintf(f, "\n", w, h, x1, y1, x2, y2); pcb_hid_save_and_show_layer_ons(save_ons); @@ -407,13 +408,25 @@ static void svg_use_mask(pcb_mask_op_t use_it) { - if (use_it == HID_MASK_CLEAR) { - return; + mask_mode = use_it; + switch(mask_mode) { + case HID_MASK_INIT: + pcb_append_printf(&snormal, "\n"); + pcb_append_printf(&snormal, "\n"); + pcb_append_printf(&snormal, "\n", PCB->MaxWidth, PCB->MaxHeight); + pcb_append_printf(&snormal, "\n", PCB->MaxWidth, PCB->MaxHeight); + break; + + case HID_MASK_OFF: + pcb_append_printf(&snormal, "\n"); + pcb_append_printf(&snormal, "\n"); + pcb_append_printf(&snormal, "\n"); + pcb_append_printf(&snormal, "\n"); + break; } - if (use_it) { - } } + static void svg_set_color(pcb_hid_gc_t gc, const char *name) { gc->drill = gc->erase = 0;