Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 19414) +++ trunk/src/hid.h (revision 19415) @@ -230,7 +230,7 @@ functions. In addition to the copper layer groups, you may select virtual layers. The is_empty argument is a hint - if set, the layer is empty, if zero it may be non-empty. */ - int (*set_layer_group)(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty); + int (*set_layer_group)(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform); /* Tell the GUI the layer last selected has been finished with. */ void (*end_layer)(void); Index: trunk/src/hid_cam.c =================================================================== --- trunk/src/hid_cam.c (revision 19414) +++ trunk/src/hid_cam.c (revision 19415) @@ -316,7 +316,7 @@ } -int pcb_cam_set_layer_group_(pcb_cam_t *cam, pcb_layergrp_id_t group, const char *purpose, int purpi, unsigned int flags) +int pcb_cam_set_layer_group_(pcb_cam_t *cam, pcb_layergrp_id_t group, const char *purpose, int purpi, unsigned int flags, pcb_xform_t **xform) { const pcb_virt_layer_t *vl; Index: trunk/src/hid_cam.h =================================================================== --- trunk/src/hid_cam.h (revision 19414) +++ trunk/src/hid_cam.h (revision 19415) @@ -29,15 +29,15 @@ /* Shall be the first rule in a cam capable exporter's set_layer_group() callback: decides not to draw a layer group in cam mode if the group is not scheduled for export */ -#define pcb_cam_set_layer_group(cam, group, purpose, purpi, flags) \ +#define pcb_cam_set_layer_group(cam, group, purpose, purpi, flags, xform) \ do { \ - if (pcb_cam_set_layer_group_(cam, group, purpose, purpi, flags)) \ + if (pcb_cam_set_layer_group_(cam, group, purpose, purpi, flags, xform)) \ return 0; \ } while(0) /* the logics behind pcb_cam_set_layer_group(); returns non-zero if the macro should return (and skip the current group) */ -int pcb_cam_set_layer_group_(pcb_cam_t *cam, pcb_layergrp_id_t group, const char *purpose, int purpi, unsigned int flags); +int pcb_cam_set_layer_group_(pcb_cam_t *cam, pcb_layergrp_id_t group, const char *purpose, int purpi, unsigned int flags, pcb_xform_t **xform); /*** Obsolete file suffix API - new plugins should not use this ***/ /* maximum size of a derived suffix */ Index: trunk/src/hid_extents.c =================================================================== --- trunk/src/hid_extents.c (revision 19414) +++ trunk/src/hid_extents.c (revision 19415) @@ -41,7 +41,7 @@ int width; } hid_gc_s; -static int extents_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int extents_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (PCB_LAYER_IS_DRILL(flags, purpi)) return 1; Index: trunk/src/hid_nogui.c =================================================================== --- trunk/src/hid_nogui.c (revision 19414) +++ trunk/src/hid_nogui.c (revision 19415) @@ -77,7 +77,7 @@ CRASH("invalidate_all"); } -static int nogui_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int nogui_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { CRASH("set_layer_group"); return 0; Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 19414) +++ trunk/src/layer.c (revision 19415) @@ -1080,7 +1080,7 @@ pcb_layergrp_id_t grp; pcb_layer_id_t lid = v->new_id; grp = pcb_layer_get_group(pcb, lid); - return pcb_gui->set_layer_group(grp, v->purpose, v->purpi, lid, v->type, is_empty); + return pcb_gui->set_layer_group(grp, v->purpose, v->purpi, lid, v->type, is_empty, xform); } /* if the GUI doesn't have a set_layer, assume it wants to draw all layers */ @@ -1097,7 +1097,7 @@ *xform = NULL; if (pcb_gui->set_layer_group != NULL) - return pcb_gui->set_layer_group(-1, NULL, -1, pcb_layer_id(first->parent.data, first), PCB_LYT_VIRTUAL | PCB_LYT_UI, is_empty); + return pcb_gui->set_layer_group(-1, NULL, -1, pcb_layer_id(first->parent.data, first), PCB_LYT_VIRTUAL | PCB_LYT_UI, is_empty, xform); /* if the GUI doesn't have a set_layer, assume it wants to draw all layers */ return 1; Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 19414) +++ trunk/src/layer_grp.c (revision 19415) @@ -640,7 +640,7 @@ *xform = NULL; if (pcb_gui->set_layer_group != NULL) - return pcb_gui->set_layer_group(gid, grp->purpose, grp->purpi, grp->lid[0], grp->ltype, is_empty); + return pcb_gui->set_layer_group(gid, grp->purpose, grp->purpi, grp->lid[0], grp->ltype, is_empty, xform); /* if the GUI doesn't have a set_layer, assume it wants to draw all layers */ return 1; Index: trunk/src_plugins/export_dxf/dxf.c =================================================================== --- trunk/src_plugins/export_dxf/dxf.c (revision 19414) +++ trunk/src_plugins/export_dxf/dxf.c (revision 19415) @@ -342,12 +342,12 @@ return pcb_hid_parse_command_line(argc, argv); } -static int dxf_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int dxf_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (flags & PCB_LYT_UI) return 0; - pcb_cam_set_layer_group(&dxf_cam, group, purpose, purpi, flags); + pcb_cam_set_layer_group(&dxf_cam, group, purpose, purpi, flags, xform); if (!dxf_cam.active) { if (flags & PCB_LYT_INVIS) Index: trunk/src_plugins/export_gcode/gcode.c =================================================================== --- trunk/src_plugins/export_gcode/gcode.c (revision 19414) +++ trunk/src_plugins/export_gcode/gcode.c (revision 19415) @@ -548,7 +548,7 @@ /* *** PNG export (slightly modified code from PNG export HID) ************* */ -static int gcode_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int gcode_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (flags & PCB_LYT_UI) return 0; Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 19414) +++ trunk/src_plugins/export_gerber/gerber.c (revision 19415) @@ -810,7 +810,7 @@ -static int gerber_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int gerber_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { int want_outline; char *cp; @@ -820,7 +820,7 @@ if (PCB_LAYER_IS_ASSY(flags, purpi)) return 0; - pcb_cam_set_layer_group(&gerber_cam, group, purpose, purpi, flags); + pcb_cam_set_layer_group(&gerber_cam, group, purpose, purpi, flags, xform); if (flags & PCB_LYT_UI) return 0; Index: trunk/src_plugins/export_nelma/nelma.c =================================================================== --- trunk/src_plugins/export_nelma/nelma.c (revision 19414) +++ trunk/src_plugins/export_nelma/nelma.c (revision 19415) @@ -656,7 +656,7 @@ /* *** PNG export (slightly modified code from PNG export HID) ************* */ -static int nelma_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int nelma_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (flags & PCB_LYT_INVIS) return 0; Index: trunk/src_plugins/export_openems/export_openems.c =================================================================== --- trunk/src_plugins/export_openems/export_openems.c (revision 19414) +++ trunk/src_plugins/export_openems/export_openems.c (revision 19415) @@ -657,7 +657,7 @@ return pcb_hid_parse_command_line(argc, argv); } -static int openems_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int openems_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (flags & PCB_LYT_COPPER) { /* export copper layers only */ ems_ctx->clayer = ems_ctx->lg_pcb2ems[group]; Index: trunk/src_plugins/export_openscad/export_openscad.c =================================================================== --- trunk/src_plugins/export_openscad/export_openscad.c (revision 19414) +++ trunk/src_plugins/export_openscad/export_openscad.c (revision 19415) @@ -357,7 +357,7 @@ -static int openscad_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int openscad_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (flags & PCB_LYT_UI) return 0; Index: trunk/src_plugins/export_png/png.c =================================================================== --- trunk/src_plugins/export_png/png.c (revision 19414) +++ trunk/src_plugins/export_png/png.c (revision 19415) @@ -1193,7 +1193,7 @@ static int is_drill; -static int png_set_layer_group_photo(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int png_set_layer_group_photo(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (((flags & PCB_LYT_ANYTHING) == PCB_LYT_SILK) && (flags & PCB_LYT_TOP)) { if (photo_flip) @@ -1264,7 +1264,7 @@ return 1; } -static int png_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int png_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { doing_outline = 0; @@ -1271,7 +1271,7 @@ if (flags & PCB_LYT_UI) return 0; - pcb_cam_set_layer_group(&png_cam, group, purpose, purpi, flags); + pcb_cam_set_layer_group(&png_cam, group, purpose, purpi, flags, xform); if (!png_cam.active) { @@ -1286,7 +1286,7 @@ is_mask = (flags & PCB_LYT_MASK); if (photo_mode) - return png_set_layer_group_photo(group, purpose, purpi, layer, flags, is_empty); + return png_set_layer_group_photo(group, purpose, purpi, layer, flags, is_empty, xform); if (PCB_LAYER_IS_OUTLINE(flags, purpi)) { doing_outline = 1; Index: trunk/src_plugins/export_ps/eps.c =================================================================== --- trunk/src_plugins/export_ps/eps.c (revision 19414) +++ trunk/src_plugins/export_ps/eps.c (revision 19415) @@ -33,7 +33,7 @@ static pcb_hid_attribute_t *eps_get_export_options(int *n); static void eps_do_export(pcb_hid_attr_val_t * options); static int eps_parse_arguments(int *argc, char ***argv); -static int eps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty); +static int eps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform); static pcb_hid_gc_t eps_make_gc(void); static void eps_destroy_gc(pcb_hid_gc_t gc); static void eps_set_color(pcb_hid_gc_t gc, const char *name); @@ -361,7 +361,7 @@ static int is_paste; static int is_drill; -static int eps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int eps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { char tmp_ln[PCB_PATH_MAX]; const char *name; @@ -369,7 +369,7 @@ if (flags & PCB_LYT_UI) return 0; - pcb_cam_set_layer_group(&eps_cam, group, purpose, purpi, flags); + pcb_cam_set_layer_group(&eps_cam, group, purpose, purpi, flags, xform); if (!eps_cam.active) { if (flags & PCB_LYT_NOEXPORT) Index: trunk/src_plugins/export_ps/ps.c =================================================================== --- trunk/src_plugins/export_ps/ps.c (revision 19414) +++ trunk/src_plugins/export_ps/ps.c (revision 19415) @@ -34,7 +34,7 @@ const char *ps_cookie = "ps HID"; -static int ps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty); +static int ps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform); static void use_gc(pcb_hid_gc_t gc); typedef struct hid_gc_s { @@ -676,7 +676,7 @@ global.linewidth = -1; /* reset static vars */ - ps_set_layer_group(-1, NULL, -1, -1, 0, -1); + ps_set_layer_group(-1, NULL, -1, -1, 0, -1, NULL); use_gc(NULL); global.exps.view.X1 = 0; @@ -699,7 +699,7 @@ global.pagecount = 1; /* Reset 'pagecount' if single file */ global.doing_toc = 0; - ps_set_layer_group(-1, NULL, -1, -1, 0, -1); /* reset static vars */ + ps_set_layer_group(-1, NULL, -1, -1, 0, -1, NULL); /* reset static vars */ pcb_hid_expose_all(&ps_hid, &global.exps); if (the_file) @@ -787,7 +787,7 @@ fprintf(fh, "stroke grestore\n"); } -static int ps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int ps_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { char tmp_fn[PCB_PATH_MAX]; char tmp_ln[PCB_PATH_MAX]; @@ -805,7 +805,7 @@ if (flags & PCB_LYT_UI) return 0; - pcb_cam_set_layer_group(&ps_cam, group, purpose, purpi, flags); + pcb_cam_set_layer_group(&ps_cam, group, purpose, purpi, flags, xform); if (!ps_cam.active) { if (flags & PCB_LYT_NOEXPORT) Index: trunk/src_plugins/export_svg/svg.c =================================================================== --- trunk/src_plugins/export_svg/svg.c (revision 19414) +++ trunk/src_plugins/export_svg/svg.c (revision 19415) @@ -352,7 +352,7 @@ return pcb_hid_parse_command_line(argc, argv); } -static int svg_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int svg_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { int opa, is_our_mask = 0, is_our_silk = 0; @@ -362,7 +362,7 @@ if (flags & PCB_LYT_UI) return 0; - pcb_cam_set_layer_group(&svg_cam, group, purpose, purpi, flags); + pcb_cam_set_layer_group(&svg_cam, group, purpose, purpi, flags, xform); if (!svg_cam.active) { if (flags & PCB_LYT_INVIS) Index: trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/hid/hid_callbacks.c =================================================================== --- trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/hid/hid_callbacks.c (revision 19414) +++ trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/hid/hid_callbacks.c (revision 19415) @@ -79,7 +79,7 @@ /* Do nothing */ } -int gpmi_hid_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +int gpmi_hid_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { gpmi_hid_t *h = hid_gpmi_data_get(pcb_exporter); gpmi_event(h->module, HIDE_set_layer_group, h, group, layer, flags, is_empty); Index: trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/hid/hid_callbacks.h =================================================================== --- trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/hid/hid_callbacks.h (revision 19414) +++ trunk/src_plugins/gpmi/pcb-gpmi/gpmi_plugin/gpmi_pkg/hid/hid_callbacks.h (revision 19415) @@ -4,7 +4,7 @@ void gpmi_hid_do_export(pcb_hid_attr_val_t * options); int gpmi_hid_parse_arguments(int *pcbargc, char ***pcbargv); void gpmi_hid_set_crosshair(pcb_coord_t x, pcb_coord_t y, int cursor_action); -int gpmi_hid_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty); +int gpmi_hid_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform); void gpmi_hid_set_color(pcb_hid_gc_t gc, const char *name); void gpmi_hid_set_line_cap(pcb_hid_gc_t gc, pcb_cap_style_t style); void gpmi_hid_set_line_width(pcb_hid_gc_t gc, pcb_coord_t width); Index: trunk/src_plugins/hid_batch/batch.c =================================================================== --- trunk/src_plugins/hid_batch/batch.c (revision 19414) +++ trunk/src_plugins/hid_batch/batch.c (revision 19415) @@ -169,7 +169,7 @@ { } -static int batch_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int batch_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { return 0; } Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 19414) +++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 19415) @@ -100,7 +100,7 @@ } -static int ghid_gdk_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int ghid_gdk_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { int idx = group; if (idx >= 0 && idx < pcb_max_group(PCB)) { Index: trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c =================================================================== --- trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 19414) +++ trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 19415) @@ -138,7 +138,7 @@ } #endif -int ghid_gl_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +int ghid_gl_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { render_priv_t *priv = gport->render_priv; int idx = group; Index: trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c =================================================================== --- trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 19414) +++ trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 19415) @@ -209,7 +209,7 @@ priv->cr = priv->cr_target; } -static int ghid_cairo_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int ghid_cairo_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { int idx = group; if (idx >= 0 && idx < pcb_max_group(PCB)) { Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 19414) +++ trunk/src_plugins/hid_lesstif/main.c (revision 19415) @@ -2889,7 +2889,7 @@ invalidate_depth++; } -static int lesstif_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int lesstif_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { int idx = group; if (idx >= 0 && idx < pcb_max_group(PCB)) { Index: trunk/src_plugins/hid_remote/proto.c =================================================================== --- trunk/src_plugins/hid_remote/proto.c (revision 19414) +++ trunk/src_plugins/hid_remote/proto.c (revision 19415) @@ -103,7 +103,7 @@ send_end(&pctx); } -int proto_send_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int is_empty) +int proto_send_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int is_empty, pcb_xform_t **xform) { send_begin(&pctx, "setlg"); send_open(&pctx, 0, 1); Index: trunk/src_plugins/hid_remote/remote.c =================================================================== --- trunk/src_plugins/hid_remote/remote.c (revision 19414) +++ trunk/src_plugins/hid_remote/remote.c (revision 19415) @@ -133,7 +133,7 @@ proto_send_invalidate_all(); } -static int remote_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int remote_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { if (flags & PCB_LYT_UI) /* do not draw UI layers yet, we didn't create them */ return 0; Index: trunk/src_plugins/loghid/hid-logger.c =================================================================== --- trunk/src_plugins/loghid/hid-logger.c (revision 19414) +++ trunk/src_plugins/loghid/hid-logger.c (revision 19415) @@ -60,10 +60,10 @@ delegatee_->notify_mark_change(changes_complete); } -static int log_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty) +static int log_set_layer_group(pcb_layergrp_id_t group, const char *purpose, int purpi, pcb_layer_id_t layer, unsigned int flags, int is_empty, pcb_xform_t **xform) { - pcb_fprintf(out_, "set_layer(group=%ld, layer=%ld, flags=%lx, empty=%s)\n", group, layer, flags, is_empty ? "true" : "false"); - return delegatee_->set_layer_group(group, purpose, purpi, layer, flags, is_empty); + pcb_fprintf(out_, "set_layer(group=%ld, layer=%ld, flags=%lx, empty=%s, xform=%p)\n", group, layer, flags, is_empty ? "true" : "false", xform); + return delegatee_->set_layer_group(group, purpose, purpi, layer, flags, is_empty, xform); } static void log_end_layer()