Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 4573) +++ trunk/scconfig/Rev.h (revision 4574) @@ -1 +1 @@ -static const int myrev = 4570; +static const int myrev = 4574; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 4573) +++ trunk/scconfig/Rev.tab (revision 4574) @@ -1,4 +1,4 @@ -4570 configure unravel - the big cleanup, moving code and files +4574 configure unravel - the big cleanup, moving code and files 4450 configure io_lihata plugin config and 3rd party lib dependency fix 4398 configure io_kicad plugin interdeps and enable io_kicad by default 4375 configure custom output style support in io_lihata Index: trunk/src/list_pin.c =================================================================== --- trunk/src/list_pin.c (revision 4573) +++ trunk/src/list_pin.c (nonexistent) @@ -1,26 +0,0 @@ -/* - * COPYRIGHT - * - * pcb-rnd, interactive printed circuit board design - * Copyright (C) 2016 Tibor 'Igor2' Palinkas - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#define TDL_DONT_UNDEF -#include "global_objs.h" -#include "list_pin.h" -#include Index: trunk/src/list_pin.h =================================================================== --- trunk/src/list_pin.h (revision 4573) +++ trunk/src/list_pin.h (nonexistent) @@ -1,43 +0,0 @@ -/* - * COPYRIGHT - * - * pcb-rnd, interactive printed circuit board design - * Copyright (C) 2016 Tibor 'Igor2' Palinkas - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#ifndef LIST_PIN_H -#define LIST_PIN_H - -#include "global_objs.h" - -/* List of Pins */ -#define TDL(x) pinlist_ ## x -#define TDL_LIST_T pinlist_t -#define TDL_ITEM_T PinType -#define TDL_FIELD link -#define TDL_SIZE_T size_t -#define TDL_FUNC - -#define pinlist_foreach(list, iterator, loop_elem) \ - gdl_foreach_((&((list)->lst)), (iterator), (loop_elem)) - - -#include -#include - -#endif Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 4573) +++ trunk/src/Makefile.dep (revision 4574) @@ -9,13 +9,13 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h hid.h misc.h mymem.h create.h rtree.h \ undo.h move.h draw.h set.h polygon.h rtree.h math_helper.h plugins.h \ - obj_all.h box.h move.h misc_util.h hid_actions.h dolists.h + obj_all.h obj_pinvia.h box.h move.h misc_util.h hid_actions.h dolists.h ../src_plugins/autoplace/action.o: ../src_plugins/autoplace/action.c \ ../config.h ../src_plugins/autoplace/autoplace.h global_typedefs.h \ pcb_bool.h unit.h plugins.h set.h global_typedefs.h hid_actions.h hid.h \ @@ -32,12 +32,12 @@ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ ../src_plugins/autoplace/autoplace.h global_typedefs.h box.h \ math_helper.h move.h misc_util.h compat_misc.h compat_nls.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h draw.h error.h layer.h intersect.h rtree.h \ macro.h mirror.h misc.h mymem.h move.h mymem.h rats.h netlist.h \ - route_style.h remove.h rotate.h ptrlist.h + route_style.h remove.h rotate.h obj_pinvia.h ptrlist.h ../src_plugins/autoroute/action.o: ../src_plugins/autoroute/action.c \ ../config.h ../src_plugins/autoroute/autoroute.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ @@ -62,7 +62,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h data.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -73,7 +73,7 @@ ../src_plugins/autoroute/mtspace.h ../src_plugins/autoroute/vector.h \ mymem.h polygon.h rtree.h rats.h netlist.h route_style.h remove.h \ thermal.h undo.h pcb-printf.h set.h layer.h compat_nls.h obj_all.h \ - ptrlist.h + obj_pinvia.h ptrlist.h ../src_plugins/autoroute/mtspace.o: ../src_plugins/autoroute/mtspace.c \ ../config.h box.h math_helper.h global_typedefs.h pcb_bool.h unit.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h \ @@ -92,11 +92,11 @@ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ rats.h netlist.h route_style.h polygon.h rtree.h math_helper.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h hid.h misc.h mymem.h create.h rtree.h \ - undo.h plugins.h obj_all.h hid_actions.h dolists.h + undo.h plugins.h obj_all.h obj_pinvia.h hid_actions.h dolists.h ../src_plugins/dbus/dbus-pcbmain.o: ../src_plugins/dbus/dbus-pcbmain.c \ ../config.h ../src_plugins/dbus/dbus-pcbmain.h hid.h error.h drc.h \ unit.h global_typedefs.h pcb_bool.h attrib.h @@ -110,7 +110,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -125,7 +125,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -156,7 +156,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -173,7 +173,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -199,13 +199,13 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h board.h vtonpoint.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h \ create.h remove.h move.h draw.h undo.h flag_str.h find.h layer.h \ pcb-printf.h plugins.h hid_flags.h hid_actions.h \ - ../src_plugins/djopt/djopt_conf.h conf.h obj_line.h dolists.h \ - ../src_plugins/djopt/djopt_conf_fields.h + ../src_plugins/djopt/djopt_conf.h conf.h obj_line.h obj_pinvia.h \ + dolists.h ../src_plugins/djopt/djopt_conf_fields.h ../src_plugins/export_bboard/bboard.o: \ ../src_plugins/export_bboard/bboard.c ../config.h math_helper.h board.h \ const.h macro.h global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ @@ -216,13 +216,13 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h misc.h mymem.h error.h buffer.h create.h \ - layer.h plugins.h compat_misc.h misc_util.h obj_all.h hid.h hid_attrib.h \ - hid_nogui.h hid_draw_helpers.h hid_init.h hid_helper.h + layer.h plugins.h compat_misc.h misc_util.h obj_all.h obj_pinvia.h hid.h \ + hid_attrib.h hid_nogui.h hid_draw_helpers.h hid_init.h hid_helper.h ../src_plugins/export_bom/bom.o: ../src_plugins/export_bom/bom.c \ ../config.h conf_core.h conf.h global_typedefs.h pcb_bool.h unit.h \ pcb-printf.h ../src_3rd/genvector/gds_char.h \ @@ -238,7 +238,7 @@ attrib.h flag.h polyarea.h layer.h list_poly.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ obj_text.h library.h rats_patch.h board.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h error.h \ misc.h mymem.h pcb-printf.h plugins.h compat_misc.h hid.h hid_nogui.h \ @@ -252,7 +252,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -260,7 +260,8 @@ route_style.h buffer.h change.h draw.h set.h undo.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h create.h polygon.h rtree.h math_helper.h \ compat_misc.h layer.h hid.h hid_draw_helpers.h hid_nogui.h hid_actions.h \ - hid_init.h hid_attrib.h hid_helper.h plugins.h obj_line.h dolists.h + hid_init.h hid_attrib.h hid_helper.h plugins.h obj_line.h obj_pinvia.h \ + dolists.h ../src_plugins/export_dxf/dxf.o: ../src_plugins/export_dxf/dxf.c \ ../config.h math_helper.h macro.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ @@ -271,7 +272,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -278,7 +279,7 @@ hid.h error.h drc.h buffer.h misc.h mymem.h error.h draw.h \ hid_draw_helpers.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ compat_misc.h layer.h hid_attrib.h hid_flags.h hid_helper.h hid.h \ - hid_init.h plugins.h + hid_init.h plugins.h obj_pinvia.h ../src_plugins/export_gcode/curve.o: ../src_plugins/export_gcode/curve.c \ ../config.h ../src_plugins/export_gcode/potracelib.h \ ../src_plugins/export_gcode/lists.h ../src_plugins/export_gcode/curve.h \ @@ -305,7 +306,7 @@ attrib.h flag.h polyarea.h layer.h list_poly.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ obj_text.h library.h rats_patch.h board.h vtonpoint.h error.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h misc.h \ mymem.h rats.h netlist.h route_style.h hid_helper.h layer.h \ @@ -333,7 +334,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -355,7 +356,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -365,11 +366,12 @@ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/genvector/vtp0.h list_conf.h \ - hid.h hid_nogui.h hid_helper.h hid_attrib.h hid_init.h plugins.h + obj_pinvia.h hid.h hid_nogui.h hid_helper.h hid_attrib.h hid_init.h \ + plugins.h ../src_plugins/export_lpr/lpr.o: ../src_plugins/export_lpr/lpr.c \ ../config.h data.h globalconst.h global_typedefs.h pcb_bool.h unit.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -390,7 +392,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - error.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + error.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -408,7 +410,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - math_helper.h data.h global_element.h list_pin.h list_pad.h \ + math_helper.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -430,7 +432,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -441,7 +443,7 @@ ../src_plugins/export_openscad/scadproto.c ../config.h data.h \ globalconst.h global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -467,7 +469,7 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h board.h vtonpoint.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h error.h \ misc.h mymem.h layer.h misc_util.h compat_misc.h plugins.h hid.h \ @@ -488,7 +490,7 @@ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h layer.h \ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ - vtonpoint.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + vtonpoint.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h layer.h misc.h mymem.h pcb-printf.h hid.h \ @@ -503,7 +505,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -531,7 +533,7 @@ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h layer.h \ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ - vtonpoint.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + vtonpoint.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h error.h misc.h mymem.h layer.h misc_util.h \ @@ -552,7 +554,7 @@ attrib.h flag.h polyarea.h layer.h list_poly.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ obj_text.h library.h rats_patch.h board.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h error.h \ misc.h mymem.h pcb-printf.h plugins.h hid.h hid_nogui.h hid_attrib.h \ @@ -571,12 +573,12 @@ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h layer.h \ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ - vtonpoint.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + vtonpoint.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h error.h misc.h mymem.h pcb-printf.h \ - plugins.h compat_misc.h hid.h hid_nogui.h hid_attrib.h hid_helper.h \ - hid_init.h + plugins.h compat_misc.h obj_pinvia.h hid.h hid_nogui.h hid_attrib.h \ + hid_helper.h hid_init.h ../src_plugins/fontmode/fontmode.o: ../src_plugins/fontmode/fontmode.c \ ../config.h conf_core.h conf.h global_typedefs.h pcb_bool.h unit.h \ pcb-printf.h ../src_3rd/genvector/gds_char.h \ @@ -592,7 +594,7 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h board.h vtonpoint.h create.h rubberband.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h draw.h flag.h \ layer.h misc.h mymem.h move.h remove.h rtree.h flag_str.h undo.h \ @@ -600,7 +602,7 @@ ../src_plugins/fp_fs/fp_fs.o: ../src_plugins/fp_fs/fp_fs.c ../config.h \ mymem.h global_typedefs.h pcb_bool.h unit.h data.h globalconst.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -645,7 +647,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - hid.h error.h drc.h data.h global_element.h list_pin.h list_pad.h \ + hid.h error.h drc.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -670,7 +672,7 @@ obj_line_list.h obj_line.h obj_text_list.h obj_text.h library.h \ rats_patch.h board.h vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -699,7 +701,7 @@ obj_line_list.h obj_line.h obj_text_list.h obj_text.h library.h \ rats_patch.h board.h vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -727,7 +729,7 @@ obj_line_list.h obj_line.h obj_text_list.h obj_text.h library.h \ rats_patch.h board.h vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -756,7 +758,7 @@ obj_line_list.h obj_line.h obj_text_list.h obj_text.h library.h \ rats_patch.h board.h vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -782,7 +784,7 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -794,7 +796,7 @@ ../src_3rd/genvector/gds_char.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/genvector/vtp0.h list_conf.h event.h compat_misc.h \ ../src_plugins/hid_gtk/hid_gtk_conf.h conf.h create.h compat_nls.h \ - polygon.h rtree.h math_helper.h obj_all.h + polygon.h rtree.h math_helper.h obj_all.h obj_pinvia.h ../src_plugins/hid_gtk/ghid-route-style-selector.o: \ ../src_plugins/hid_gtk/ghid-route-style-selector.c ../config.h \ conf_core.h conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -813,7 +815,7 @@ obj_line_list.h obj_line.h obj_text_list.h obj_text.h library.h \ rats_patch.h board.h vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -839,7 +841,7 @@ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ hid_cfg_input.h ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -886,7 +888,7 @@ obj_text.h ../src_plugins/hid_gtk/gui.h board.h const.h macro.h \ vtroutestyle.h layer.h library.h rats_patch.h board.h hid.h hid_cfg.h \ hid_cfg_input.h ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -915,7 +917,7 @@ obj_line_list.h obj_text_list.h obj_text.h library.h rats_patch.h \ board.h hid.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -947,7 +949,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -976,7 +978,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h list_rat.h crosshair.h rubberband.h \ hid.h buffer.h misc.h mymem.h ../src_plugins/hid_gtk/ghid-coord-entry.h \ unit.h ../src_plugins/hid_gtk/ghid-main-menu.h \ @@ -1007,7 +1009,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1022,7 +1024,7 @@ ../config.h compat_misc.h compat_nls.h build_run.h data.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -1064,7 +1066,7 @@ obj_text.h pcb-printf.h undo.h set.h ../src_plugins/hid_gtk/gui.h \ board.h const.h macro.h layer.h rats_patch.h board.h vtonpoint.h hid.h \ hid_cfg.h hid_cfg_input.h ../src_3rd/liblihata/genht/htip.h hid_cfg.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ buffer.h misc.h mymem.h ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1076,7 +1078,7 @@ ../src_plugins/hid_gtk/hid_gtk_conf.h conf.h \ ../src_plugins/hid_gtk/win_place.h \ ../src_plugins/hid_gtk/gui-drc-window.h hid_actions.h compat_nls.h \ - obj_all.h + obj_all.h obj_pinvia.h ../src_plugins/hid_gtk/gui-keyref-window.o: \ ../src_plugins/hid_gtk/gui-keyref-window.c ../config.h \ ../src_plugins/hid_gtk/gui.h board.h const.h macro.h global_typedefs.h \ @@ -1092,7 +1094,7 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1122,7 +1124,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1151,7 +1153,7 @@ obj_line_list.h obj_line.h obj_text_list.h obj_text.h library.h \ rats_patch.h board.h vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1176,7 +1178,7 @@ ../src_3rd/genlist/gendlist.h globalconst.h math_helper.h crosshair.h \ rubberband.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h \ polyarea.h vtonpoint.h hid.h error.h drc.h obj_line.h data.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_text_list.h obj_text.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1209,7 +1211,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1221,7 +1223,7 @@ ../src_plugins/hid_gtk/hid_gtk_conf.h conf.h create.h draw.h error.h \ find.h mymem.h rats.h netlist.h route_style.h remove.h search.h rats.h \ misc_util.h select.h operation.h set.h undo.h hid_actions.h compat_nls.h \ - obj_all.h + obj_all.h obj_pinvia.h ../src_plugins/hid_gtk/gui-output-events.o: \ ../src_plugins/hid_gtk/gui-output-events.c ../config.h conf_core.h \ conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -1239,7 +1241,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1269,7 +1271,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1279,7 +1281,7 @@ ../src_plugins/hid_gtk/gui-pinout-preview.h \ ../src_plugins/hid_gtk/ghid-propedit.h event.h compat_misc.h \ ../src_plugins/hid_gtk/hid_gtk_conf.h conf.h copy.h draw.h mymem.h \ - move.h rotate.h obj_all.h + move.h rotate.h obj_all.h obj_pinvia.h ../src_plugins/hid_gtk/gui-pinout-window.o: \ ../src_plugins/hid_gtk/gui-pinout-window.c ../config.h conf_core.h \ conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -1297,7 +1299,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1328,7 +1330,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1362,7 +1364,7 @@ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h board.h \ vtonpoint.h hid.h error.h drc.h hid_cfg.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1388,7 +1390,7 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h hid_cfg_input.h \ ../src_3rd/liblihata/genht/htip.h hid_cfg.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h buffer.h misc.h mymem.h \ ../src_plugins/hid_gtk/ghid-coord-entry.h unit.h \ @@ -1413,7 +1415,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h compat_misc.h data.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1436,7 +1438,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h compat_misc.h data.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1458,7 +1460,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h data.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1483,7 +1485,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h data.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1501,7 +1503,7 @@ ../src_plugins/hid_lesstif/xincludes.h compat_misc.h data.h \ globalconst.h global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -1511,8 +1513,8 @@ ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h hid.h error.h drc.h buffer.h \ find.h rats.h netlist.h library.h route_style.h vtroutestyle.h select.h \ - operation.h undo.h remove.h crosshair.h draw.h obj_all.h hid.h \ - hid_actions.h ../src_plugins/hid_lesstif/lesstif.h hid_cfg_input.h \ + operation.h undo.h remove.h crosshair.h draw.h obj_all.h obj_pinvia.h \ + hid.h hid_actions.h ../src_plugins/hid_lesstif/lesstif.h hid_cfg_input.h \ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/htip.h \ @@ -1533,7 +1535,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h compat_misc.h data.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1552,7 +1554,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -1559,9 +1561,9 @@ hid.h error.h drc.h buffer.h error.h misc.h mymem.h rats.h netlist.h \ route_style.h buffer.h change.h draw.h set.h undo.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h create.h polygon.h rtree.h math_helper.h \ - compat_misc.h compat_nls.h action_helper.h hid.h hid_draw_helpers.h \ - hid_nogui.h hid_actions.h hid_init.h hid_attrib.h hid_helper.h plugins.h \ - dolists.h + compat_misc.h compat_nls.h obj_pinvia.h action_helper.h hid.h \ + hid_draw_helpers.h hid_nogui.h hid_actions.h hid_init.h hid_attrib.h \ + hid_helper.h plugins.h dolists.h ../src_plugins/import_edif/edif.o: ../src_plugins/import_edif/edif.c \ ../config.h math_helper.h board.h const.h macro.h global_typedefs.h \ pcb_bool.h unit.h vtroutestyle.h ../src_3rd/genvector/genvector_impl.h \ @@ -1571,7 +1573,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -1587,7 +1589,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -1613,7 +1615,7 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h ../src_3rd/genvector/vtp0.h \ list_conf.h plug_import.h conf_core.h error.h misc.h mymem.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h \ rats_patch.h compat_misc.h compat_nls.h @@ -1632,7 +1634,7 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h board.h vtonpoint.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h \ action_helper.h change.h error.h undo.h plugins.h misc.h mymem.h \ @@ -1652,7 +1654,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_plugins/io_kicad/write.h data.h \ globalconst.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ - flag.h polyarea.h global_element.h list_pin.h list_pad.h obj_all_list.h \ + flag.h polyarea.h global_element.h list_pad.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ obj_text.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1674,12 +1676,13 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/genvector/vtp0.h \ - list_conf.h error.h data.h global_element.h list_pin.h list_pad.h \ + list_conf.h error.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h ../src_plugins/io_kicad/read.h layer.h \ const.h netlist.h route_style.h create.h polygon.h rtree.h math_helper.h \ - misc.h mymem.h misc_util.h conf_core.h move.h macro.h obj_all.h + misc.h mymem.h misc_util.h conf_core.h move.h macro.h obj_all.h \ + obj_pinvia.h ../src_plugins/io_kicad/uniq_name.o: ../src_plugins/io_kicad/uniq_name.c \ ../src_3rd/liblihata/genht/hash.h ../config.h \ ../src_plugins/io_kicad/uniq_name.h ../src_3rd/liblihata/genht/htsp.h \ @@ -1700,11 +1703,11 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h ../src_3rd/genvector/vtp0.h \ list_conf.h error.h ../src_plugins/io_kicad/uniq_name.h \ - ../src_3rd/liblihata/genht/htsp.h data.h global_element.h list_pin.h \ + ../src_3rd/liblihata/genht/htsp.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h ../src_plugins/io_kicad/write.h layer.h \ - const.h netlist.h route_style.h misc.h mymem.h obj_all.h + const.h netlist.h route_style.h misc.h mymem.h obj_all.h obj_pinvia.h ../src_plugins/io_kicad_legacy/io_kicad_legacy.o: \ ../src_plugins/io_kicad_legacy/io_kicad_legacy.c ../config.h plugins.h \ plug_io.h library.h global_typedefs.h pcb_bool.h unit.h conf.h \ @@ -1718,7 +1721,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_plugins/io_kicad_legacy/write.h \ data.h globalconst.h global_objs.h ../src_3rd/genlist/gendlist.h \ - attrib.h flag.h polyarea.h global_element.h list_pin.h list_pad.h \ + attrib.h flag.h polyarea.h global_element.h list_pad.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ @@ -1741,15 +1744,16 @@ ../src_3rd/liblihata/genht/ht_inlines.h ../src_3rd/genvector/vtp0.h \ list_conf.h error.h \ ../src_plugins/io_kicad_legacy/../io_kicad/uniq_name.h \ - ../src_3rd/liblihata/genht/htsp.h data.h global_element.h list_pin.h \ + ../src_3rd/liblihata/genht/htsp.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h ../src_plugins/io_kicad_legacy/write.h \ - layer.h const.h netlist.h route_style.h misc.h mymem.h obj_all.h + layer.h const.h netlist.h route_style.h misc.h mymem.h obj_all.h \ + obj_pinvia.h ../src_plugins/io_lihata/common.o: ../src_plugins/io_lihata/common.c \ ../config.h data.h globalconst.h global_typedefs.h pcb_bool.h unit.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -1786,7 +1790,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h plugins.h plug_io.h conf.h pcb-printf.h \ @@ -1794,7 +1798,7 @@ ../src_3rd/genvector/vtp0.h list_conf.h flag_str.h compat_misc.h macro.h \ error.h misc.h mymem.h misc_util.h layer.h create.h vtptr.h \ ../src_plugins/io_lihata/common.h polygon.h rtree.h math_helper.h \ - conf_core.h obj_all.h + conf_core.h obj_all.h obj_pinvia.h ../src_plugins/io_lihata/write.o: ../src_plugins/io_lihata/write.c \ ../src_3rd/liblihata/tree.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ @@ -1808,7 +1812,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h plugins.h plug_io.h conf.h pcb-printf.h \ @@ -1851,7 +1855,7 @@ ../src_3rd/genlist/gendlist.h globalconst.h buffer.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h change.h \ create.h rubberband.h library.h crosshair.h vtonpoint.h hid.h error.h \ - drc.h obj_line.h data.h global_element.h list_pin.h list_pad.h \ + drc.h obj_line.h data.h global_element.h list_pad.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_text_list.h \ obj_text.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1897,7 +1901,7 @@ ../src_plugins/io_pcb/flags.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h crosshair.h \ rubberband.h global_objs.h vtonpoint.h hid.h error.h drc.h obj_line.h \ - data.h global_element.h list_pin.h list_pad.h obj_all_list.h \ + data.h global_element.h list_pad.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1921,13 +1925,14 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h ../src_3rd/genvector/vtp0.h \ list_conf.h layer.h create.h rubberband.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h error.h \ ../src_plugins/io_pcb/file.h plug_io.h mymem.h misc.h mymem.h \ ../src_plugins/io_pcb/parse_l.h polygon.h rtree.h math_helper.h remove.h \ rtree.h flag_str.h thermal.h rats_patch.h ../src_plugins/io_pcb/flags.h \ - route_style.h compat_misc.h obj_all.h ../src_plugins/io_pcb/parse_y.h + route_style.h compat_misc.h obj_all.h obj_pinvia.h \ + ../src_plugins/io_pcb/parse_y.h ../src_plugins/jostle/jostle.o: ../src_plugins/jostle/jostle.c \ ../config.h board.h const.h macro.h global_typedefs.h pcb_bool.h unit.h \ vtroutestyle.h ../src_3rd/genvector/genvector_impl.h \ @@ -1937,7 +1942,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -1957,7 +1962,7 @@ ../src_3rd/genvector/genvector_undef.h ../config.h data.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -1976,7 +1981,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h data.h globalconst.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -1997,7 +2002,7 @@ ../config.h const.h create.h rubberband.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h polyarea.h library.h data.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -2030,7 +2035,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h data.h globalconst.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -2047,7 +2052,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -2064,7 +2069,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -2092,7 +2097,7 @@ ../src_plugins/propedit/propsel.o: ../src_plugins/propedit/propsel.c \ ../config.h const.h data.h globalconst.h global_typedefs.h pcb_bool.h \ unit.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h \ - polyarea.h global_element.h list_pin.h \ + polyarea.h global_element.h \ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ ../src_3rd/genlist/gentdlist_undef.h list_pad.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ @@ -2121,15 +2126,15 @@ library.h board.h const.h macro.h vtroutestyle.h layer.h list_poly.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h rats_patch.h board.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h draw.h misc.h \ mymem.h move.h pcb-printf.h remove.h rtree.h flag_str.h undo.h layer.h \ - plugins.h hid_actions.h misc_util.h obj_all.h dolists.h + plugins.h hid_actions.h misc_util.h obj_all.h obj_pinvia.h dolists.h ../src_plugins/query/basic_fnc.o: ../src_plugins/query/basic_fnc.c \ ../config.h data.h globalconst.h global_typedefs.h pcb_bool.h unit.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -2157,7 +2162,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h data.h globalconst.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h list_poly.h \ list_rat.h layer.h crosshair.h rubberband.h vtonpoint.h hid.h error.h \ @@ -2175,7 +2180,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -2196,7 +2201,7 @@ ../src_3rd/genregex/regex.h ../src_plugins/query/fields_sphash.h \ ../src_plugins/query/query_y.h ../src_plugins/query/query_exec.h const.h \ set.h draw.h hid.h error.h drc.h select.h operation.h global_element.h \ - list_pin.h list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h \ + list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h \ obj_line_list.h obj_line.h obj_text_list.h obj_text.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h macro.h dolists.h @@ -2203,7 +2208,7 @@ ../src_plugins/query/query_exec.o: ../src_plugins/query/query_exec.c \ ../config.h data.h globalconst.h global_typedefs.h pcb_bool.h unit.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -2249,7 +2254,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -2271,7 +2276,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -2297,7 +2302,7 @@ vtonpoint.h hid.h error.h drc.h obj_line.h board.h const.h macro.h \ vtroutestyle.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_text_list.h obj_text.h library.h \ - rats_patch.h board.h data.h global_element.h list_pin.h list_pad.h \ + rats_patch.h board.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h buffer.h \ drill.h error.h search.h rats.h netlist.h route_style.h misc_util.h \ @@ -2304,7 +2309,7 @@ misc.h mymem.h mymem.h rats.h rtree.h flag_str.h macro.h undo.h find.h \ draw.h pcb-printf.h plugins.h action_helper.h hid_actions.h misc_util.h \ ../src_plugins/report/report_conf.h conf.h compat_misc.h compat_nls.h \ - layer.h obj_all.h ../src_3rd/genregex/regex_sei.h \ + layer.h obj_all.h obj_pinvia.h ../src_3rd/genregex/regex_sei.h \ ../src_3rd/genregex/regex_templ.h ../src_3rd/genregex/regex.h dolists.h \ ../src_plugins/report/report_conf_fields.h ../src_plugins/shand_cmd/command.o: ../src_plugins/shand_cmd/command.c \ @@ -2323,7 +2328,7 @@ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h board.h vtonpoint.h build_run.h action_helper.h \ buffer.h ../src_plugins/shand_cmd/command.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h error.h \ plug_io.h mymem.h misc.h mymem.h rats.h netlist.h route_style.h set.h \ @@ -2340,7 +2345,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h hid.h misc.h mymem.h create.h rtree.h \ @@ -2360,7 +2365,7 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h ../src_3rd/genvector/vtp0.h \ - list_conf.h conf.h conf_core.h data.h global_element.h list_pin.h \ + list_conf.h conf.h conf_core.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h crosshair.h stub_stroke.h rotate.h undo.h \ @@ -2375,18 +2380,18 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h board.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h hid.h misc.h mymem.h create.h rtree.h \ - undo.h plugins.h hid_actions.h obj_all.h dolists.h + undo.h plugins.h hid_actions.h obj_all.h obj_pinvia.h dolists.h ../src_plugins/toporouter/toporouter.o: \ ../src_plugins/toporouter/toporouter.c ../config.h \ ../src_plugins/toporouter/toporouter.h data.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -2418,13 +2423,13 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h board.h vtonpoint.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h draw.h \ error.h set.h undo.h ../src_plugins/vendordrill/vendor.h stub_vendor.h \ plugins.h action_helper.h hid_flags.h hid_actions.h hid_cfg.h \ ../src_plugins/vendordrill/vendor_conf.h conf.h compat_misc.h \ - compat_nls.h ../src_3rd/liblihata/tree.h dolists.h \ + compat_nls.h obj_pinvia.h ../src_3rd/liblihata/tree.h dolists.h \ ../src_plugins/vendordrill/vendor_conf_fields.h ../src_3rd/gensexpr/gsx_parse.o: ../src_3rd/gensexpr/gsx_parse.c \ ../src_3rd/gensexpr/gsx_parse.h @@ -2548,7 +2553,7 @@ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h layer.h \ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h \ - change.h copy.h create.h rubberband.h data.h global_element.h list_pin.h \ + change.h copy.h create.h rubberband.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ drc.h buffer.h draw.h find.h insert.h misc.h mymem.h move.h polygon.h \ @@ -2555,7 +2560,7 @@ rtree.h math_helper.h remove.h rotate.h search.h rats.h netlist.h \ route_style.h misc_util.h select.h operation.h set.h undo.h \ stub_stroke.h funchash_core.h funchash.h funchash_core_list.h \ - hid_actions.h compat_misc.h compat_nls.h obj_all.h + hid_actions.h compat_misc.h compat_nls.h obj_all.h obj_pinvia.h attrib.o: attrib.c ../config.h compat_misc.h attrib.h board.o: board.c ../config.h board.h const.h macro.h global_typedefs.h \ pcb_bool.h unit.h vtroutestyle.h ../src_3rd/genvector/genvector_impl.h \ @@ -2565,7 +2570,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h @@ -2586,14 +2591,14 @@ board.h const.h macro.h vtroutestyle.h layer.h list_poly.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h copy.h \ - create.h rubberband.h data.h global_element.h list_pin.h list_pad.h \ + create.h rubberband.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ drc.h plug_io.h mirror.h misc.h mymem.h misc_util.h polygon.h rtree.h \ math_helper.h rotate.h remove.h select.h operation.h set.h \ funchash_core.h funchash.h funchash_core_list.h compat_misc.h \ - compat_nls.h obj_all.h obj_all_op.h obj_arc_op.h obj_line_op.h \ - obj_text_op.h + compat_nls.h obj_all.h obj_pinvia.h obj_all_op.h obj_arc_op.h \ + obj_line_op.h obj_pinvia_op.h obj_text_op.h build_run.o: build_run.c ../config.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h conf_core.h conf.h \ @@ -2624,12 +2629,12 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h crosshair.h rubberband.h hid.h \ - error.h drc.h data.h global_element.h list_pin.h list_pad.h \ + error.h drc.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h buffer.h draw.h misc.h \ mymem.h mirror.h polygon.h rtree.h math_helper.h select.h operation.h \ undo.h hid_actions.h compat_nls.h obj_all_op.h obj_arc_op.h \ - obj_line_op.h obj_text_op.h + obj_line_op.h obj_pinvia_op.h obj_text_op.h obj_pinvia.h change_act.o: change_act.c ../config.h conf_core.h conf.h \ global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ @@ -2641,7 +2646,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h data.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -2649,7 +2654,7 @@ funchash_core.h funchash.h funchash_core_list.h board.h const.h macro.h \ vtroutestyle.h library.h rats_patch.h action_helper.h hid_actions.h \ change.h draw.h search.h rats.h netlist.h route_style.h misc_util.h \ - set.h undo.h compat_misc.h compat_nls.h + set.h undo.h compat_misc.h compat_nls.h obj_pinvia.h clip.o: clip.c ../config.h clip.h global_typedefs.h pcb_bool.h unit.h compat_dl.o: compat_dl.c ../config.h compat_dl.h compat_inc.h compat_fs.o: compat_fs.c ../config.h compat_inc.h compat_fs.h \ @@ -2725,12 +2730,12 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h create.h rubberband.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h draw.h misc.h \ mymem.h move.h polygon.h rtree.h math_helper.h select.h operation.h \ undo.h compat_misc.h obj_all_op.h obj_arc_op.h obj_line_op.h \ - obj_text_op.h obj_all.h + obj_pinvia_op.h obj_text_op.h obj_all.h obj_pinvia.h create.o: create.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -2745,12 +2750,12 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h math_helper.h create.h rubberband.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ drc.h buffer.h misc.h mymem.h rtree.h search.h rats.h netlist.h \ route_style.h misc_util.h undo.h plug_io.h stub_vendor.h hid_actions.h \ - paths.h compat_misc.h compat_nls.h obj_all.h + paths.h compat_misc.h compat_nls.h obj_all.h obj_pinvia.h crosshair.o: crosshair.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -2766,11 +2771,11 @@ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h box.h math_helper.h move.h \ misc_util.h crosshair.h rubberband.h hid.h error.h drc.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h buffer.h draw.h search.h rats.h netlist.h route_style.h \ polygon.h rtree.h misc.h mymem.h hid_actions.h compat_misc.h \ - compat_nls.h obj_all.h + compat_nls.h obj_all.h obj_pinvia.h data.o: data.c ../config.h board.h const.h macro.h global_typedefs.h \ pcb_bool.h unit.h vtroutestyle.h ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h global_objs.h \ @@ -2779,10 +2784,11 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ - hid.h error.h drc.h buffer.h mymem.h rtree.h list_common.h obj_all.h + hid.h error.h drc.h buffer.h mymem.h rtree.h list_common.h obj_all.h \ + obj_pinvia.h draw.o: draw.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -2797,11 +2803,11 @@ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h layer.h \ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h draw.h misc.h mymem.h rotate.h rtree.h \ - draw_fab.h obj_all.h + draw_fab.h obj_all.h obj_pinvia.h draw_fab.o: draw_fab.c ../config.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -2811,14 +2817,15 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h \ - build_run.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + build_run.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ - hid.h error.h drc.h buffer.h draw.h drill.h draw_fab.h obj_all.h + hid.h error.h drc.h buffer.h draw.h drill.h draw_fab.h obj_all.h \ + obj_pinvia.h drill.o: drill.c ../config.h data.h globalconst.h global_typedefs.h \ pcb_bool.h unit.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ - flag.h polyarea.h global_element.h list_pin.h \ + flag.h polyarea.h global_element.h \ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ ../src_3rd/genlist/gentdlist_undef.h list_pad.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ @@ -2828,10 +2835,10 @@ crosshair.h rubberband.h vtonpoint.h \ ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h hid.h error.h drc.h buffer.h \ - mymem.h drill.h macro.h + mymem.h drill.h macro.h obj_pinvia.h error.o: error.c ../config.h data.h globalconst.h global_typedefs.h \ pcb_bool.h unit.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ - flag.h polyarea.h global_element.h list_pin.h \ + flag.h polyarea.h global_element.h \ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ ../src_3rd/genlist/gentdlist_undef.h list_pad.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ @@ -2862,7 +2869,7 @@ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/genvector/vtp0.h list_conf.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h \ action_helper.h set.h plug_io.h plug_import.h misc.h mymem.h remove.h \ @@ -2879,7 +2886,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h data.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -2886,9 +2893,9 @@ crosshair.h rubberband.h vtonpoint.h hid.h error.h drc.h buffer.h draw.h \ find.h misc.h mymem.h rtree.h polygon.h search.h rats.h netlist.h \ library.h route_style.h vtroutestyle.h misc_util.h set.h undo.h \ - plug_io.h hid_actions.h compat_misc.h obj_all.h find_geo.c macro.h \ - find_lookup.c compat_nls.h board.h rats_patch.h find_drc.c find_misc.c \ - find_clear.c find_debug.c find_print.c + plug_io.h hid_actions.h compat_misc.h obj_all.h obj_pinvia.h find_geo.c \ + macro.h find_lookup.c compat_nls.h board.h rats_patch.h find_drc.c \ + find_misc.c find_clear.c find_debug.c find_print.c find_act.o: find_act.c ../config.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -2903,7 +2910,7 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h ../src_3rd/genvector/vtp0.h \ - list_conf.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + list_conf.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h find.h compat_nls.h @@ -2932,12 +2939,13 @@ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/genvector/vtp0.h list_conf.h data.h global_element.h \ - list_pin.h list_pad.h list_element.h ht_element.h \ + list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h rubberband.h hid.h error.h drc.h buffer.h \ action_helper.h undo.h funchash_core.h funchash.h funchash_core_list.h \ draw.h search.h rats.h netlist.h route_style.h misc_util.h find.h set.h \ - stub_stroke.h hid_actions.h hid_init.h compat_nls.h obj_all.h + stub_stroke.h hid_actions.h hid_init.h compat_nls.h obj_all.h \ + obj_pinvia.h heap.o: heap.c ../config.h heap.h hid_actions.o: hid_actions.c ../config.h conf_core.h conf.h \ global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -2995,7 +3003,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h hid_draw_helpers.h hid_extents.h @@ -3002,7 +3010,7 @@ hid_flags.o: hid_flags.c ../config.h data.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -3027,7 +3035,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h hid_helper.h hid_attrib.h compat_misc.h @@ -3045,7 +3053,7 @@ ../src_3rd/genlist/gendlist.h globalconst.h compat_misc.h fptr_cast.h hid_nogui.o: hid_nogui.c ../config.h hid.h error.h drc.h unit.h \ global_typedefs.h pcb_bool.h attrib.h compat_misc.h compat_nls.h -ht_element.o: ht_element.c ../config.h global_element.h list_pin.h \ +ht_element.o: ht_element.c ../config.h global_element.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h \ globalconst.h global_typedefs.h pcb_bool.h unit.h polyarea.h \ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ @@ -3053,7 +3061,7 @@ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ obj_text.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ - ../src_3rd/liblihata/genht/hash.h obj_all.h \ + ../src_3rd/liblihata/genht/hash.h obj_all.h obj_pinvia.h \ ../src_3rd/liblihata/genht/ht.c insert.o: insert.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ @@ -3069,7 +3077,7 @@ library.h board.h const.h macro.h vtroutestyle.h layer.h list_poly.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h draw.h misc.h \ mymem.h polygon.h rtree.h math_helper.h search.h rats.h netlist.h \ @@ -3087,7 +3095,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h conf_core.h conf.h pcb-printf.h \ @@ -3108,7 +3116,7 @@ ../src_3rd/genvector/vtp0.h list_conf.h \ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_impl.c -list_element.o: list_element.c ../config.h global_element.h list_pin.h \ +list_element.o: list_element.c ../config.h global_element.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h \ globalconst.h global_typedefs.h pcb_bool.h unit.h polyarea.h \ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ @@ -3124,7 +3132,7 @@ ../src_3rd/genlist/gentdlist_impl.c list_pin.o: list_pin.c global_objs.h ../src_3rd/genlist/gendlist.h \ ../config.h attrib.h flag.h globalconst.h global_typedefs.h pcb_bool.h \ - unit.h polyarea.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + unit.h polyarea.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ ../src_3rd/genlist/gentdlist_impl.c list_poly.o: list_poly.c global_objs.h ../src_3rd/genlist/gendlist.h \ @@ -3174,11 +3182,11 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h mirror.h misc.h mymem.h polygon.h rtree.h \ - math_helper.h obj_all.h + math_helper.h obj_all.h obj_pinvia.h misc.o: misc.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -3194,10 +3202,10 @@ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h box.h math_helper.h move.h \ misc_util.h crosshair.h rubberband.h hid.h error.h drc.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h buffer.h plug_io.h misc.h mymem.h polygon.h rtree.h rotate.h \ - set.h undo.h compat_misc.h obj_all.h + set.h undo.h compat_misc.h obj_all.h obj_pinvia.h misc_util.o: misc_util.c ../config.h misc_util.h pcb_bool.h unit.h move.o: move.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ @@ -3213,16 +3221,16 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h create.h rubberband.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h draw.h misc.h \ mymem.h move.h polygon.h rtree.h math_helper.h search.h rats.h netlist.h \ route_style.h misc_util.h select.h operation.h undo.h hid_actions.h \ compat_misc.h compat_nls.h box.h obj_all_op.h obj_arc_op.h obj_line_op.h \ - obj_text_op.h + obj_pinvia_op.h obj_text_op.h obj_pinvia.h mymem.o: mymem.c ../config.h data.h globalconst.h global_typedefs.h \ pcb_bool.h unit.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ - flag.h polyarea.h global_element.h list_pin.h \ + flag.h polyarea.h global_element.h \ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ ../src_3rd/genlist/gentdlist_undef.h list_pad.h obj_all_list.h \ obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h obj_text_list.h \ @@ -3233,7 +3241,7 @@ ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h hid.h error.h drc.h buffer.h \ mymem.h rtree.h rats_patch.h board.h const.h macro.h vtroutestyle.h \ - library.h list_common.h obj_all.h + library.h list_common.h obj_all.h obj_pinvia.h netlist.o: netlist.c ../config.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -3243,7 +3251,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h error.h plug_io.h conf.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/liblihata/lihata.h \ @@ -3256,7 +3264,7 @@ ../src_3rd/genregex/regex_templ.h ../src_3rd/genregex/regex.h \ action_helper.h global_typedefs.h pcb_bool.h unit.h data.h globalconst.h \ global_objs.h ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -3271,7 +3279,7 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/genvector/vtp0.h list_conf.h mymem.h create.h hid_actions.h \ - compat_nls.h netlist.h route_style.h + compat_nls.h netlist.h route_style.h obj_pinvia.h obj_any.o: obj_any.c ../config.h obj_any.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h polyarea.h \ @@ -3280,7 +3288,7 @@ obj_arc.o: obj_arc.c ../config.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h polyarea.h global_element.h \ - list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -3304,7 +3312,7 @@ ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ ../src_3rd/genlist/gentdlist_undef.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - rats_patch.h vtonpoint.h data.h global_element.h list_pin.h list_pad.h \ + rats_patch.h vtonpoint.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -3315,7 +3323,8 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/genvector/vtp0.h list_conf.h move.h box.h compat_nls.h \ - create.h compat_misc.h rotate.h obj_line_op.h operation.h draw.h + create.h compat_misc.h rotate.h obj_pinvia.h obj_line_op.h operation.h \ + draw.h obj_line_drcenf.o: obj_line_drcenf.c ../config.h conf_core.h conf.h \ global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ @@ -3330,10 +3339,11 @@ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h layer.h \ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h \ - data.h global_element.h list_pin.h list_pad.h list_element.h \ + data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ - hid.h error.h drc.h buffer.h find.h misc.h mymem.h rtree.h obj_all.h + hid.h error.h drc.h buffer.h find.h misc.h mymem.h rtree.h obj_all.h \ + obj_pinvia.h obj_line_list.o: obj_line_list.c global_objs.h \ ../src_3rd/genlist/gendlist.h ../config.h attrib.h flag.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h polyarea.h obj_line_list.h \ @@ -3340,6 +3350,26 @@ obj_line.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ ../src_3rd/genlist/gentdlist_impl.c +obj_pinvia.o: obj_pinvia.c ../config.h global_objs.h \ + ../src_3rd/genlist/gendlist.h attrib.h flag.h globalconst.h \ + global_typedefs.h pcb_bool.h unit.h polyarea.h global_element.h \ + ../src_3rd/genlist/gentdlist_impl.h \ + ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ + list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ + obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ + ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ + ../src_3rd/liblihata/genht/hash.h const.h board.h macro.h vtroutestyle.h \ + ../src_3rd/genvector/genvector_impl.h \ + ../src_3rd/genvector/genvector_undef.h layer.h list_poly.h library.h \ + rats_patch.h vtonpoint.h data.h list_rat.h crosshair.h rubberband.h \ + hid.h error.h drc.h buffer.h undo.h box.h math_helper.h move.h \ + misc_util.h conf_core.h conf.h pcb-printf.h \ + ../src_3rd/genvector/gds_char.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ + ../src_3rd/liblihata/genht/ht.h ../src_3rd/genvector/vtp0.h list_conf.h \ + polygon.h rtree.h create.h compat_nls.h compat_misc.h stub_vendor.h \ + misc.h mymem.h obj_pinvia.h obj_pinvia_op.h operation.h draw.h obj_text.o: obj_text.c ../config.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h polyarea.h rotate.h layer.h \ @@ -3349,7 +3379,7 @@ obj_text_list.h obj_text.h board.h const.h macro.h vtroutestyle.h \ ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h library.h rats_patch.h \ - vtonpoint.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + vtonpoint.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ @@ -3373,7 +3403,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h data.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h list_pad.h obj_all_list.h obj_arc_list.h \ + global_element.h list_pad.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_poly.h list_rat.h layer.h \ @@ -3382,7 +3412,7 @@ rats_patch.h action_helper.h change.h undo.h funchash_core.h funchash.h \ funchash_core_list.h search.h rats.h netlist.h route_style.h misc_util.h \ move.h draw.h mirror.h rotate.h set.h copy.h misc.h mymem.h remove.h \ - create.h compat_misc.h compat_nls.h obj_all.h + create.h compat_misc.h compat_nls.h obj_all.h obj_pinvia.h paths.o: paths.c ../config.h paths.h error.h conf_core.h conf.h \ global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ @@ -3440,7 +3470,7 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h math_helper.h buffer.h change.h \ - create.h rubberband.h data.h global_element.h list_pin.h list_pad.h \ + create.h rubberband.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ drc.h plug_io.h misc.h mymem.h remove.h set.h paths.h hid_actions.h \ @@ -3464,12 +3494,12 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h box.h math_helper.h move.h \ - misc_util.h create.h rubberband.h data.h global_element.h list_pin.h \ + misc_util.h create.h rubberband.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ drc.h buffer.h draw.h polygon.h rtree.h remove.h search.h rats.h \ netlist.h route_style.h set.h thermal.h mymem.h undo.h misc.h \ - compat_nls.h obj_all.h + compat_nls.h obj_all.h obj_pinvia.h polygon1.o: polygon1.c ../config.h rtree.h global_typedefs.h pcb_bool.h \ unit.h math_helper.h heap.h compat_cc.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ @@ -3488,7 +3518,7 @@ vtroutestyle.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - library.h rats_patch.h vtonpoint.h data.h global_element.h list_pin.h \ + library.h rats_patch.h vtonpoint.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h action_helper.h undo.h funchash_core.h \ @@ -3510,12 +3540,12 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h create.h rubberband.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h crosshair.h hid.h error.h drc.h buffer.h draw.h find.h misc.h \ mymem.h polygon.h rtree.h math_helper.h rats.h netlist.h route_style.h \ search.h misc_util.h undo.h stub_mincut.h compat_misc.h compat_nls.h \ - ptrlist.h + obj_pinvia.h ptrlist.h rats_act.o: rats_act.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -3529,7 +3559,7 @@ vtroutestyle.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - library.h rats_patch.h vtonpoint.h data.h global_element.h list_pin.h \ + library.h rats_patch.h vtonpoint.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h action_helper.h undo.h set.h misc.h mymem.h \ @@ -3547,7 +3577,7 @@ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h create.h rubberband.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h list_rat.h crosshair.h hid.h error.h \ drc.h buffer.h remove.h copy.h compat_misc.h compat_nls.h remove.o: remove.c ../config.h conf_core.h conf.h global_typedefs.h \ @@ -3563,16 +3593,17 @@ vtroutestyle.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - library.h rats_patch.h vtonpoint.h data.h global_element.h list_pin.h \ + library.h rats_patch.h vtonpoint.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h rats.h netlist.h route_style.h draw.h \ misc.h mymem.h move.h polygon.h rtree.h math_helper.h remove.h select.h \ - operation.h undo.h obj_all_op.h obj_arc_op.h obj_line_op.h obj_text_op.h + operation.h undo.h obj_all_op.h obj_arc_op.h obj_line_op.h \ + obj_pinvia_op.h obj_text_op.h obj_pinvia.h remove_act.o: remove_act.c const.h ../config.h data.h globalconst.h \ global_typedefs.h pcb_bool.h unit.h global_objs.h \ ../src_3rd/genlist/gendlist.h attrib.h flag.h polyarea.h \ - global_element.h list_pin.h ../src_3rd/genlist/gentdlist_impl.h \ + global_element.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ list_pad.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h list_element.h ht_element.h \ @@ -3591,7 +3622,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h draw.h misc.h mymem.h polygon.h rtree.h \ @@ -3602,7 +3633,7 @@ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/liblihata/genht/htsp.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/genvector/vtp0.h list_conf.h compat_nls.h obj_all_op.h \ - obj_arc_op.h obj_line_op.h obj_text_op.h + obj_arc_op.h obj_line_op.h obj_pinvia_op.h obj_text_op.h obj_pinvia.h route_style.o: route_style.c ../config.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h unit.h route_style.h \ @@ -3626,11 +3657,11 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h create.h \ - rubberband.h data.h global_element.h list_pin.h list_pad.h \ + rubberband.h data.h global_element.h list_pad.h \ list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ - drc.h buffer.h polygon.h rtree.h math_helper.h + drc.h buffer.h polygon.h rtree.h math_helper.h obj_pinvia.h search.o: search.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -3645,11 +3676,11 @@ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ library.h rats_patch.h vtonpoint.h box.h math_helper.h move.h \ - misc_util.h data.h global_element.h list_pin.h list_pad.h list_element.h \ + misc_util.h data.h global_element.h list_pad.h list_element.h \ ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h find.h polygon.h rtree.h search.h rats.h \ - netlist.h route_style.h obj_all.h + netlist.h route_style.h obj_all.h obj_pinvia.h select.o: select.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -3663,12 +3694,12 @@ vtroutestyle.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - library.h rats_patch.h vtonpoint.h data.h global_element.h list_pin.h \ + library.h rats_patch.h vtonpoint.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h draw.h search.h rats.h netlist.h \ route_style.h misc_util.h select.h operation.h undo.h misc.h mymem.h \ - find.h compat_misc.h compat_nls.h obj_all.h \ + find.h compat_misc.h compat_nls.h obj_all.h obj_pinvia.h \ ../src_3rd/genregex/regex_sei.h ../src_3rd/genregex/regex_templ.h \ ../src_3rd/genregex/regex.h select_act.o: select_act.c ../config.h math_helper.h conf_core.h conf.h \ @@ -3684,7 +3715,7 @@ vtroutestyle.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - library.h rats_patch.h vtonpoint.h data.h global_element.h list_pin.h \ + library.h rats_patch.h vtonpoint.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h action_helper.h undo.h funchash_core.h \ @@ -3705,7 +3736,7 @@ list_poly.h obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h \ obj_line.h obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h \ buffer.h crosshair.h rubberband.h hid.h error.h drc.h data.h \ - global_element.h list_pin.h list_pad.h list_element.h ht_element.h \ + global_element.h list_pad.h list_element.h ht_element.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/hash.h \ list_rat.h draw.h find.h set.h undo.h hid_actions.h route_style.h \ compat_nls.h @@ -3733,7 +3764,7 @@ ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ obj_all_list.h obj_arc_list.h obj_arc.h obj_line_list.h obj_line.h \ obj_text_list.h obj_text.h library.h rats_patch.h vtonpoint.h buffer.h \ - change.h create.h rubberband.h data.h global_element.h list_pin.h \ + change.h create.h rubberband.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/ht_inlines.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h hid.h error.h \ @@ -3744,7 +3775,7 @@ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/liblihata/genht/ht.h ../src_3rd/genvector/vtp0.h list_conf.h \ - compat_misc.h compat_nls.h obj_all.h + compat_misc.h compat_nls.h obj_all.h obj_pinvia.h undo_act.o: undo_act.c ../config.h conf_core.h conf.h global_typedefs.h \ pcb_bool.h unit.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -3758,13 +3789,13 @@ vtroutestyle.h global_objs.h ../src_3rd/genlist/gendlist.h attrib.h \ flag.h polyarea.h layer.h list_poly.h obj_all_list.h obj_arc_list.h \ obj_arc.h obj_line_list.h obj_line.h obj_text_list.h obj_text.h \ - library.h rats_patch.h vtonpoint.h data.h global_element.h list_pin.h \ + library.h rats_patch.h vtonpoint.h data.h global_element.h \ list_pad.h list_element.h ht_element.h ../src_3rd/liblihata/genht/ht.h \ ../src_3rd/liblihata/genht/hash.h list_rat.h crosshair.h rubberband.h \ hid.h error.h drc.h buffer.h action_helper.h funchash_core.h funchash.h \ funchash_core_list.h undo.h polygon.h rtree.h math_helper.h set.h \ search.h rats.h netlist.h route_style.h misc_util.h draw.h misc.h \ - mymem.h obj_all.h + mymem.h obj_all.h obj_pinvia.h unit.o: unit.c ../config.h const.h compat_misc.h compat_nls.h unit.h vtlibrary.o: vtlibrary.c vtlibrary.h global_objs.h \ ../src_3rd/genlist/gendlist.h ../config.h attrib.h flag.h globalconst.h \ Index: trunk/src/Makefile.in =================================================================== --- trunk/src/Makefile.in (revision 4573) +++ trunk/src/Makefile.in (revision 4574) @@ -74,7 +74,6 @@ list_conf.o list_element.o list_pad.o - list_pin.o list_poly.o list_rat.o main.o @@ -93,6 +92,8 @@ obj_line.o obj_line_drcenf.o obj_line_list.o + obj_pinvia.o + obj_pinvia_list.o obj_text.o obj_text_list.o paths.o Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 4573) +++ trunk/src/buffer.c (revision 4574) @@ -53,11 +53,9 @@ /* --------------------------------------------------------------------------- * some local prototypes */ -static void *AddViaToBuffer(pcb_opctx_t *ctx, PinTypePtr); static void *AddRatToBuffer(pcb_opctx_t *ctx, RatTypePtr); static void *AddPolygonToBuffer(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); static void *AddElementToBuffer(pcb_opctx_t *ctx, ElementTypePtr); -static void *MoveViaToBuffer(pcb_opctx_t *ctx, PinTypePtr); static void *MoveRatToBuffer(pcb_opctx_t *ctx, RatTypePtr); static void *MovePolygonToBuffer(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); static void *MoveElementToBuffer(pcb_opctx_t *ctx, ElementTypePtr); @@ -86,15 +84,6 @@ /* --------------------------------------------------------------------------- - * copies a via to paste buffer - */ -static void *AddViaToBuffer(pcb_opctx_t *ctx, PinTypePtr Via) -{ - return (CreateNewVia(ctx->buffer.dst, Via->X, Via->Y, Via->Thickness, Via->Clearance, - Via->Mask, Via->DrillingHole, Via->Name, MaskFlags(Via->Flags, PCB_FLAG_FOUND | ctx->buffer.extraflg))); -} - -/* --------------------------------------------------------------------------- * copies a rat-line to paste buffer */ static void *AddRatToBuffer(pcb_opctx_t *ctx, RatTypePtr Rat) @@ -158,26 +147,6 @@ } /* --------------------------------------------------------------------------- - * moves a via to paste buffer without allocating memory for the name - */ -static void *MoveViaToBuffer(pcb_opctx_t *ctx, PinType * via) -{ - RestoreToPolygon(ctx->buffer.src, PCB_TYPE_VIA, via, via); - - r_delete_entry(ctx->buffer.src->via_tree, (BoxType *) via); - pinlist_remove(via); - pinlist_append(&ctx->buffer.dst->Via, via); - - CLEAR_FLAG(PCB_FLAG_WARN | PCB_FLAG_FOUND, via); - - if (!ctx->buffer.dst->via_tree) - ctx->buffer.dst->via_tree = r_create_tree(NULL, 0, 0); - r_insert_entry(ctx->buffer.dst->via_tree, (BoxType *) via, 0); - ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_VIA, via, via); - return via; -} - -/* --------------------------------------------------------------------------- * moves a rat-line to paste buffer */ static void *MoveRatToBuffer(pcb_opctx_t *ctx, RatType * rat) Index: trunk/src/change.c =================================================================== --- trunk/src/change.c (revision 4573) +++ trunk/src/change.c (revision 4574) @@ -44,32 +44,22 @@ #include "hid_actions.h" #include "compat_nls.h" #include "obj_all_op.h" +#include "obj_pinvia.h" /* --------------------------------------------------------------------------- * some local prototypes */ -static void *ChangePinSize(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *ChangePinClearSize(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *ChangePinMaskSize(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); static void *ChangePadSize(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); static void *ChangePadClearSize(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); static void *ChangePadMaskSize(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); -static void *ChangePin2ndSize(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); static void *ChangeElement1stSize(pcb_opctx_t *ctx, ElementTypePtr); static void *ChangeElement2ndSize(pcb_opctx_t *ctx, ElementTypePtr); -static void *ChangeViaSize(pcb_opctx_t *ctx, PinTypePtr); -static void *ChangeVia2ndSize(pcb_opctx_t *ctx, PinTypePtr); -static void *ChangeViaClearSize(pcb_opctx_t *ctx, PinTypePtr); -static void *ChangeViaMaskSize(pcb_opctx_t *ctx, PinTypePtr); static void *ChangePolygonClearSize(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); static void *ChangeElementSize(pcb_opctx_t *ctx, ElementTypePtr); static void *ChangeElementNameSize(pcb_opctx_t *ctx, ElementTypePtr); static void *ChangeElementClearSize(pcb_opctx_t *ctx, ElementTypePtr); -static void *ChangePinName(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); static void *ChangePadName(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); -static void *ChangePinNum(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); static void *ChangePadNum(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); -static void *ChangeViaName(pcb_opctx_t *ctx, PinTypePtr); static void *ChangeElementName(pcb_opctx_t *ctx, ElementTypePtr); static void *ChangeElementNonetlist(pcb_opctx_t *ctx, ElementTypePtr); static void *ChangeElementSquare(pcb_opctx_t *ctx, ElementTypePtr); @@ -78,21 +68,9 @@ static void *ChangeElementOctagon(pcb_opctx_t *ctx, ElementTypePtr); static void *SetElementOctagon(pcb_opctx_t *ctx, ElementTypePtr); static void *ClrElementOctagon(pcb_opctx_t *ctx, ElementTypePtr); -static void *ChangeViaSquare(pcb_opctx_t *ctx, PinTypePtr); -static void *ChangePinSquare(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *SetPinSquare(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *ClrPinSquare(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *ChangePinOctagon(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *SetPinOctagon(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *ClrPinOctagon(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); -static void *ChangeViaOctagon(pcb_opctx_t *ctx, PinTypePtr); -static void *SetViaOctagon(pcb_opctx_t *ctx, PinTypePtr); -static void *ClrViaOctagon(pcb_opctx_t *ctx, PinTypePtr); static void *ChangePadSquare(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); static void *SetPadSquare(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); static void *ClrPadSquare(pcb_opctx_t *ctx, ElementTypePtr, PadTypePtr); -static void *ChangeViaThermal(pcb_opctx_t *ctx, PinTypePtr); -static void *ChangePinThermal(pcb_opctx_t *ctx, ElementTypePtr, PinTypePtr); static void *ChangePolyClear(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); /* --------------------------------------------------------------------------- @@ -402,196 +380,7 @@ NULL }; - /* --------------------------------------------------------------------------- - * changes the thermal on a via - * returns pcb_true if changed - */ -static void *ChangeViaThermal(pcb_opctx_t *ctx, PinTypePtr Via) -{ - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); - if (!ctx->chgtherm.style) /* remove the thermals */ - CLEAR_THERM(INDEXOFCURRENT, Via); - else - ASSIGN_THERM(INDEXOFCURRENT, ctx->chgtherm.style, Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); - DrawVia(Via); - return Via; -} - -/* --------------------------------------------------------------------------- - * changes the thermal on a pin - * returns pcb_true if changed - */ -static void *ChangePinThermal(pcb_opctx_t *ctx, ElementTypePtr element, PinTypePtr Pin) -{ - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, element, Pin, Pin); - if (!ctx->chgtherm.style) /* remove the thermals */ - CLEAR_THERM(INDEXOFCURRENT, Pin); - else - ASSIGN_THERM(INDEXOFCURRENT, ctx->chgtherm.style, Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); - DrawPin(Pin); - return Pin; -} - -/* --------------------------------------------------------------------------- - * changes the size of a via - * returns pcb_true if changed - */ -static void *ChangeViaSize(pcb_opctx_t *ctx, PinTypePtr Via) -{ - Coord value = ctx->chgsize.absolute ? ctx->chgsize.absolute : Via->Thickness + ctx->chgsize.delta; - - if (TEST_FLAG(PCB_FLAG_LOCK, Via)) - return (NULL); - if (!TEST_FLAG(PCB_FLAG_HOLE, Via) && value <= MAX_PINORVIASIZE && - value >= MIN_PINORVIASIZE && value >= Via->DrillingHole + MIN_PINORVIACOPPER && value != Via->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - EraseVia(Via); - r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Via, Via); - if (Via->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - Via->Mask += value - Via->Thickness; - } - Via->Thickness = value; - SetPinBoundingBox(Via); - r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - DrawVia(Via); - return (Via); - } - return (NULL); -} - -/* --------------------------------------------------------------------------- - * changes the drilling hole of a via - * returns pcb_true if changed - */ -static void *ChangeVia2ndSize(pcb_opctx_t *ctx, PinTypePtr Via) -{ - Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->DrillingHole + ctx->chgsize.delta; - - if (TEST_FLAG(PCB_FLAG_LOCK, Via)) - return (NULL); - if (value <= MAX_PINORVIASIZE && - value >= MIN_PINORVIAHOLE && (TEST_FLAG(PCB_FLAG_HOLE, Via) || value <= Via->Thickness - MIN_PINORVIACOPPER) - && value != Via->DrillingHole) { - AddObjectTo2ndSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - EraseVia(Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - Via->DrillingHole = value; - if (TEST_FLAG(PCB_FLAG_HOLE, Via)) { - AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - Via->Thickness = value; - } - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - DrawVia(Via); - return (Via); - } - return (NULL); -} - -/* --------------------------------------------------------------------------- - * changes the clearance size of a via - * returns pcb_true if changed - */ -static void *ChangeViaClearSize(pcb_opctx_t *ctx, PinTypePtr Via) -{ - Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->Clearance + ctx->chgsize.delta; - - if (TEST_FLAG(PCB_FLAG_LOCK, Via)) - return (NULL); - value = MIN(MAX_LINESIZE, value); - if (value < 0) - value = 0; - if (ctx->chgsize.delta < 0 && value < PCB->Bloat * 2) - value = 0; - if ((ctx->chgsize.delta > 0 || ctx->chgsize.absolute) && value < PCB->Bloat * 2) - value = PCB->Bloat * 2 + 2; - if (Via->Clearance == value) - return NULL; - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - AddObjectToClearSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - EraseVia(Via); - r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); - Via->Clearance = value; - SetPinBoundingBox(Via); - r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - DrawVia(Via); - Via->Element = NULL; - return (Via); -} - - -/* --------------------------------------------------------------------------- - * changes the size of a pin - * returns pcb_true if changed - */ -static void *ChangePinSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->Thickness + ctx->chgsize.delta; - - if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) - return (NULL); - if (!TEST_FLAG(PCB_FLAG_HOLE, Pin) && value <= MAX_PINORVIASIZE && - value >= MIN_PINORVIASIZE && value >= Pin->DrillingHole + MIN_PINORVIACOPPER && value != Pin->Thickness) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - ErasePin(Pin); - r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - Pin->Mask += value - Pin->Thickness; - Pin->Thickness = value; - /* SetElementBB updates all associated rtrees */ - SetElementBoundingBox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - DrawPin(Pin); - return (Pin); - } - return (NULL); -} - -/* --------------------------------------------------------------------------- - * changes the clearance size of a pin - * returns pcb_true if changed - */ -static void *ChangePinClearSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->Clearance + ctx->chgsize.delta; - - if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) - return (NULL); - value = MIN(MAX_LINESIZE, value); - if (value < 0) - value = 0; - if (ctx->chgsize.delta < 0 && value < PCB->Bloat * 2) - value = 0; - if ((ctx->chgsize.delta > 0 || ctx->chgsize.absolute) && value < PCB->Bloat * 2) - value = PCB->Bloat * 2 + 2; - if (Pin->Clearance == value) - return NULL; - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - AddObjectToClearSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - ErasePin(Pin); - r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); - Pin->Clearance = value; - /* SetElementBB updates all associated rtrees */ - SetElementBoundingBox(PCB->Data, Element, &PCB->Font); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - DrawPin(Pin); - return (Pin); -} - -/* --------------------------------------------------------------------------- * changes the size of a pad * returns pcb_true if changed */ @@ -783,34 +572,6 @@ } /* --------------------------------------------------------------------------- - * changes the drilling hole of a pin - * returns pcb_true if changed - */ -static void *ChangePin2ndSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->DrillingHole + ctx->chgsize.delta; - - if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) - return (NULL); - if (value <= MAX_PINORVIASIZE && - value >= MIN_PINORVIAHOLE && (TEST_FLAG(PCB_FLAG_HOLE, Pin) || value <= Pin->Thickness - MIN_PINORVIACOPPER) - && value != Pin->DrillingHole) { - AddObjectTo2ndSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - ErasePin(Pin); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - Pin->DrillingHole = value; - if (TEST_FLAG(PCB_FLAG_HOLE, Pin)) { - AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - Pin->Thickness = value; - } - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - DrawPin(Pin); - return (Pin); - } - return (NULL); -} - -/* --------------------------------------------------------------------------- * Handle attempts to change the clearance of a polygon. */ static void *ChangePolygonClearSize(pcb_opctx_t *ctx, LayerTypePtr Layer, PolygonTypePtr poly) @@ -897,41 +658,6 @@ } /* --------------------------------------------------------------------------- - * changes the name of a via - */ -static void *ChangeViaName(pcb_opctx_t *ctx, PinTypePtr Via) -{ - char *old = Via->Name; - - if (TEST_FLAG(PCB_FLAG_DISPLAYNAME, Via)) { - ErasePinName(Via); - Via->Name = ctx->chgname.new_name; - DrawPinName(Via); - } - else - Via->Name = ctx->chgname.new_name; - return (old); -} - -/* --------------------------------------------------------------------------- - * changes the name of a pin - */ -static void *ChangePinName(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - char *old = Pin->Name; - - Element = Element; /* get rid of 'unused...' warnings */ - if (TEST_FLAG(PCB_FLAG_DISPLAYNAME, Pin)) { - ErasePinName(Pin); - Pin->Name = ctx->chgname.new_name; - DrawPinName(Pin); - } - else - Pin->Name = ctx->chgname.new_name; - return (old); -} - -/* --------------------------------------------------------------------------- * changes the name of a pad */ static void *ChangePadName(pcb_opctx_t *ctx, ElementTypePtr Element, PadTypePtr Pad) @@ -950,24 +676,6 @@ } /* --------------------------------------------------------------------------- - * changes the number of a pin - */ -static void *ChangePinNum(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - char *old = Pin->Number; - - Element = Element; /* get rid of 'unused...' warnings */ - if (TEST_FLAG(PCB_FLAG_DISPLAYNAME, Pin)) { - ErasePinName(Pin); - Pin->Number = ctx->chgname.new_name; - DrawPinName(Pin); - } - else - Pin->Number = ctx->chgname.new_name; - return (old); -} - -/* --------------------------------------------------------------------------- * changes the number of a pad */ static void *ChangePadNum(pcb_opctx_t *ctx, ElementTypePtr Element, PadTypePtr Pad) @@ -1235,192 +943,7 @@ return (ChangePadSquare(ctx, Element, Pad)); } - /* --------------------------------------------------------------------------- - * changes the square flag of a via - */ -static void *ChangeViaSquare(pcb_opctx_t *ctx, PinTypePtr Via) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Via)) - return (NULL); - EraseVia(Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, NULL, Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, NULL, Via, Via); - ASSIGN_SQUARE(ctx->chgsize.absolute, Via); - if (ctx->chgsize.absolute == 0) - CLEAR_FLAG(PCB_FLAG_SQUARE, Via); - else - SET_FLAG(PCB_FLAG_SQUARE, Via); - SetPinBoundingBox(Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, NULL, Via); - DrawVia(Via); - return (Via); -} - -/* --------------------------------------------------------------------------- - * changes the square flag of a pin - */ -static void *ChangePinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) - return (NULL); - ErasePin(Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - ASSIGN_SQUARE(ctx->chgsize.absolute, Pin); - if (ctx->chgsize.absolute == 0) - CLEAR_FLAG(PCB_FLAG_SQUARE, Pin); - else - SET_FLAG(PCB_FLAG_SQUARE, Pin); - SetPinBoundingBox(Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - DrawPin(Pin); - return (Pin); -} - -/* --------------------------------------------------------------------------- - * sets the square flag of a pin - */ -static void *SetPinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || TEST_FLAG(PCB_FLAG_SQUARE, Pin)) - return (NULL); - - return (ChangePinSquare(ctx, Element, Pin)); -} - -/* --------------------------------------------------------------------------- - * clears the square flag of a pin - */ -static void *ClrPinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || !TEST_FLAG(PCB_FLAG_SQUARE, Pin)) - return (NULL); - - return (ChangePinSquare(ctx, Element, Pin)); -} - -/* --------------------------------------------------------------------------- - * changes the octagon flag of a via - */ -static void *ChangeViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Via)) - return (NULL); - EraseVia(Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); - TOGGLE_FLAG(PCB_FLAG_OCTAGON, Via); - AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - DrawVia(Via); - return (Via); -} - -/* --------------------------------------------------------------------------- - * sets the octagon flag of a via - */ -static void *SetViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Via) || TEST_FLAG(PCB_FLAG_OCTAGON, Via)) - return (NULL); - - return (ChangeViaOctagon(ctx, Via)); -} - -/* --------------------------------------------------------------------------- - * clears the octagon flag of a via - */ -static void *ClrViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Via) || !TEST_FLAG(PCB_FLAG_OCTAGON, Via)) - return (NULL); - - return (ChangeViaOctagon(ctx, Via)); -} - -/* --------------------------------------------------------------------------- - * changes the octagon flag of a pin - */ -static void *ChangePinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) - return (NULL); - ErasePin(Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); - RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - TOGGLE_FLAG(PCB_FLAG_OCTAGON, Pin); - AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); - ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); - DrawPin(Pin); - return (Pin); -} - -/* --------------------------------------------------------------------------- - * sets the octagon flag of a pin - */ -static void *SetPinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || TEST_FLAG(PCB_FLAG_OCTAGON, Pin)) - return (NULL); - - return (ChangePinOctagon(ctx, Element, Pin)); -} - -/* --------------------------------------------------------------------------- - * clears the octagon flag of a pin - */ -static void *ClrPinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || !TEST_FLAG(PCB_FLAG_OCTAGON, Pin)) - return (NULL); - - return (ChangePinOctagon(ctx, Element, Pin)); -} - -/* --------------------------------------------------------------------------- - * changes the hole flag of a via - */ -pcb_bool ChangeHole(PinTypePtr Via) -{ - if (TEST_FLAG(PCB_FLAG_LOCK, Via)) - return (pcb_false); - EraseVia(Via); - AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); - AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - TOGGLE_FLAG(PCB_FLAG_HOLE, Via); - - if (TEST_FLAG(PCB_FLAG_HOLE, Via)) { - /* A tented via becomes an minimally untented hole. An untented - via retains its mask clearance. */ - if (Via->Mask > Via->Thickness) { - Via->Mask = (Via->DrillingHole + (Via->Mask - Via->Thickness)); - } - else if (Via->Mask < Via->DrillingHole) { - Via->Mask = Via->DrillingHole + 2 * MASKFRAME; - } - } - else { - Via->Mask = (Via->Thickness + (Via->Mask - Via->DrillingHole)); - } - - SetPinBoundingBox(Via); - r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - DrawVia(Via); - Draw(); - return (pcb_true); -} - -/* --------------------------------------------------------------------------- * changes the nopaste flag of a pad */ pcb_bool ChangePaste(PadTypePtr Pad) @@ -2403,48 +1926,3 @@ return (NULL); } -/* --------------------------------------------------------------------------- - * changes the mask size of a pin - * returns pcb_true if changed - */ -static void *ChangePinMaskSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) -{ - Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->Mask + ctx->chgsize.delta; - - value = MAX(value, 0); - if (value == Pin->Mask && ctx->chgsize.absolute == 0) - value = Pin->Thickness; - if (value != Pin->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); - ErasePin(Pin); - r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); - Pin->Mask = value; - SetElementBoundingBox(PCB->Data, Element, &PCB->Font); - DrawPin(Pin); - return (Pin); - } - return (NULL); -} - -/* --------------------------------------------------------------------------- - * changes the mask size of a via - * returns pcb_true if changed - */ -static void *ChangeViaMaskSize(pcb_opctx_t *ctx, PinTypePtr Via) -{ - Coord value; - - value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->Mask + ctx->chgsize.delta; - value = MAX(value, 0); - if (value != Via->Mask) { - AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); - EraseVia(Via); - r_delete_entry(PCB->Data->via_tree, &Via->BoundingBox); - Via->Mask = value; - SetPinBoundingBox(Via); - r_insert_entry(PCB->Data->via_tree, &Via->BoundingBox, 0); - DrawVia(Via); - return (Via); - } - return (NULL); -} Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 4573) +++ trunk/src/change_act.c (revision 4574) @@ -44,8 +44,8 @@ #include "undo.h" #include "compat_misc.h" #include "compat_nls.h" +#include "obj_pinvia.h" - static void ChangeFlag(const char *, const char *, int, const char *); static int ActionChangeSize(int argc, const char **argv, Coord x, Coord y); static int ActionChange2ndSize(int argc, const char **argv, Coord x, Coord y); Index: trunk/src/copy.c =================================================================== --- trunk/src/copy.c (revision 4573) +++ trunk/src/copy.c (revision 4574) @@ -48,7 +48,6 @@ /* --------------------------------------------------------------------------- * some local prototypes */ -static void *CopyVia(pcb_opctx_t *ctx, PinTypePtr); static void *CopyPolygon(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); static void *CopyElement(pcb_opctx_t *ctx, ElementTypePtr); @@ -153,22 +152,6 @@ } /* --------------------------------------------------------------------------- - * copies a via - */ -static void *CopyVia(pcb_opctx_t *ctx, PinTypePtr Via) -{ - PinTypePtr via; - - via = CreateNewVia(PCB->Data, Via->X + ctx->copy.DeltaX, Via->Y + ctx->copy.DeltaY, - Via->Thickness, Via->Clearance, Via->Mask, Via->DrillingHole, Via->Name, MaskFlags(Via->Flags, PCB_FLAG_FOUND)); - if (!via) - return (via); - DrawVia(via); - AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); - return (via); -} - -/* --------------------------------------------------------------------------- * copies a polygon */ static void *CopyPolygon(pcb_opctx_t *ctx, LayerTypePtr Layer, PolygonTypePtr Polygon) Index: trunk/src/create.c =================================================================== --- trunk/src/create.c (revision 4573) +++ trunk/src/create.c (revision 4574) @@ -209,72 +209,6 @@ } /* --------------------------------------------------------------------------- - * creates a new via - */ -PinTypePtr -CreateNewVia(DataTypePtr Data, - Coord X, Coord Y, - Coord Thickness, Coord Clearance, Coord Mask, Coord DrillingHole, const char *Name, FlagType Flags) -{ - PinTypePtr Via; - - if (!pcb_create_be_lenient) { - VIA_LOOP(Data); - { - if (Distance(X, Y, via->X, via->Y) <= via->DrillingHole / 2 + DrillingHole / 2) { - Message(PCB_MSG_DEFAULT, _("%m+Dropping via at %$mD because it's hole would overlap with the via " - "at %$mD\n"), conf_core.editor.grid_unit->allow, X, Y, via->X, via->Y); - return (NULL); /* don't allow via stacking */ - } - } - END_LOOP; - } - - Via = GetViaMemory(Data); - - if (!Via) - return (Via); - /* copy values */ - Via->X = X; - Via->Y = Y; - Via->Thickness = Thickness; - Via->Clearance = Clearance; - Via->Mask = Mask; - Via->DrillingHole = stub_vendorDrillMap(DrillingHole); - if (Via->DrillingHole != DrillingHole) { - Message(PCB_MSG_DEFAULT, _("%m+Mapped via drill hole to %$mS from %$mS per vendor table\n"), - conf_core.editor.grid_unit->allow, Via->DrillingHole, DrillingHole); - } - - Via->Name = pcb_strdup_null(Name); - Via->Flags = Flags; - CLEAR_FLAG(PCB_FLAG_WARN, Via); - SET_FLAG(PCB_FLAG_VIA, Via); - Via->ID = ID++; - - /* - * don't complain about MIN_PINORVIACOPPER on a mounting hole (pure - * hole) - */ - if (!TEST_FLAG(PCB_FLAG_HOLE, Via) && (Via->Thickness < Via->DrillingHole + MIN_PINORVIACOPPER)) { - Via->Thickness = Via->DrillingHole + MIN_PINORVIACOPPER; - Message(PCB_MSG_DEFAULT, _("%m+Increased via thickness to %$mS to allow enough copper" - " at %$mD.\n"), conf_core.editor.grid_unit->allow, Via->Thickness, Via->X, Via->Y); - } - - pcb_add_via(Data, Via); - return (Via); -} - -void pcb_add_via(DataType *Data, PinType *Via) -{ - SetPinBoundingBox(Via); - if (!Data->via_tree) - Data->via_tree = r_create_tree(NULL, 0, 0); - r_insert_entry(Data->via_tree, (BoxTypePtr) Via, 0); -} - -/* --------------------------------------------------------------------------- * creates a new rat-line */ RatTypePtr Index: trunk/src/create.h =================================================================== --- trunk/src/create.h (revision 4573) +++ trunk/src/create.h (revision 4574) @@ -46,7 +46,6 @@ /* Called after PCB->Data->LayerN is set. Returns zero if no errors, else nonzero. */ int CreateNewPCBPost(PCBTypePtr, int /* set defaults */ ); -PinTypePtr CreateNewVia(DataTypePtr, Coord, Coord, Coord, Coord, Coord, Coord, const char *, FlagType); LineTypePtr CreateDrawnLineOnLayer(LayerTypePtr, Coord, Coord, Coord, Coord, Coord, Coord, FlagType); LineTypePtr CreateNewLineOnLayer(LayerTypePtr, Coord, Coord, Coord, Coord, Coord, Coord, FlagType); RatTypePtr CreateNewRat(DataTypePtr, Coord, Coord, Coord, Coord, pcb_cardinal_t, pcb_cardinal_t, Coord, FlagType); @@ -73,7 +72,6 @@ long int CreateIDGet(void); /* Add objects without creating them or making any "sanity modifications" to them */ -void pcb_add_via(DataType *Data, PinType *Via); void pcb_add_polygon_on_layer(LayerType *Layer, PolygonType *polygon); #endif Index: trunk/src/data.h =================================================================== --- trunk/src/data.h (revision 4573) +++ trunk/src/data.h (revision 4574) @@ -35,7 +35,6 @@ #include "global_element.h" #include "list_poly.h" #include "list_pad.h" -#include "list_pin.h" #include "list_rat.h" #include "layer.h" #include "crosshair.h" Index: trunk/src/drill.c =================================================================== --- trunk/src/drill.c (revision 4573) +++ trunk/src/drill.c (revision 4574) @@ -31,6 +31,7 @@ #include "mymem.h" #include "drill.h" #include "macro.h" +#include "obj_pinvia.h" /* * some local prototypes Index: trunk/src/global_element.h =================================================================== --- trunk/src/global_element.h (revision 4573) +++ trunk/src/global_element.h (revision 4574) @@ -1,7 +1,7 @@ #ifndef PCB_ELEMENT_H #define PCB_ELEMENT_H -#include "list_pin.h" +#include "global_objs.h" #include "list_pad.h" #include "obj_all_list.h" Index: trunk/src/macro.h =================================================================== --- trunk/src/macro.h (revision 4573) +++ trunk/src/macro.h (revision 4574) @@ -94,11 +94,6 @@ */ #define END_LOOP }} while (0) -#define VIA_LOOP(top) do { \ - PinType *via; \ - gdl_iterator_t __it__; \ - pinlist_foreach(&(top)->Via, &__it__, via) { - #define DRILL_LOOP(top) do { \ pcb_cardinal_t n; \ DrillTypePtr drill; \ @@ -125,11 +120,6 @@ { \ textstring = (element)->Name[n].TextString -#define PIN_LOOP(element) do { \ - PinType *pin; \ - gdl_iterator_t __it__; \ - pinlist_foreach(&(element)->Pin, &__it__, pin) { - #define PAD_LOOP(element) do { \ PadType *pad; \ gdl_iterator_t __it__; \ @@ -159,10 +149,6 @@ #define ENDALL_LOOP }} while (0); }} while(0) -#define ALLPIN_LOOP(top) \ - ELEMENT_LOOP(top); \ - PIN_LOOP(element)\ - #define ALLPAD_LOOP(top) \ ELEMENT_LOOP(top); \ PAD_LOOP(element) Index: trunk/src/misc.c =================================================================== --- trunk/src/misc.c (revision 4573) +++ trunk/src/misc.c (revision 4574) @@ -61,34 +61,6 @@ /* Local variables */ /* --------------------------------------------------------------------------- - * sets the bounding box of a pin or via - */ -void SetPinBoundingBox(PinTypePtr Pin) -{ - Coord width; - - if ((GET_SQUARE(Pin) > 1) && (TEST_FLAG(PCB_FLAG_SQUARE, Pin))) { - POLYAREA *p = PinPoly(Pin, PIN_SIZE(Pin), Pin->Clearance); - poly_bbox(p, &Pin->BoundingBox); - poly_Free(&p); - } - - /* the bounding box covers the extent of influence - * so it must include the clearance values too - */ - width = MAX(Pin->Clearance + PIN_SIZE(Pin), Pin->Mask) / 2; - - /* Adjust for our discrete polygon approximation */ - width = (double) width *POLY_CIRC_RADIUS_ADJ + 0.5; - - Pin->BoundingBox.X1 = Pin->X - width; - Pin->BoundingBox.Y1 = Pin->Y - width; - Pin->BoundingBox.X2 = Pin->X + width; - Pin->BoundingBox.Y2 = Pin->Y + width; - close_box(&Pin->BoundingBox); -} - -/* --------------------------------------------------------------------------- * sets the bounding box of a pad */ void SetPadBoundingBox(PadTypePtr Pad) Index: trunk/src/misc.h =================================================================== --- trunk/src/misc.h (revision 4573) +++ trunk/src/misc.h (revision 4574) @@ -35,7 +35,6 @@ void r_delete_element(DataTypePtr, ElementTypePtr); -void SetPinBoundingBox(PinTypePtr); void SetPadBoundingBox(PadTypePtr); void SetPolygonBoundingBox(PolygonTypePtr); void SetElementBoundingBox(DataTypePtr, ElementTypePtr, FontTypePtr); Index: trunk/src/move.c =================================================================== --- trunk/src/move.c (revision 4573) +++ trunk/src/move.c (revision 4574) @@ -53,6 +53,7 @@ #include "box.h" #include "obj_all_op.h" #include "obj_line.h" +#include "obj_pinvia.h" /* --------------------------------------------------------------------------- * some local prototypes @@ -59,7 +60,6 @@ */ static void *MoveElementName(pcb_opctx_t *ctx, ElementTypePtr); static void *MoveElement(pcb_opctx_t *ctx, ElementTypePtr); -static void *MoveVia(pcb_opctx_t *ctx, PinTypePtr); static void *MovePolygon(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); static void *MovePolygonPoint(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr, PointTypePtr); static void *MoveRatToLayer(pcb_opctx_t *ctx, RatTypePtr); @@ -205,25 +205,6 @@ } /* --------------------------------------------------------------------------- - * moves a via - */ -static void *MoveVia(pcb_opctx_t *ctx, PinTypePtr Via) -{ - r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); - RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - MOVE_VIA_LOWLEVEL(Via, ctx->move.dx, ctx->move.dy); - if (PCB->ViaOn) - EraseVia(Via); - r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); - ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); - if (PCB->ViaOn) { - DrawVia(Via); - Draw(); - } - return (Via); -} - -/* --------------------------------------------------------------------------- * low level routine to move a polygon */ void MovePolygonLowLevel(PolygonTypePtr Polygon, Coord DX, Coord DY) Index: trunk/src/mymem.c =================================================================== --- trunk/src/mymem.c (revision 4573) +++ trunk/src/mymem.c (revision 4574) @@ -51,25 +51,6 @@ } while(0) \ /* --------------------------------------------------------------------------- - * get next slot for a pin, allocates memory if necessary - */ -PinType *GetPinMemory(ElementType * element) -{ - PinType *new_obj; - - new_obj = calloc(sizeof(PinType), 1); - pinlist_append(&element->Pin, new_obj); - - return new_obj; -} - -void RemoveFreePin(PinType * data) -{ - pinlist_remove(data); - free(data); -} - -/* --------------------------------------------------------------------------- * get next slot for a pad, allocates memory if necessary */ PadType *GetPadMemory(ElementType * element) @@ -89,25 +70,6 @@ } /* --------------------------------------------------------------------------- - * get next slot for a via, allocates memory if necessary - */ -PinType *GetViaMemory(DataType * data) -{ - PinType *new_obj; - - new_obj = calloc(sizeof(PinType), 1); - pinlist_append(&data->Via, new_obj); - - return new_obj; -} - -void RemoveFreeVia(PinType * data) -{ - pinlist_remove(data); - free(data); -} - -/* --------------------------------------------------------------------------- * get next slot for a Rat, allocates memory if necessary */ RatType *GetRatMemory(DataType * data) Index: trunk/src/mymem.h =================================================================== --- trunk/src/mymem.h (revision 4573) +++ trunk/src/mymem.h (revision 4574) @@ -51,9 +51,7 @@ * some memory types */ -PinTypePtr GetPinMemory(ElementTypePtr); PadTypePtr GetPadMemory(ElementTypePtr); -PinTypePtr GetViaMemory(DataTypePtr); RatTypePtr GetRatMemory(DataTypePtr); PolygonTypePtr GetPolygonMemory(LayerTypePtr); PointTypePtr GetPointMemoryInPolygon(PolygonTypePtr); @@ -65,9 +63,7 @@ char *StripWhiteSpaceAndDup(const char *); void RemoveFreePolygon(PolygonType * data); -void RemoveFreePin(PinType * data); void RemoveFreePad(PadType * data); -void RemoveFreeVia(PinType * data); void RemoveFreeElement(ElementType * data); void RemoveFreeRat(RatType * data); Index: trunk/src/netlist_act.c =================================================================== --- trunk/src/netlist_act.c (revision 4573) +++ trunk/src/netlist_act.c (revision 4574) @@ -44,6 +44,7 @@ #include "hid_actions.h" #include "compat_nls.h" #include "netlist.h" +#include "obj_pinvia.h" static int pcb_netlist_swap() { Index: trunk/src/obj_all.h =================================================================== --- trunk/src/obj_all.h (revision 4573) +++ trunk/src/obj_all.h (revision 4574) @@ -1,3 +1,4 @@ #include "obj_arc.h" #include "obj_line.h" +#include "obj_pinvia.h" #include "obj_text.h" Index: trunk/src/obj_all_list.h =================================================================== --- trunk/src/obj_all_list.h (revision 4573) +++ trunk/src/obj_all_list.h (revision 4574) @@ -1,3 +1,4 @@ #include "obj_arc_list.h" #include "obj_line_list.h" +#include "obj_pinvia_list.h" #include "obj_text_list.h" Index: trunk/src/obj_all_op.h =================================================================== --- trunk/src/obj_all_op.h (revision 4573) +++ trunk/src/obj_all_op.h (revision 4574) @@ -1,3 +1,4 @@ #include "obj_arc_op.h" #include "obj_line_op.h" +#include "obj_pinvia_op.h" #include "obj_text_op.h" Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 4573) +++ trunk/src/obj_line.c (revision 4574) @@ -46,6 +46,7 @@ #include "create.h" #include "compat_misc.h" #include "rotate.h" +#include "obj_pinvia.h" #include "obj_line.h" #include "obj_line_op.h" Index: trunk/src/obj_pinvia.c =================================================================== --- trunk/src/obj_pinvia.c (nonexistent) +++ trunk/src/obj_pinvia.c (revision 4574) @@ -0,0 +1,701 @@ +/* + * COPYRIGHT + * + * PCB, interactive printed circuit board design + * Copyright (C) 1994,1995,1996 Thomas Nau + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Contact addresses for paper mail and Email: + * Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany + * Thomas.Nau@rz.uni-ulm.de + * + */ + +/* Drawing primitive: pins and vias */ + +#include "config.h" +#include "global_objs.h" +#include "global_element.h" +#include "const.h" +#include "board.h" +#include "data.h" +#include "undo.h" +#include "box.h" +#include "math_helper.h" +#include "conf_core.h" +#include "polygon.h" +#include "create.h" +#include "compat_nls.h" +#include "compat_misc.h" +#include "stub_vendor.h" +#include "misc.h" + +#include "obj_pinvia.h" +#include "obj_pinvia_op.h" + +/* TODO: consider removing this by moving pin/via functions here: */ +#include "draw.h" + +/*** allocation ***/ + +/* get next slot for a via, allocates memory if necessary */ +PinType *GetViaMemory(DataType * data) +{ + PinType *new_obj; + + new_obj = calloc(sizeof(PinType), 1); + pinlist_append(&data->Via, new_obj); + + return new_obj; +} + +void RemoveFreeVia(PinType * data) +{ + pinlist_remove(data); + free(data); +} + +/* get next slot for a pin, allocates memory if necessary */ +PinType *GetPinMemory(ElementType * element) +{ + PinType *new_obj; + + new_obj = calloc(sizeof(PinType), 1); + pinlist_append(&element->Pin, new_obj); + + return new_obj; +} + +void RemoveFreePin(PinType * data) +{ + pinlist_remove(data); + free(data); +} + + + +/*** utility ***/ + +/* creates a new via */ +PinTypePtr CreateNewVia(DataTypePtr Data, Coord X, Coord Y, Coord Thickness, Coord Clearance, Coord Mask, Coord DrillingHole, const char *Name, FlagType Flags) +{ + PinTypePtr Via; + + if (!pcb_create_be_lenient) { + VIA_LOOP(Data); + { + if (Distance(X, Y, via->X, via->Y) <= via->DrillingHole / 2 + DrillingHole / 2) { + Message(PCB_MSG_DEFAULT, _("%m+Dropping via at %$mD because it's hole would overlap with the via " + "at %$mD\n"), conf_core.editor.grid_unit->allow, X, Y, via->X, via->Y); + return (NULL); /* don't allow via stacking */ + } + } + END_LOOP; + } + + Via = GetViaMemory(Data); + + if (!Via) + return (Via); + /* copy values */ + Via->X = X; + Via->Y = Y; + Via->Thickness = Thickness; + Via->Clearance = Clearance; + Via->Mask = Mask; + Via->DrillingHole = stub_vendorDrillMap(DrillingHole); + if (Via->DrillingHole != DrillingHole) { + Message(PCB_MSG_DEFAULT, _("%m+Mapped via drill hole to %$mS from %$mS per vendor table\n"), + conf_core.editor.grid_unit->allow, Via->DrillingHole, DrillingHole); + } + + Via->Name = pcb_strdup_null(Name); + Via->Flags = Flags; + CLEAR_FLAG(PCB_FLAG_WARN, Via); + SET_FLAG(PCB_FLAG_VIA, Via); + Via->ID = CreateIDGet(); + + /* + * don't complain about MIN_PINORVIACOPPER on a mounting hole (pure + * hole) + */ + if (!TEST_FLAG(PCB_FLAG_HOLE, Via) && (Via->Thickness < Via->DrillingHole + MIN_PINORVIACOPPER)) { + Via->Thickness = Via->DrillingHole + MIN_PINORVIACOPPER; + Message(PCB_MSG_DEFAULT, _("%m+Increased via thickness to %$mS to allow enough copper" + " at %$mD.\n"), conf_core.editor.grid_unit->allow, Via->Thickness, Via->X, Via->Y); + } + + pcb_add_via(Data, Via); + return (Via); +} + +void pcb_add_via(DataType *Data, PinType *Via) +{ + SetPinBoundingBox(Via); + if (!Data->via_tree) + Data->via_tree = r_create_tree(NULL, 0, 0); + r_insert_entry(Data->via_tree, (BoxTypePtr) Via, 0); +} + +/* sets the bounding box of a pin or via */ +void SetPinBoundingBox(PinTypePtr Pin) +{ + Coord width; + + if ((GET_SQUARE(Pin) > 1) && (TEST_FLAG(PCB_FLAG_SQUARE, Pin))) { + POLYAREA *p = PinPoly(Pin, PIN_SIZE(Pin), Pin->Clearance); + poly_bbox(p, &Pin->BoundingBox); + poly_Free(&p); + } + + /* the bounding box covers the extent of influence + * so it must include the clearance values too + */ + width = MAX(Pin->Clearance + PIN_SIZE(Pin), Pin->Mask) / 2; + + /* Adjust for our discrete polygon approximation */ + width = (double) width *POLY_CIRC_RADIUS_ADJ + 0.5; + + Pin->BoundingBox.X1 = Pin->X - width; + Pin->BoundingBox.Y1 = Pin->Y - width; + Pin->BoundingBox.X2 = Pin->X + width; + Pin->BoundingBox.Y2 = Pin->Y + width; + close_box(&Pin->BoundingBox); +} + + + +/*** ops ***/ +/* copies a via to paste buffer */ +void *AddViaToBuffer(pcb_opctx_t *ctx, PinTypePtr Via) +{ + return (CreateNewVia(ctx->buffer.dst, Via->X, Via->Y, Via->Thickness, Via->Clearance, Via->Mask, Via->DrillingHole, Via->Name, MaskFlags(Via->Flags, PCB_FLAG_FOUND | ctx->buffer.extraflg))); +} + +/* moves a via to paste buffer without allocating memory for the name */ +void *MoveViaToBuffer(pcb_opctx_t *ctx, PinType * via) +{ + RestoreToPolygon(ctx->buffer.src, PCB_TYPE_VIA, via, via); + + r_delete_entry(ctx->buffer.src->via_tree, (BoxType *) via); + pinlist_remove(via); + pinlist_append(&ctx->buffer.dst->Via, via); + + CLEAR_FLAG(PCB_FLAG_WARN | PCB_FLAG_FOUND, via); + + if (!ctx->buffer.dst->via_tree) + ctx->buffer.dst->via_tree = r_create_tree(NULL, 0, 0); + r_insert_entry(ctx->buffer.dst->via_tree, (BoxType *) via, 0); + ClearFromPolygon(ctx->buffer.dst, PCB_TYPE_VIA, via, via); + return via; +} + +/* changes the thermal on a via */ +void *ChangeViaThermal(pcb_opctx_t *ctx, PinTypePtr Via) +{ + AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); + AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); + if (!ctx->chgtherm.style) /* remove the thermals */ + CLEAR_THERM(INDEXOFCURRENT, Via); + else + ASSIGN_THERM(INDEXOFCURRENT, ctx->chgtherm.style, Via); + AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Via); + DrawVia(Via); + return Via; +} + +/* changes the thermal on a pin */ +void *ChangePinThermal(pcb_opctx_t *ctx, ElementTypePtr element, PinTypePtr Pin) +{ + AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_false); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); + AddObjectToFlagUndoList(PCB_TYPE_PIN, element, Pin, Pin); + if (!ctx->chgtherm.style) /* remove the thermals */ + CLEAR_THERM(INDEXOFCURRENT, Pin); + else + ASSIGN_THERM(INDEXOFCURRENT, ctx->chgtherm.style, Pin); + AddObjectToClearPolyUndoList(PCB_TYPE_PIN, element, Pin, Pin, pcb_true); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, CURRENT, Pin); + DrawPin(Pin); + return Pin; +} + +/* changes the size of a via */ +void *ChangeViaSize(pcb_opctx_t *ctx, PinTypePtr Via) +{ + Coord value = ctx->chgsize.absolute ? ctx->chgsize.absolute : Via->Thickness + ctx->chgsize.delta; + + if (TEST_FLAG(PCB_FLAG_LOCK, Via)) + return (NULL); + if (!TEST_FLAG(PCB_FLAG_HOLE, Via) && value <= MAX_PINORVIASIZE && + value >= MIN_PINORVIASIZE && value >= Via->DrillingHole + MIN_PINORVIACOPPER && value != Via->Thickness) { + AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + EraseVia(Via); + r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); + RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Via, Via); + if (Via->Mask) { + AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + Via->Mask += value - Via->Thickness; + } + Via->Thickness = value; + SetPinBoundingBox(Via); + r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + DrawVia(Via); + return (Via); + } + return (NULL); +} + +/* changes the drilling hole of a via */ +void *ChangeVia2ndSize(pcb_opctx_t *ctx, PinTypePtr Via) +{ + Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->DrillingHole + ctx->chgsize.delta; + + if (TEST_FLAG(PCB_FLAG_LOCK, Via)) + return (NULL); + if (value <= MAX_PINORVIASIZE && + value >= MIN_PINORVIAHOLE && (TEST_FLAG(PCB_FLAG_HOLE, Via) || value <= Via->Thickness - MIN_PINORVIACOPPER) + && value != Via->DrillingHole) { + AddObjectTo2ndSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + EraseVia(Via); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + Via->DrillingHole = value; + if (TEST_FLAG(PCB_FLAG_HOLE, Via)) { + AddObjectToSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + Via->Thickness = value; + } + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + DrawVia(Via); + return (Via); + } + return (NULL); +} + +/* changes the drilling hole of a pin */ +void *ChangePin2ndSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->DrillingHole + ctx->chgsize.delta; + + if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) + return (NULL); + if (value <= MAX_PINORVIASIZE && + value >= MIN_PINORVIAHOLE && (TEST_FLAG(PCB_FLAG_HOLE, Pin) || value <= Pin->Thickness - MIN_PINORVIACOPPER) + && value != Pin->DrillingHole) { + AddObjectTo2ndSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + ErasePin(Pin); + RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + Pin->DrillingHole = value; + if (TEST_FLAG(PCB_FLAG_HOLE, Pin)) { + AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + Pin->Thickness = value; + } + ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + DrawPin(Pin); + return (Pin); + } + return (NULL); +} + + +/* changes the clearance size of a via */ +void *ChangeViaClearSize(pcb_opctx_t *ctx, PinTypePtr Via) +{ + Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->Clearance + ctx->chgsize.delta; + + if (TEST_FLAG(PCB_FLAG_LOCK, Via)) + return (NULL); + value = MIN(MAX_LINESIZE, value); + if (value < 0) + value = 0; + if (ctx->chgsize.delta < 0 && value < PCB->Bloat * 2) + value = 0; + if ((ctx->chgsize.delta > 0 || ctx->chgsize.absolute) && value < PCB->Bloat * 2) + value = PCB->Bloat * 2 + 2; + if (Via->Clearance == value) + return NULL; + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + AddObjectToClearSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + EraseVia(Via); + r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); + Via->Clearance = value; + SetPinBoundingBox(Via); + r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + DrawVia(Via); + Via->Element = NULL; + return (Via); +} + + +/* changes the size of a pin */ +void *ChangePinSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->Thickness + ctx->chgsize.delta; + + if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) + return (NULL); + if (!TEST_FLAG(PCB_FLAG_HOLE, Pin) && value <= MAX_PINORVIASIZE && + value >= MIN_PINORVIASIZE && value >= Pin->DrillingHole + MIN_PINORVIACOPPER && value != Pin->Thickness) { + AddObjectToSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + ErasePin(Pin); + r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); + RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + Pin->Mask += value - Pin->Thickness; + Pin->Thickness = value; + /* SetElementBB updates all associated rtrees */ + SetElementBoundingBox(PCB->Data, Element, &PCB->Font); + ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + DrawPin(Pin); + return (Pin); + } + return (NULL); +} + +/* changes the clearance size of a pin */ +void *ChangePinClearSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->Clearance + ctx->chgsize.delta; + + if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) + return (NULL); + value = MIN(MAX_LINESIZE, value); + if (value < 0) + value = 0; + if (ctx->chgsize.delta < 0 && value < PCB->Bloat * 2) + value = 0; + if ((ctx->chgsize.delta > 0 || ctx->chgsize.absolute) && value < PCB->Bloat * 2) + value = PCB->Bloat * 2 + 2; + if (Pin->Clearance == value) + return NULL; + RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + AddObjectToClearSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + ErasePin(Pin); + r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); + Pin->Clearance = value; + /* SetElementBB updates all associated rtrees */ + SetElementBoundingBox(PCB->Data, Element, &PCB->Font); + ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + DrawPin(Pin); + return (Pin); +} + +/* changes the name of a via */ +void *ChangeViaName(pcb_opctx_t *ctx, PinTypePtr Via) +{ + char *old = Via->Name; + + if (TEST_FLAG(PCB_FLAG_DISPLAYNAME, Via)) { + ErasePinName(Via); + Via->Name = ctx->chgname.new_name; + DrawPinName(Via); + } + else + Via->Name = ctx->chgname.new_name; + return (old); +} + +/* changes the name of a pin */ +void *ChangePinName(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + char *old = Pin->Name; + + Element = Element; /* get rid of 'unused...' warnings */ + if (TEST_FLAG(PCB_FLAG_DISPLAYNAME, Pin)) { + ErasePinName(Pin); + Pin->Name = ctx->chgname.new_name; + DrawPinName(Pin); + } + else + Pin->Name = ctx->chgname.new_name; + return (old); +} + +/* changes the number of a pin */ +void *ChangePinNum(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + char *old = Pin->Number; + + Element = Element; /* get rid of 'unused...' warnings */ + if (TEST_FLAG(PCB_FLAG_DISPLAYNAME, Pin)) { + ErasePinName(Pin); + Pin->Number = ctx->chgname.new_name; + DrawPinName(Pin); + } + else + Pin->Number = ctx->chgname.new_name; + return (old); +} + + +/* changes the square flag of a via */ +void *ChangeViaSquare(pcb_opctx_t *ctx, PinTypePtr Via) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Via)) + return (NULL); + EraseVia(Via); + AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_false); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, NULL, Via); + AddObjectToFlagUndoList(PCB_TYPE_VIA, NULL, Via, Via); + ASSIGN_SQUARE(ctx->chgsize.absolute, Via); + if (ctx->chgsize.absolute == 0) + CLEAR_FLAG(PCB_FLAG_SQUARE, Via); + else + SET_FLAG(PCB_FLAG_SQUARE, Via); + SetPinBoundingBox(Via); + AddObjectToClearPolyUndoList(PCB_TYPE_VIA, NULL, Via, Via, pcb_true); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, NULL, Via); + DrawVia(Via); + return (Via); +} + +/* changes the square flag of a pin */ +void *ChangePinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) + return (NULL); + ErasePin(Pin); + AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); + RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + ASSIGN_SQUARE(ctx->chgsize.absolute, Pin); + if (ctx->chgsize.absolute == 0) + CLEAR_FLAG(PCB_FLAG_SQUARE, Pin); + else + SET_FLAG(PCB_FLAG_SQUARE, Pin); + SetPinBoundingBox(Pin); + AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); + ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + DrawPin(Pin); + return (Pin); +} + +/* sets the square flag of a pin */ +void *SetPinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || TEST_FLAG(PCB_FLAG_SQUARE, Pin)) + return (NULL); + + return (ChangePinSquare(ctx, Element, Pin)); +} + +/* clears the square flag of a pin */ +void *ClrPinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || !TEST_FLAG(PCB_FLAG_SQUARE, Pin)) + return (NULL); + + return (ChangePinSquare(ctx, Element, Pin)); +} + +/* changes the octagon flag of a via */ +void *ChangeViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Via)) + return (NULL); + EraseVia(Via); + AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_false); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); + TOGGLE_FLAG(PCB_FLAG_OCTAGON, Via); + AddObjectToClearPolyUndoList(PCB_TYPE_VIA, Via, Via, Via, pcb_true); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + DrawVia(Via); + return (Via); +} + +/* sets the octagon flag of a via */ +void *SetViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Via) || TEST_FLAG(PCB_FLAG_OCTAGON, Via)) + return (NULL); + + return (ChangeViaOctagon(ctx, Via)); +} + +/* clears the octagon flag of a via */ +void *ClrViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Via) || !TEST_FLAG(PCB_FLAG_OCTAGON, Via)) + return (NULL); + + return (ChangeViaOctagon(ctx, Via)); +} + +/* changes the octagon flag of a pin */ +void *ChangePinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Pin)) + return (NULL); + ErasePin(Pin); + AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_false); + RestoreToPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + AddObjectToFlagUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + TOGGLE_FLAG(PCB_FLAG_OCTAGON, Pin); + AddObjectToClearPolyUndoList(PCB_TYPE_PIN, Element, Pin, Pin, pcb_true); + ClearFromPolygon(PCB->Data, PCB_TYPE_PIN, Element, Pin); + DrawPin(Pin); + return (Pin); +} + +/* sets the octagon flag of a pin */ +void *SetPinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || TEST_FLAG(PCB_FLAG_OCTAGON, Pin)) + return (NULL); + + return (ChangePinOctagon(ctx, Element, Pin)); +} + +/* clears the octagon flag of a pin */ +void *ClrPinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Pin) || !TEST_FLAG(PCB_FLAG_OCTAGON, Pin)) + return (NULL); + + return (ChangePinOctagon(ctx, Element, Pin)); +} + +/* changes the hole flag of a via */ +pcb_bool ChangeHole(PinTypePtr Via) +{ + if (TEST_FLAG(PCB_FLAG_LOCK, Via)) + return (pcb_false); + EraseVia(Via); + AddObjectToFlagUndoList(PCB_TYPE_VIA, Via, Via, Via); + AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + TOGGLE_FLAG(PCB_FLAG_HOLE, Via); + + if (TEST_FLAG(PCB_FLAG_HOLE, Via)) { + /* A tented via becomes an minimally untented hole. An untented + via retains its mask clearance. */ + if (Via->Mask > Via->Thickness) { + Via->Mask = (Via->DrillingHole + (Via->Mask - Via->Thickness)); + } + else if (Via->Mask < Via->DrillingHole) { + Via->Mask = Via->DrillingHole + 2 * MASKFRAME; + } + } + else { + Via->Mask = (Via->Thickness + (Via->Mask - Via->DrillingHole)); + } + + SetPinBoundingBox(Via); + r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + DrawVia(Via); + Draw(); + return (pcb_true); +} + +/* changes the mask size of a pin */ +void *ChangePinMaskSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin) +{ + Coord value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Pin->Mask + ctx->chgsize.delta; + + value = MAX(value, 0); + if (value == Pin->Mask && ctx->chgsize.absolute == 0) + value = Pin->Thickness; + if (value != Pin->Mask) { + AddObjectToMaskSizeUndoList(PCB_TYPE_PIN, Element, Pin, Pin); + ErasePin(Pin); + r_delete_entry(PCB->Data->pin_tree, &Pin->BoundingBox); + Pin->Mask = value; + SetElementBoundingBox(PCB->Data, Element, &PCB->Font); + DrawPin(Pin); + return (Pin); + } + return (NULL); +} + +/* changes the mask size of a via */ +void *ChangeViaMaskSize(pcb_opctx_t *ctx, PinTypePtr Via) +{ + Coord value; + + value = (ctx->chgsize.absolute) ? ctx->chgsize.absolute : Via->Mask + ctx->chgsize.delta; + value = MAX(value, 0); + if (value != Via->Mask) { + AddObjectToMaskSizeUndoList(PCB_TYPE_VIA, Via, Via, Via); + EraseVia(Via); + r_delete_entry(PCB->Data->via_tree, &Via->BoundingBox); + Via->Mask = value; + SetPinBoundingBox(Via); + r_insert_entry(PCB->Data->via_tree, &Via->BoundingBox, 0); + DrawVia(Via); + return (Via); + } + return (NULL); +} + +/* copies a via */ +void *CopyVia(pcb_opctx_t *ctx, PinTypePtr Via) +{ + PinTypePtr via; + + via = CreateNewVia(PCB->Data, Via->X + ctx->copy.DeltaX, Via->Y + ctx->copy.DeltaY, + Via->Thickness, Via->Clearance, Via->Mask, Via->DrillingHole, Via->Name, MaskFlags(Via->Flags, PCB_FLAG_FOUND)); + if (!via) + return (via); + DrawVia(via); + AddObjectToCreateUndoList(PCB_TYPE_VIA, via, via, via); + return (via); +} + +/* moves a via */ +void *MoveVia(pcb_opctx_t *ctx, PinTypePtr Via) +{ + r_delete_entry(PCB->Data->via_tree, (BoxType *) Via); + RestoreToPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + MOVE_VIA_LOWLEVEL(Via, ctx->move.dx, ctx->move.dy); + if (PCB->ViaOn) + EraseVia(Via); + r_insert_entry(PCB->Data->via_tree, (BoxType *) Via, 0); + ClearFromPolygon(PCB->Data, PCB_TYPE_VIA, Via, Via); + if (PCB->ViaOn) { + DrawVia(Via); + Draw(); + } + return (Via); +} + +/* destroys a via */ +void *DestroyVia(pcb_opctx_t *ctx, PinTypePtr Via) +{ + r_delete_entry(ctx->remove.destroy_target->via_tree, (BoxTypePtr) Via); + free(Via->Name); + + RemoveFreeVia(Via); + return NULL; +} + +/* removes a via */ +void *RemoveVia(pcb_opctx_t *ctx, PinTypePtr Via) +{ + /* erase from screen and memory */ + if (PCB->ViaOn) { + EraseVia(Via); + if (!ctx->remove.bulk) + Draw(); + } + MoveObjectToRemoveUndoList(PCB_TYPE_VIA, Via, Via, Via); + return NULL; +} Index: trunk/src/obj_pinvia.h =================================================================== --- trunk/src/obj_pinvia.h (nonexistent) +++ trunk/src/obj_pinvia.h (revision 4574) @@ -0,0 +1,57 @@ +/* + * COPYRIGHT + * + * PCB, interactive printed circuit board design + * Copyright (C) 1994,1995,1996 Thomas Nau + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Contact addresses for paper mail and Email: + * Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany + * Thomas.Nau@rz.uni-ulm.de + * + */ + +/* Drawing primitive: pins and vias */ + +#ifndef PCB_OBJ_PINVIA_H +#define PCB_OBJ_PINVIA_H + +PinType *GetViaMemory(DataType * data); +void RemoveFreeVia(PinType * data); +PinType *GetPinMemory(ElementType * element); +void RemoveFreePin(PinType * data); + +PinTypePtr CreateNewVia(DataTypePtr Data, Coord X, Coord Y, Coord Thickness, Coord Clearance, Coord Mask, Coord DrillingHole, const char *Name, FlagType Flags); +void pcb_add_via(DataType *Data, PinType *Via); +void SetPinBoundingBox(PinTypePtr Pin); + + +#define VIA_LOOP(top) do { \ + PinType *via; \ + gdl_iterator_t __it__; \ + pinlist_foreach(&(top)->Via, &__it__, via) { + +#define PIN_LOOP(element) do { \ + PinType *pin; \ + gdl_iterator_t __it__; \ + pinlist_foreach(&(element)->Pin, &__it__, pin) { + +#define ALLPIN_LOOP(top) \ + ELEMENT_LOOP(top); \ + PIN_LOOP(element) \ + + +#endif Index: trunk/src/obj_pinvia_list.c =================================================================== --- trunk/src/obj_pinvia_list.c (nonexistent) +++ trunk/src/obj_pinvia_list.c (revision 4574) @@ -0,0 +1,26 @@ +/* + * COPYRIGHT + * + * pcb-rnd, interactive printed circuit board design + * Copyright (C) 2016 Tibor 'Igor2' Palinkas + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +#define TDL_DONT_UNDEF +#include "global_objs.h" +#include "obj_pinvia_list.h" +#include Index: trunk/src/obj_pinvia_list.h =================================================================== --- trunk/src/obj_pinvia_list.h (nonexistent) +++ trunk/src/obj_pinvia_list.h (revision 4574) @@ -0,0 +1,42 @@ +/* + * COPYRIGHT + * + * pcb-rnd, interactive printed circuit board design + * Copyright (C) 2016 Tibor 'Igor2' Palinkas + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + */ + +#ifndef PCB_OBJ_PINVIA_LIST_H +#define PCB_OBJ_PINVIA_LIST_H + +#include "obj_pinvia.h" + +/* List of Pins */ +#define TDL(x) pinlist_ ## x +#define TDL_LIST_T pinlist_t +#define TDL_ITEM_T PinType +#define TDL_FIELD link +#define TDL_SIZE_T size_t +#define TDL_FUNC + +#define pinlist_foreach(list, iterator, loop_elem) \ + gdl_foreach_((&((list)->lst)), (iterator), (loop_elem)) + +#include +#include + +#endif Index: trunk/src/obj_pinvia_op.h =================================================================== --- trunk/src/obj_pinvia_op.h (nonexistent) +++ trunk/src/obj_pinvia_op.h (revision 4574) @@ -0,0 +1,60 @@ +/* + * COPYRIGHT + * + * PCB, interactive printed circuit board design + * Copyright (C) 1994,1995,1996 Thomas Nau + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Contact addresses for paper mail and Email: + * Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany + * Thomas.Nau@rz.uni-ulm.de + * + */ + +/*** Standard operations on pins and vias ***/ + +#include "operation.h" + +void *AddViaToBuffer(pcb_opctx_t *ctx, PinTypePtr Via); +void *MoveViaToBuffer(pcb_opctx_t *ctx, PinType * via); +void *ChangeViaThermal(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangePinThermal(pcb_opctx_t *ctx, ElementTypePtr element, PinTypePtr Pin); +void *ChangeViaSize(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangeVia2ndSize(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangePin2ndSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangeViaClearSize(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangePinSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangePinClearSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangeViaName(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangePinName(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangePinNum(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangeViaSquare(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangePinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *SetPinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ClrPinSquare(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangeViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via); +void *SetViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via); +void *ClrViaOctagon(pcb_opctx_t *ctx, PinTypePtr Via); +void *ChangePinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *SetPinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ClrPinOctagon(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +pcb_bool ChangeHole(PinTypePtr Via); +void *ChangePinMaskSize(pcb_opctx_t *ctx, ElementTypePtr Element, PinTypePtr Pin); +void *ChangeViaMaskSize(pcb_opctx_t *ctx, PinTypePtr Via); +void *CopyVia(pcb_opctx_t *ctx, PinTypePtr Via); +void *MoveVia(pcb_opctx_t *ctx, PinTypePtr Via); +void *DestroyVia(pcb_opctx_t *ctx, PinTypePtr Via); +void *RemoveVia(pcb_opctx_t *ctx, PinTypePtr Via); Index: trunk/src/rats.c =================================================================== --- trunk/src/rats.c (revision 4573) +++ trunk/src/rats.c (revision 4574) @@ -49,6 +49,7 @@ #include "netlist.h" #include "compat_nls.h" #include "obj_line.h" +#include "obj_pinvia.h" #warning TODO: remove this in favor of vtptr #include "ptrlist.h" Index: trunk/src/remove.c =================================================================== --- trunk/src/remove.c (revision 4573) +++ trunk/src/remove.c (revision 4574) @@ -44,15 +44,14 @@ #include "select.h" #include "undo.h" #include "obj_all_op.h" +#include "obj_pinvia.h" /* --------------------------------------------------------------------------- * some local prototypes */ -static void *DestroyVia(pcb_opctx_t *ctx, PinTypePtr); static void *DestroyRat(pcb_opctx_t *ctx, RatTypePtr); static void *DestroyPolygon(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr); static void *DestroyElement(pcb_opctx_t *ctx, ElementTypePtr); -static void *RemoveVia(pcb_opctx_t *ctx, PinTypePtr); static void *RemoveRat(pcb_opctx_t *ctx, RatTypePtr); static void *DestroyPolygonPoint(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr, PointTypePtr); static void *RemovePolygonContour(pcb_opctx_t *ctx, LayerTypePtr, PolygonTypePtr, pcb_cardinal_t); @@ -105,18 +104,6 @@ } /* --------------------------------------------------------------------------- - * destroys a via - */ -static void *DestroyVia(pcb_opctx_t *ctx, PinTypePtr Via) -{ - r_delete_entry(ctx->remove.destroy_target->via_tree, (BoxTypePtr) Via); - free(Via->Name); - - RemoveFreeVia(Via); - return NULL; -} - -/* --------------------------------------------------------------------------- * destroys a polygon from a layer */ static void *DestroyPolygon(pcb_opctx_t *ctx, LayerTypePtr Layer, PolygonTypePtr Polygon) @@ -212,23 +199,7 @@ return NULL; } - /* --------------------------------------------------------------------------- - * removes a via - */ -static void *RemoveVia(pcb_opctx_t *ctx, PinTypePtr Via) -{ - /* erase from screen and memory */ - if (PCB->ViaOn) { - EraseVia(Via); - if (!ctx->remove.bulk) - Draw(); - } - MoveObjectToRemoveUndoList(PCB_TYPE_VIA, Via, Via, Via); - return NULL; -} - -/* --------------------------------------------------------------------------- * removes a rat */ static void *RemoveRat(pcb_opctx_t *ctx, RatTypePtr Rat) Index: trunk/src/rotate.c =================================================================== --- trunk/src/rotate.c (revision 4573) +++ trunk/src/rotate.c (revision 4574) @@ -49,6 +49,7 @@ #include "compat_nls.h" #include "obj_all_op.h" #include "obj_line.h" +#include "obj_pinvia.h" /* --------------------------------------------------------------------------- * some local prototypes Index: trunk/src/rubberband.c =================================================================== --- trunk/src/rubberband.c (revision 4573) +++ trunk/src/rubberband.c (revision 4574) @@ -42,6 +42,7 @@ #include "polygon.h" #include "rtree.h" #include "obj_line.h" +#include "obj_pinvia.h" /* --------------------------------------------------------------------------- * some local prototypes Index: trunk/src_plugins/autoplace/autoplace.c =================================================================== --- trunk/src_plugins/autoplace/autoplace.c (revision 4573) +++ trunk/src_plugins/autoplace/autoplace.c (revision 4574) @@ -59,6 +59,7 @@ #include "rats.h" #include "remove.h" #include "rotate.h" +#include "obj_pinvia.h" #warning TODO: remove this in favor of vtptr #include "ptrlist.h" Index: trunk/src_plugins/djopt/djopt.c =================================================================== --- trunk/src_plugins/djopt/djopt.c (revision 4573) +++ trunk/src_plugins/djopt/djopt.c (revision 4574) @@ -47,6 +47,7 @@ #include "hid_actions.h" #include "djopt_conf.h" #include "obj_line.h" +#include "obj_pinvia.h" conf_djopt_t conf_djopt; Index: trunk/src_plugins/export_dsn/dsn.c =================================================================== --- trunk/src_plugins/export_dsn/dsn.c (revision 4573) +++ trunk/src_plugins/export_dsn/dsn.c (revision 4574) @@ -63,6 +63,7 @@ #include "hid_helper.h" #include "plugins.h" #include "obj_line.h" +#include "obj_pinvia.h" static const char *dsn_cookie = "dsn exporter"; Index: trunk/src_plugins/export_dxf/dxf.c =================================================================== --- trunk/src_plugins/export_dxf/dxf.c (revision 4573) +++ trunk/src_plugins/export_dxf/dxf.c (revision 4574) @@ -196,6 +196,7 @@ #include "hid.h" #include "hid_init.h" #include "plugins.h" +#include "obj_pinvia.h" /*! * \brief List with string data. Index: trunk/src_plugins/export_ipcd356/ipcd356.c =================================================================== --- trunk/src_plugins/export_ipcd356/ipcd356.c (revision 4573) +++ trunk/src_plugins/export_ipcd356/ipcd356.c (revision 4574) @@ -48,6 +48,7 @@ #include "pcb-printf.h" #include "netlist.h" #include "conf_core.h" +#include "obj_pinvia.h" #include "hid.h" #include "hid_nogui.h" Index: trunk/src_plugins/export_xy/xy.c =================================================================== --- trunk/src_plugins/export_xy/xy.c (revision 4573) +++ trunk/src_plugins/export_xy/xy.c (revision 4574) @@ -16,6 +16,7 @@ #include "pcb-printf.h" #include "plugins.h" #include "compat_misc.h" +#include "obj_pinvia.h" #include "hid.h" #include "hid_nogui.h" Index: trunk/src_plugins/import_dsn/dsn.c =================================================================== --- trunk/src_plugins/import_dsn/dsn.c (revision 4573) +++ trunk/src_plugins/import_dsn/dsn.c (revision 4574) @@ -51,6 +51,7 @@ #include "polygon.h" #include "compat_misc.h" #include "compat_nls.h" +#include "obj_pinvia.h" #include "action_helper.h" #include "hid.h" Index: trunk/src_plugins/vendordrill/vendor.c =================================================================== --- trunk/src_plugins/vendordrill/vendor.c (revision 4573) +++ trunk/src_plugins/vendordrill/vendor.c (revision 4574) @@ -48,6 +48,7 @@ #include "vendor_conf.h" #include "compat_misc.h" #include "compat_nls.h" +#include "obj_pinvia.h" #include #include