Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 31189) +++ trunk/src/obj_text.c (revision 31190) @@ -1032,6 +1032,14 @@ } PCB_ENDALL_LOOP; } +int pcb_text_chg_scale(pcb_text_t *text, double scx, rnd_bool absx, double scy, rnd_bool absy, rnd_bool undoable) +{ + TODO("undo: make this undoable"); + text->scale_x = absx ? scx : text->scale_x + scx; + text->scale_y = absy ? scy : text->scale_y + scy; + return 0; +} + /*** draw ***/ #define MAX_SIMPLE_POLY_POINTS 256 Index: trunk/src/obj_text_op.h =================================================================== --- trunk/src/obj_text_op.h (revision 31189) +++ trunk/src/obj_text_op.h (revision 31190) @@ -52,3 +52,6 @@ void *pcb_textop_change_flag(pcb_opctx_t *ctx, pcb_layer_t *Layer, pcb_text_t *Text); void *pcb_textop_invalidate_label(pcb_opctx_t *ctx, pcb_layer_t *layer, pcb_text_t *text); + +/* undoable scale_x and scale_y change */ +int pcb_text_chg_scale(pcb_text_t *text, double scx, rnd_bool absx, double scy, rnd_bool absy, rnd_bool undoable);