Index: draw_csect.c =================================================================== --- draw_csect.c (revision 29417) +++ draw_csect.c (revision 29418) @@ -64,6 +64,9 @@ #define GROUP_WIDTH_MM 75 +static pcb_xform_t def_xform; +static pcb_draw_info_t def_info; + /* Draw a text at x;y sized scale percentage */ static pcb_text_t *dtext(int x, int y, int scale, int dir, const char *txt) { @@ -78,7 +81,7 @@ t.Scale = scale; t.fid = 0; /* use the default font */ t.Flags = pcb_no_flags(); - pcb_text_draw_(NULL, &t, 0, 0, PCB_TXT_TINY_ACCURATE); + pcb_text_draw_(&def_info, &t, 0, 0, PCB_TXT_TINY_ACCURATE); return &t; } @@ -96,7 +99,7 @@ t.Scale = scale; t.fid = 0; /* use the default font */ t.Flags = pcb_no_flags(); - pcb_text_draw_(NULL, &t, th, 0, PCB_TXT_TINY_ACCURATE); + pcb_text_draw_(&def_info, &t, th, 0, PCB_TXT_TINY_ACCURATE); return &t; } @@ -117,11 +120,11 @@ if (pcb_gui->gui) { /* it is unreadable on black&white and on most exporters */ pcb_render->set_color(gc, bgcolor); - pcb_text_draw_(NULL, &t, 1000000, 0, PCB_TXT_TINY_ACCURATE); + pcb_text_draw_(&def_info, &t, 1000000, 0, PCB_TXT_TINY_ACCURATE); } pcb_render->set_color(gc, fgcolor); - pcb_text_draw_(NULL, &t, 0, 0, PCB_TXT_TINY_ACCURATE); + pcb_text_draw_(&def_info, &t, 0, 0, PCB_TXT_TINY_ACCURATE); return &t; } @@ -138,7 +141,7 @@ l.Thickness = PCB_MM_TO_COORD(thick); if (l.Thickness == 0) l.Thickness = 1; - pcb_line_draw_(NULL, &l, 0); + pcb_line_draw_(&def_info, &l, 0); } /* draw a line of a specific thickness */ @@ -153,7 +156,7 @@ l.Thickness = PCB_MM_TO_COORD(thick); if (l.Thickness == 0) l.Thickness = 1; - pcb_line_draw_(NULL, &l, 0); + pcb_line_draw_(&def_info, &l, 0); } @@ -940,6 +943,8 @@ PCB_API_CHK_VER; PCB_REGISTER_ACTIONS(draw_csect_action_list, draw_csect_cookie) + def_info.xform = &def_xform; + pcb_color_load_str(&COLOR_ANNOT, COLOR_ANNOT_); pcb_color_load_str(&COLOR_BG, COLOR_BG_); pcb_color_load_str(&COLOR_COPPER, COLOR_COPPER_);