Index: trunk/src/change.c =================================================================== --- trunk/src/change.c (revision 9517) +++ trunk/src/change.c (revision 9518) @@ -388,6 +388,25 @@ NULL }; +pcb_opfunc_t ChgFlagFunctions = { + pcb_lineop_change_flag, + pcb_textop_change_flag, + pcb_polyop_change_flag, + pcb_pinop_change_flag, + NULL, + NULL, + pcb_pinop_change_flag, + pcb_padop_change_flag, + NULL, + NULL, + pcb_arcop_change_flag, + NULL, + NULL, + pcb_subcop_change_flag +}; + + + /* ---------------------------------------------------------------------- * changes the thermals on all selected and visible pins * and/or vias. Returns pcb_true if anything has changed @@ -1267,3 +1286,14 @@ } return (NULL); } + +void pcb_flag_change(pcb_board_t *pcb, pcb_change_flag_t how, pcb_flag_values_t flag, int Type, void *Ptr1, void *Ptr2, void *Ptr3) +{ + pcb_opctx_t ctx; + + ctx.chgflag.pcb = pcb; + ctx.chgflag.how = how; + ctx.chgflag.flag = flag; + + pcb_object_operation(&ChgFlagFunctions, &ctx, Type, Ptr1, Ptr2, Ptr3); +} Index: trunk/src/change.h =================================================================== --- trunk/src/change.h (revision 9517) +++ trunk/src/change.h (revision 9518) @@ -30,6 +30,7 @@ #define PCB_CHANGE_H #include "config.h" +#include "flag.h" /* --------------------------------------------------------------------------- * some defines @@ -107,4 +108,7 @@ pcb_bool pcb_chg_selected_angle(int types, int is_start, pcb_angle_t Difference, pcb_bool fixIt); pcb_bool pcb_chg_selected_radius(int types, int is_start, pcb_angle_t Difference, pcb_bool fixIt); +/* Change flag flg of an object in a way dictated by 'how' */ +void pcb_flag_change(pcb_board_t *pcb, pcb_change_flag_t how, pcb_flag_values_t flg, int Type, void *Ptr1, void *Ptr2, void *Ptr3); + #endif Index: trunk/src/flag.c =================================================================== --- trunk/src/flag.c (revision 9517) +++ trunk/src/flag.c (revision 9518) @@ -31,26 +31,6 @@ #include "operation.h" #include "obj_all_op.h" -pcb_opfunc_t ChgFlagFunctions = { - pcb_lineop_change_flag, - pcb_textop_change_flag, - pcb_polyop_change_flag, - pcb_pinop_change_flag, - NULL, - NULL, - pcb_pinop_change_flag, - pcb_padop_change_flag, - NULL, - NULL, - pcb_arcop_change_flag, - NULL, - NULL, - pcb_subcop_change_flag -}; - - - - /* This just fills in a pcb_flag_t with current flags. */ pcb_flag_t pcb_flag_make(unsigned int flags) {