Index: trunk/src/obj_pstk.h =================================================================== --- trunk/src/obj_pstk.h (revision 13988) +++ trunk/src/obj_pstk.h (revision 13989) @@ -23,6 +23,7 @@ #ifndef PCB_OBJ_PSTK_STRUCT_DECLARED #define PCB_OBJ_PSTK_STRUCT_DECLARED +#include #include "obj_common.h" /* The actual padstack is just a reference to a padstack proto within the same data */ @@ -106,6 +107,11 @@ pcb_cardinal_t pcb_pstk_conv_selection(pcb_board_t *pcb, int quiet, pcb_coord_t ox, pcb_coord_t oy); pcb_cardinal_t pcb_pstk_conv_buffer(int quiet); +/* Low level converter: take an array of (pcb_any_obj_t *) objs and convert + them into shapes of the dst proto. Does not remove input objects. */ +int pcb_pstk_proto_conv(pcb_data_t *data, pcb_pstk_proto_t *dst, int quiet, vtp0_t *objs, pcb_coord_t ox, pcb_coord_t oy); + + /* free fields of a proto (not freeing the proto itself, not removing it from lists */ void pcb_pstk_proto_free_fields(pcb_pstk_proto_t *dst); Index: trunk/src/obj_pstk_proto.c =================================================================== --- trunk/src/obj_pstk_proto.c (revision 13988) +++ trunk/src/obj_pstk_proto.c (revision 13989) @@ -89,7 +89,7 @@ ts->shape[idx].comb = comb; } -static int pcb_pstk_proto_conv(pcb_data_t *data, pcb_pstk_proto_t *dst, int quiet, vtp0_t *objs, pcb_coord_t ox, pcb_coord_t oy) +int pcb_pstk_proto_conv(pcb_data_t *data, pcb_pstk_proto_t *dst, int quiet, vtp0_t *objs, pcb_coord_t ox, pcb_coord_t oy) { int ret = -1, n, m, i; pcb_any_obj_t **o;