Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 17106) +++ trunk/src/obj_text.c (revision 17107) @@ -686,6 +686,17 @@ pcb_r_insert_entry(layer->text_tree, (pcb_box_t *) text); } +void pcb_text_mirror_coords(pcb_layer_t *layer, pcb_text_t *text, pcb_coord_t y_offs) +{ + if (layer->text_tree != NULL) + pcb_r_delete_entry(layer->text_tree, (pcb_box_t *) text); + text->X = PCB_SWAP_X(text->X); + text->Y = PCB_SWAP_Y(text->Y) + y_offs; + pcb_text_bbox(pcb_font(PCB, text->fid, 1), text); + if (layer->text_tree != NULL) + pcb_r_insert_entry(layer->text_tree, (pcb_box_t *) text); +} + void pcb_text_set_font(pcb_layer_t *layer, pcb_text_t *text, pcb_font_id_t fid) { pcb_poly_restore_to_poly(PCB->Data, PCB_OBJ_TEXT, layer, text); Index: trunk/src/obj_text.h =================================================================== --- trunk/src/obj_text.h (revision 17106) +++ trunk/src/obj_text.h (revision 17107) @@ -64,6 +64,7 @@ void pcb_text_bbox(pcb_font_t *FontPtr, pcb_text_t *Text); void pcb_text_rotate90(pcb_text_t *Text, pcb_coord_t X, pcb_coord_t Y, unsigned Number); void pcb_text_flip_side(pcb_layer_t *layer, pcb_text_t *text, pcb_coord_t y_offs); +void pcb_text_mirror_coords(pcb_layer_t *layer, pcb_text_t *text, pcb_coord_t y_offs); /* mirror the coords but do not mirror the text itself (no on-solder) */ void pcb_text_set_font(pcb_layer_t *layer, pcb_text_t *text, pcb_font_id_t fid); void pcb_text_update(pcb_layer_t *layer, pcb_text_t *text);