Index: operation.h =================================================================== --- operation.h (revision 2273) +++ operation.h (revision 2274) @@ -50,7 +50,7 @@ void (*rotate)(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, double da, int undoable); void (*rotate90)(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, int n, int undoable); void (*mirror)(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t mcx, csch_coord_t mcy, int mirx, int miry, int undoable); - void (*inst2spec)(csch_sheet_t *sheet, csch_chdr_t *obj, int undoable); + void (*inst2spec)(csch_sheet_t *sheet, csch_chdr_t *obj, const csch_chdr_t *in, int undoable); } csch_ops_t; @@ -70,9 +70,9 @@ void csch_move(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t dx, csch_coord_t dy, int undoable); void csch_copy(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t dx, csch_coord_t dy, int undoable); -/* Copy inst (current final transformation) back to spec; this can be used - in a transformed group breakup to get all ex-member objects stay in place */ -void csch_inst2spec(csch_sheet_t *sheet, csch_chdr_t *obj, int undoable); +/* Copy inst (current final transformation) of inst_from to spec of obj; this + can be used in a transformed group breakup to get all ex-member objects stay in place. */ +void csch_inst2spec(csch_sheet_t *sheet, csch_chdr_t *obj, const csch_chdr_t *inst_from, int undoable); /* Undoably rotate object by da radians around rcx;rcy; the original spec is moved */ void csch_rotate(csch_sheet_t *sheet, csch_chdr_t *obj, csch_coord_t rcx, csch_coord_t rcy, double da, int undoable);