Index: export_c_draw/export_c_draw.c =================================================================== --- export_c_draw/export_c_draw.c (revision 36998) +++ export_c_draw/export_c_draw.c (revision 36999) @@ -177,7 +177,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int c_draw_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int c_draw_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (is_empty) return 0; Index: export_debug/export_debug.c =================================================================== --- export_debug/export_debug.c (revision 36998) +++ export_debug/export_debug.c (revision 36999) @@ -179,7 +179,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int debug_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int debug_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (is_empty) return 0; Index: export_dxf/dxf.c =================================================================== --- export_dxf/dxf.c (revision 36998) +++ export_dxf/dxf.c (revision 36999) @@ -348,7 +348,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int dxf_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int dxf_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (flags & PCB_LYT_UI) return 0; Index: export_excellon/excellon.c =================================================================== --- export_excellon/excellon.c (revision 36998) +++ export_excellon/excellon.c (revision 36999) @@ -304,7 +304,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int excellon_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int excellon_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { int is_drill; Index: export_gerber/gerber.c =================================================================== --- export_gerber/gerber.c (revision 36998) +++ export_gerber/gerber.c (revision 36999) @@ -424,7 +424,7 @@ -static int gerber_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int gerber_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { int want_outline; char *cp; Index: export_hpgl/export_hpgl.c =================================================================== --- export_hpgl/export_hpgl.c (revision 36998) +++ export_hpgl/export_hpgl.c (revision 36999) @@ -174,7 +174,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int exp_hpgl_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int exp_hpgl_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (is_empty) return 0; Index: export_openems/export_openems.c =================================================================== --- export_openems/export_openems.c (revision 36998) +++ export_openems/export_openems.c (revision 36999) @@ -731,7 +731,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int openems_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int openems_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (flags & PCB_LYT_COPPER) { /* export copper layers only */ ems_ctx->clayer = ems_ctx->lg_pcb2ems[group]; Index: export_openscad/export_openscad.c =================================================================== --- export_openscad/export_openscad.c (revision 36998) +++ export_openscad/export_openscad.c (revision 36999) @@ -361,7 +361,7 @@ -static int openscad_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int openscad_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (flags & PCB_LYT_UI) return 0; Index: export_png/png.c =================================================================== --- export_png/png.c (revision 36998) +++ export_png/png.c (revision 36999) @@ -521,7 +521,7 @@ static int is_mask; -static int png_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int png_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { if (flags & PCB_LYT_UI) return 0; @@ -553,7 +553,7 @@ is_mask = (flags & PCB_LYT_MASK); if (pctx->photo_mode) - return png_set_layer_group_photo(group, purpose, purpi, layer, flags, is_empty, xform); + return png_set_layer_group_photo(group, design, purpose, purpi, layer, flags, is_empty, xform); if (png_cam.active) /* CAM decided already */ return 1; Index: export_png/png_photo2.c =================================================================== --- export_png/png_photo2.c (revision 36998) +++ export_png/png_photo2.c (revision 36999) @@ -129,7 +129,7 @@ clip(dest, dest); } -static int png_set_layer_group_photo(rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int png_set_layer_group_photo(rnd_layergrp_id_t group, rnd_design_t *design, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { /* workaround: the outline layer vs. alpha breaks if set twice and the draw code may set it twice (if there's no mech layer), but always in a row */ Index: export_ps/eps.c =================================================================== --- export_ps/eps.c (revision 36998) +++ export_ps/eps.c (revision 36999) @@ -305,7 +305,7 @@ static int is_paste; static int is_drill; -static int eps_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int eps_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { gds_t tmp_ln; const char *name; Index: export_ps/ps.c =================================================================== --- export_ps/ps.c (revision 36998) +++ export_ps/ps.c (revision 36999) @@ -37,7 +37,7 @@ const char *ps_cookie = "ps HID"; -static int ps_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform); +static int ps_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform); static pcb_cam_t ps_cam; @@ -504,7 +504,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int ps_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int ps_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { gds_t tmp_ln; const char *name; Index: export_svg/svg.c =================================================================== --- export_svg/svg.c (revision 36998) +++ export_svg/svg.c (revision 36999) @@ -290,7 +290,7 @@ return rnd_hid_parse_command_line(argc, argv); } -static int svg_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int svg_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { int is_our_mask = 0, is_our_silk = 0; Index: lib_hid_pcbui/rendering.c =================================================================== --- lib_hid_pcbui/rendering.c (revision 36998) +++ lib_hid_pcbui/rendering.c (revision 36999) @@ -31,9 +31,9 @@ #include "funchash_core.h" #include "layer.h" -static int (*gui_set_layer_group)(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform); +static int (*gui_set_layer_group)(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform); -static int common_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int common_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { int idx = group; if (idx >= 0 && idx < pcb_max_group(PCB)) { @@ -77,17 +77,17 @@ return 0; } -static int pcbui_set_layer_group(rnd_hid_t *hid, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) +static int pcbui_set_layer_group(rnd_hid_t *hid, rnd_design_t *design, rnd_layergrp_id_t group, const char *purpose, int purpi, rnd_layer_id_t layer, unsigned int flags, int is_empty, rnd_xform_t **xform) { int res; - res = gui_set_layer_group(hid, group, purpose, purpi, layer, flags, is_empty, xform); + res = gui_set_layer_group(hid, design, group, purpose, purpi, layer, flags, is_empty, xform); /* if the HID doesn't want it, don't even bother running the above heuristics */ if (res == 0) return 0; - return common_set_layer_group(hid, group, purpose, purpi, layer, flags, is_empty, xform); + return common_set_layer_group(hid, design, group, purpose, purpi, layer, flags, is_empty, xform); } static void pcb_rendering_gui_init_ev(rnd_design_t *hidlib, void *user_data, int argc, rnd_event_arg_t argv[])