Index: trunk/doc-rnd/TODO =================================================================== --- trunk/doc-rnd/TODO (revision 1357) +++ trunk/doc-rnd/TODO (revision 1358) @@ -1,5 +1,4 @@ Cleanup #4: - - remove action_funchash.[ch] and use genht - rename action.[ch], maybe even split it - move hid/common/actions.[ch] to core - !! move batch, gtk and lesstif Index: trunk/src/action.h =================================================================== --- trunk/src/action.h (revision 1357) +++ trunk/src/action.h (nonexistent) @@ -1,79 +0,0 @@ -/* - * 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 - * - * RCS: $Id$ - */ - -/* prototypes for action routines - */ - -#ifndef PCB_ACTION_H -#define PCH_ACTION_H - -#include "global.h" - -#define CLONE_TYPES LINE_TYPE | ARC_TYPE | VIA_TYPE | POLYGON_TYPE - -void ActionAdjustStyle(char *); -void EventMoveCrosshair(int, int); - -void AdjustAttachedObjects(void); - -void warpNoWhere(void); - -/* In gui-misc.c */ -bool ActionGetLocation(char *); -void ActionGetXY(char *); - -#define ACTION_ARG(n) (argc > (n) ? argv[n] : NULL) - -int get_style_size(int funcid, Coord * out, int type, int size_id); - -extern int defer_updates; -extern int defer_needs_update; -extern LayerTypePtr lastLayer; - -void NotifyLine(void); -void NotifyBlock(void); -void NotifyMode(void); -void ClearWarnings(void); - -typedef struct { - Coord X, Y; - Cardinal Buffer; - bool Click; - bool Moving; /* selected type clicked on */ - int Hit; /* move type clicked on */ - void *ptr1; - void *ptr2; - void *ptr3; -} action_note_t; - -extern action_note_t Note; -extern bool saved_mode; - -int ActionExecuteFile(int argc, char **argv, Coord x, Coord y); -void ReleaseMode(void); - -#endif Index: trunk/src/action.c =================================================================== --- trunk/src/action.c (revision 1357) +++ trunk/src/action.c (nonexistent) @@ -1,1278 +0,0 @@ -/* - * COPYRIGHT - * - * PCB, interactive printed circuit board design - * Copyright (C) 1994,1995,1996 Thomas Nau - * Copyright (C) 1997, 1998, 1999, 2000, 2001 Harry Eaton - * - * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Contact addresses for paper mail and Email: - * Harry Eaton, 6697 Buttonhole Ct, Columbia, MD 21044, USA - * haceaton@aplcomm.jhuapl.edu - * - */ - -/* action routines for output window - */ - -#include "config.h" - -#include "global.h" - -#include "action.h" -#include "buffer.h" -#include "change.h" -#include "copy.h" -#include "create.h" -#include "crosshair.h" -#include "data.h" -#include "draw.h" -#include "error.h" -#include "find.h" -#include "insert.h" -#include "line.h" -#include "misc.h" -#include "move.h" -#include "polygon.h" -#include "rats.h" -#include "remove.h" -#include "rotate.h" -#include "rubberband.h" -#include "search.h" -#include "select.h" -#include "set.h" -#include "undo.h" -#include "rtree.h" -#include "stub_stroke.h" -#include "funchash_core.h" - -/* --------------------------------------------------------------------------- */ - -/* %start-doc actions 00delta - -Many actions take a @code{delta} parameter as the last parameter, -which is an amount to change something. That @code{delta} may include -units, as an additional parameter, such as @code{Action(Object,5,mm)}. -If no units are specified, the default is PCB's native units -(currently 1/100 mil). Also, if the delta is prefixed by @code{+} or -@code{-}, the size is increased or decreased by that amount. -Otherwise, the size size is set to the given amount. - -@example -Action(Object,5,mil) -Action(Object,+0.5,mm) -Action(Object,-1) -@end example - -Actions which take a @code{delta} parameter which do not accept all -these options will specify what they do take. - -%end-doc */ - -/* %start-doc actions 00objects - -Many actions act on indicated objects on the board. They will have -parameters like @code{ToggleObject} or @code{SelectedVias} to indicate -what group of objects they act on. Unless otherwise specified, these -parameters are defined as follows: - -@table @code - -@item Object -@itemx ToggleObject -Affects the object under the mouse pointer. If this action is invoked -from a menu or script, the user will be prompted to click on an -object, which is then the object affected. - -@item Selected -@itemx SelectedObjects - -Affects all objects which are currently selected. At least, all -selected objects for which the given action makes sense. - -@item SelectedPins -@itemx SelectedVias -@itemx Selected@var{Type} -@itemx @i{etc} -Affects all objects which are both selected and of the @var{Type} specified. - -@end table - -%end-doc */ - -/* %start-doc actions 00macros - -@macro pinshapes - -Pins, pads, and vias can have various shapes. All may be round. Pins -and pads may be square (obviously "square" pads are usually -rectangular). Pins and vias may be octagonal. When you change a -shape flag of an element, you actually change all of its pins and -pads. - -Note that the square flag takes precedence over the octagon flag, -thus, if both the square and octagon flags are set, the object is -square. When the square flag is cleared, the pins and pads will be -either round or, if the octagon flag is set, octagonal. - -@end macro - -%end-doc */ - -/* --------------------------------------------------------------------------- - * some local identifiers - */ -static PointType InsertedPoint; -LayerTypePtr lastLayer; -static struct { - PolygonTypePtr poly; - LineType line; -} fake; - -action_note_t Note; -int defer_updates = 0; -int defer_needs_update = 0; - - -static Cardinal polyIndex = 0; -bool saved_mode = false; - -/* --------------------------------------------------------------------------- - * some local routines - */ -static void AdjustAttachedBox(void); -/* --------------------------------------------------------------------------- - * Clear warning color from pins/pads - */ -void ClearWarnings() -{ - Settings.RatWarn = false; - ALLPIN_LOOP(PCB->Data); - { - if (TEST_FLAG(WARNFLAG, pin)) { - CLEAR_FLAG(WARNFLAG, pin); - DrawPin(pin); - } - } - ENDALL_LOOP; - VIA_LOOP(PCB->Data); - { - if (TEST_FLAG(WARNFLAG, via)) { - CLEAR_FLAG(WARNFLAG, via); - DrawVia(via); - } - } - END_LOOP; - ALLPAD_LOOP(PCB->Data); - { - if (TEST_FLAG(WARNFLAG, pad)) { - CLEAR_FLAG(WARNFLAG, pad); - DrawPad(pad); - } - } - ENDALL_LOOP; - ALLLINE_LOOP(PCB->Data); - { - if (TEST_FLAG(WARNFLAG, line)) { - CLEAR_FLAG(WARNFLAG, line); - DrawLine(layer, line); - } - } - ENDALL_LOOP; - ALLARC_LOOP(PCB->Data); - { - if (TEST_FLAG(WARNFLAG, arc)) { - CLEAR_FLAG(WARNFLAG, arc); - DrawArc(layer, arc); - } - } - ENDALL_LOOP; - ALLPOLYGON_LOOP(PCB->Data); - { - if (TEST_FLAG(WARNFLAG, polygon)) { - CLEAR_FLAG(WARNFLAG, polygon); - DrawPolygon(layer, polygon); - } - } - ENDALL_LOOP; - - Draw(); -} - -static void click_cb(hidval hv) -{ - if (Note.Click) { - notify_crosshair_change(false); - Note.Click = false; - if (Note.Moving && !gui->shift_is_pressed()) { - Note.Buffer = Settings.BufferNumber; - SetBufferNumber(MAX_BUFFER - 1); - ClearBuffer(PASTEBUFFER); - AddSelectedToBuffer(PASTEBUFFER, Note.X, Note.Y, true); - SaveUndoSerialNumber(); - RemoveSelected(); - SaveMode(); - saved_mode = true; - SetMode(PASTEBUFFER_MODE); - } - else if (Note.Hit && !gui->shift_is_pressed()) { - BoxType box; - - SaveMode(); - saved_mode = true; - SetMode(gui->control_is_pressed()? COPY_MODE : MOVE_MODE); - Crosshair.AttachedObject.Ptr1 = Note.ptr1; - Crosshair.AttachedObject.Ptr2 = Note.ptr2; - Crosshair.AttachedObject.Ptr3 = Note.ptr3; - Crosshair.AttachedObject.Type = Note.Hit; - - if (Crosshair.drags != NULL) { - free(Crosshair.drags); - Crosshair.drags = NULL; - } - Crosshair.dragx = Note.X; - Crosshair.dragy = Note.Y; - box.X1 = Note.X + SLOP * pixel_slop; - box.X2 = Note.X - SLOP * pixel_slop; - box.Y1 = Note.Y + SLOP * pixel_slop; - box.Y2 = Note.Y - SLOP * pixel_slop; - Crosshair.drags = ListBlock(&box, &Crosshair.drags_len); - Crosshair.drags_current = 0; - AttachForCopy(Note.X, Note.Y); - } - else { - BoxType box; - - Note.Hit = 0; - Note.Moving = false; - SaveUndoSerialNumber(); - box.X1 = -MAX_COORD; - box.Y1 = -MAX_COORD; - box.X2 = MAX_COORD; - box.Y2 = MAX_COORD; - /* unselect first if shift key not down */ - if (!gui->shift_is_pressed() && SelectBlock(&box, false)) - SetChangedFlag(true); - NotifyBlock(); - Crosshair.AttachedBox.Point1.X = Note.X; - Crosshair.AttachedBox.Point1.Y = Note.Y; - } - notify_crosshair_change(true); - } -} - -void ReleaseMode(void) -{ - BoxType box; - - if (Note.Click) { - BoxType box; - - box.X1 = -MAX_COORD; - box.Y1 = -MAX_COORD; - box.X2 = MAX_COORD; - box.Y2 = MAX_COORD; - - Note.Click = false; /* inhibit timer action */ - SaveUndoSerialNumber(); - /* unselect first if shift key not down */ - if (!gui->shift_is_pressed()) { - if (SelectBlock(&box, false)) - SetChangedFlag(true); - if (Note.Moving) { - Note.Moving = 0; - Note.Hit = 0; - return; - } - } - RestoreUndoSerialNumber(); - if (SelectObject()) - SetChangedFlag(true); - Note.Hit = 0; - Note.Moving = 0; - } - else if (Note.Moving) { - RestoreUndoSerialNumber(); - NotifyMode(); - ClearBuffer(PASTEBUFFER); - SetBufferNumber(Note.Buffer); - Note.Moving = false; - Note.Hit = 0; - } - else if (Note.Hit) { - NotifyMode(); - Note.Hit = 0; - } - else if (Settings.Mode == ARROW_MODE) { - box.X1 = Crosshair.AttachedBox.Point1.X; - box.Y1 = Crosshair.AttachedBox.Point1.Y; - box.X2 = Crosshair.AttachedBox.Point2.X; - box.Y2 = Crosshair.AttachedBox.Point2.Y; - - RestoreUndoSerialNumber(); - if (SelectBlock(&box, true)) - SetChangedFlag(true); - else if (Bumped) - IncrementUndoSerialNumber(); - Crosshair.AttachedBox.State = STATE_FIRST; - } - if (saved_mode) - RestoreMode(); - saved_mode = false; -} - -/* --------------------------------------------------------------------------- - * set new coordinates if in 'RECTANGLE' mode - * the cursor shape is also adjusted - */ -static void AdjustAttachedBox(void) -{ - if (Settings.Mode == ARC_MODE) { - Crosshair.AttachedBox.otherway = gui->shift_is_pressed(); - return; - } - switch (Crosshair.AttachedBox.State) { - case STATE_SECOND: /* one corner is selected */ - { - /* update coordinates */ - Crosshair.AttachedBox.Point2.X = Crosshair.X; - Crosshair.AttachedBox.Point2.Y = Crosshair.Y; - break; - } - } -} - -/* --------------------------------------------------------------------------- - * adjusts the objects which are to be created like attached lines... - */ -void AdjustAttachedObjects(void) -{ - PointTypePtr pnt; - switch (Settings.Mode) { - /* update at least an attached block (selection) */ - case NO_MODE: - case ARROW_MODE: - if (Crosshair.AttachedBox.State) { - Crosshair.AttachedBox.Point2.X = Crosshair.X; - Crosshair.AttachedBox.Point2.Y = Crosshair.Y; - } - break; - - /* rectangle creation mode */ - case RECTANGLE_MODE: - case ARC_MODE: - AdjustAttachedBox(); - break; - - /* polygon creation mode */ - case POLYGON_MODE: - case POLYGONHOLE_MODE: - AdjustAttachedLine(); - break; - /* line creation mode */ - case LINE_MODE: - if (PCB->RatDraw || PCB->Clipping == 0) - AdjustAttachedLine(); - else - AdjustTwoLine(PCB->Clipping - 1); - break; - /* point insertion mode */ - case INSERTPOINT_MODE: - pnt = AdjustInsertPoint(); - if (pnt) - InsertedPoint = *pnt; - break; - case ROTATE_MODE: - break; - } -} - -/* --------------------------------------------------------------------------- - * creates points of a line - */ -void NotifyLine(void) -{ - int type = NO_TYPE; - void *ptr1, *ptr2, *ptr3; - - if (!Marked.status || TEST_FLAG(LOCALREFFLAG, PCB)) - SetLocalRef(Crosshair.X, Crosshair.Y, true); - switch (Crosshair.AttachedLine.State) { - case STATE_FIRST: /* first point */ - if (PCB->RatDraw && SearchScreen(Crosshair.X, Crosshair.Y, PAD_TYPE | PIN_TYPE, &ptr1, &ptr1, &ptr1) == NO_TYPE) { - gui->beep(); - break; - } - if (TEST_FLAG(AUTODRCFLAG, PCB) && Settings.Mode == LINE_MODE) { - type = SearchScreen(Crosshair.X, Crosshair.Y, PIN_TYPE | PAD_TYPE | VIA_TYPE, &ptr1, &ptr2, &ptr3); - LookupConnection(Crosshair.X, Crosshair.Y, true, 1, FOUNDFLAG); - } - if (type == PIN_TYPE || type == VIA_TYPE) { - Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X = ((PinTypePtr) ptr2)->X; - Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y = ((PinTypePtr) ptr2)->Y; - } - else if (type == PAD_TYPE) { - PadTypePtr pad = (PadTypePtr) ptr2; - double d1 = Distance(Crosshair.X, Crosshair.Y, pad->Point1.X, pad->Point1.Y); - double d2 = Distance(Crosshair.X, Crosshair.Y, pad->Point2.X, pad->Point2.Y); - if (d2 < d1) { - Crosshair.AttachedLine.Point1 = Crosshair.AttachedLine.Point2 = pad->Point2; - } - else { - Crosshair.AttachedLine.Point1 = Crosshair.AttachedLine.Point2 = pad->Point1; - } - } - else { - Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X = Crosshair.X; - Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y = Crosshair.Y; - } - Crosshair.AttachedLine.State = STATE_SECOND; - break; - - case STATE_SECOND: - /* fall through to third state too */ - lastLayer = CURRENT; - default: /* all following points */ - Crosshair.AttachedLine.State = STATE_THIRD; - break; - } -} - -/* --------------------------------------------------------------------------- - * create first or second corner of a marked block - */ -void NotifyBlock(void) -{ - notify_crosshair_change(false); - switch (Crosshair.AttachedBox.State) { - case STATE_FIRST: /* setup first point */ - Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = Crosshair.X; - Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = Crosshair.Y; - Crosshair.AttachedBox.State = STATE_SECOND; - break; - - case STATE_SECOND: /* setup second point */ - Crosshair.AttachedBox.State = STATE_THIRD; - break; - } - notify_crosshair_change(true); -} - - -/* --------------------------------------------------------------------------- - * - * does what's appropriate for the current mode setting. This normally - * means creation of an object at the current crosshair location. - * - * new created objects are added to the create undo list of course - */ -void NotifyMode(void) -{ - void *ptr1, *ptr2, *ptr3; - int type; - - if (Settings.RatWarn) - ClearWarnings(); - switch (Settings.Mode) { - case ARROW_MODE: - { - int test; - hidval hv; - - Note.Click = true; - /* do something after click time */ - gui->add_timer(click_cb, CLICK_TIME, hv); - - /* see if we clicked on something already selected - * (Note.Moving) or clicked on a MOVE_TYPE - * (Note.Hit) - */ - for (test = (SELECT_TYPES | MOVE_TYPES) & ~RATLINE_TYPE; test; test &= ~type) { - type = SearchScreen(Note.X, Note.Y, test, &ptr1, &ptr2, &ptr3); - if (!Note.Hit && (type & MOVE_TYPES) && !TEST_FLAG(LOCKFLAG, (PinTypePtr) ptr2)) { - Note.Hit = type; - Note.ptr1 = ptr1; - Note.ptr2 = ptr2; - Note.ptr3 = ptr3; - } - if (!Note.Moving && (type & SELECT_TYPES) && TEST_FLAG(SELECTEDFLAG, (PinTypePtr) ptr2)) - Note.Moving = true; - if ((Note.Hit && Note.Moving) || type == NO_TYPE) - break; - } - break; - } - - case VIA_MODE: - { - PinTypePtr via; - - if (!PCB->ViaOn) { - Message(_("You must turn via visibility on before\n" "you can place vias\n")); - break; - } - if ((via = CreateNewVia(PCB->Data, Note.X, Note.Y, - Settings.ViaThickness, 2 * Settings.Keepaway, - 0, Settings.ViaDrillingHole, NULL, NoFlags())) != NULL) { - AddObjectToCreateUndoList(VIA_TYPE, via, via, via); - if (gui->shift_is_pressed()) - ChangeObjectThermal(VIA_TYPE, via, via, via, PCB->ThermStyle); - IncrementUndoSerialNumber(); - DrawVia(via); - Draw(); - } - break; - } - - case ARC_MODE: - { - switch (Crosshair.AttachedBox.State) { - case STATE_FIRST: - Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = Note.X; - Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = Note.Y; - Crosshair.AttachedBox.State = STATE_SECOND; - break; - - case STATE_SECOND: - case STATE_THIRD: - { - ArcTypePtr arc; - Coord wx, wy; - Angle sa, dir; - - wx = Note.X - Crosshair.AttachedBox.Point1.X; - wy = Note.Y - Crosshair.AttachedBox.Point1.Y; - if (XOR(Crosshair.AttachedBox.otherway, abs(wy) > abs(wx))) { - Crosshair.AttachedBox.Point2.X = Crosshair.AttachedBox.Point1.X + abs(wy) * SGNZ(wx); - sa = (wx >= 0) ? 0 : 180; -#ifdef ARC45 - if (abs(wy) / 2 >= abs(wx)) - dir = (SGNZ(wx) == SGNZ(wy)) ? 45 : -45; - else -#endif - dir = (SGNZ(wx) == SGNZ(wy)) ? 90 : -90; - } - else { - Crosshair.AttachedBox.Point2.Y = Crosshair.AttachedBox.Point1.Y + abs(wx) * SGNZ(wy); - sa = (wy >= 0) ? -90 : 90; -#ifdef ARC45 - if (abs(wx) / 2 >= abs(wy)) - dir = (SGNZ(wx) == SGNZ(wy)) ? -45 : 45; - else -#endif - dir = (SGNZ(wx) == SGNZ(wy)) ? -90 : 90; - wy = wx; - } - if (abs(wy) > 0 && (arc = CreateNewArcOnLayer(CURRENT, - Crosshair.AttachedBox.Point2.X, - Crosshair.AttachedBox.Point2.Y, - abs(wy), - abs(wy), - sa, - dir, - Settings.LineThickness, - 2 * Settings.Keepaway, - MakeFlags(TEST_FLAG(CLEARNEWFLAG, PCB) ? CLEARLINEFLAG : 0)))) { - BoxTypePtr bx; - - bx = GetArcEnds(arc); - Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = bx->X2; - Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = bx->Y2; - AddObjectToCreateUndoList(ARC_TYPE, CURRENT, arc, arc); - IncrementUndoSerialNumber(); - addedLines++; - DrawArc(CURRENT, arc); - Draw(); - Crosshair.AttachedBox.State = STATE_THIRD; - } - break; - } - } - break; - } - case LOCK_MODE: - { - type = SearchScreen(Note.X, Note.Y, LOCK_TYPES, &ptr1, &ptr2, &ptr3); - if (type == ELEMENT_TYPE) { - ElementTypePtr element = (ElementTypePtr) ptr2; - - TOGGLE_FLAG(LOCKFLAG, element); - PIN_LOOP(element); - { - TOGGLE_FLAG(LOCKFLAG, pin); - CLEAR_FLAG(SELECTEDFLAG, pin); - } - END_LOOP; - PAD_LOOP(element); - { - TOGGLE_FLAG(LOCKFLAG, pad); - CLEAR_FLAG(SELECTEDFLAG, pad); - } - END_LOOP; - CLEAR_FLAG(SELECTEDFLAG, element); - /* always re-draw it since I'm too lazy - * to tell if a selected flag changed - */ - DrawElement(element); - Draw(); - hid_actionl("Report", "Object", NULL); - } - else if (type != NO_TYPE) { - TextTypePtr thing = (TextTypePtr) ptr3; - TOGGLE_FLAG(LOCKFLAG, thing); - if (TEST_FLAG(LOCKFLAG, thing) - && TEST_FLAG(SELECTEDFLAG, thing)) { - /* this is not un-doable since LOCK isn't */ - CLEAR_FLAG(SELECTEDFLAG, thing); - DrawObject(type, ptr1, ptr2); - Draw(); - } - hid_actionl("Report", "Object", NULL); - } - break; - } - case THERMAL_MODE: - { - if (((type = SearchScreen(Note.X, Note.Y, PIN_TYPES, &ptr1, &ptr2, &ptr3)) != NO_TYPE) - && !TEST_FLAG(HOLEFLAG, (PinTypePtr) ptr3)) { - if (gui->shift_is_pressed()) { - int tstyle = GET_THERM(INDEXOFCURRENT, (PinTypePtr) ptr3); - tstyle++; - if (tstyle > 5) - tstyle = 1; - ChangeObjectThermal(type, ptr1, ptr2, ptr3, tstyle); - } - else if (GET_THERM(INDEXOFCURRENT, (PinTypePtr) ptr3)) - ChangeObjectThermal(type, ptr1, ptr2, ptr3, 0); - else - ChangeObjectThermal(type, ptr1, ptr2, ptr3, PCB->ThermStyle); - } - break; - } - - case LINE_MODE: - /* do update of position */ - NotifyLine(); - if (Crosshair.AttachedLine.State != STATE_THIRD) - break; - - /* Remove anchor if clicking on start point; - * this means we can't paint 0 length lines - * which could be used for square SMD pads. - * Instead use a very small delta, or change - * the file after saving. - */ - if (Crosshair.X == Crosshair.AttachedLine.Point1.X && Crosshair.Y == Crosshair.AttachedLine.Point1.Y) { - SetMode(LINE_MODE); - break; - } - - if (PCB->RatDraw) { - RatTypePtr line; - if ((line = AddNet())) { - addedLines++; - AddObjectToCreateUndoList(RATLINE_TYPE, line, line, line); - IncrementUndoSerialNumber(); - DrawRat(line); - Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; - Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; - Draw(); - } - break; - } - else - /* create line if both ends are determined && length != 0 */ - { - LineTypePtr line; - int maybe_found_flag; - - if (PCB->Clipping - && Crosshair.AttachedLine.Point1.X == - Crosshair.AttachedLine.Point2.X - && Crosshair.AttachedLine.Point1.Y == - Crosshair.AttachedLine.Point2.Y - && (Crosshair.AttachedLine.Point2.X != Note.X || Crosshair.AttachedLine.Point2.Y != Note.Y)) { - /* We will only need to paint the second line segment. - Since we only check for vias on the first segment, - swap them so the non-empty segment is the first segment. */ - Crosshair.AttachedLine.Point2.X = Note.X; - Crosshair.AttachedLine.Point2.Y = Note.Y; - } - - if (TEST_FLAG(AUTODRCFLAG, PCB) - && !TEST_SILK_LAYER(CURRENT)) - maybe_found_flag = FOUNDFLAG; - else - maybe_found_flag = 0; - - if ((Crosshair.AttachedLine.Point1.X != - Crosshair.AttachedLine.Point2.X || Crosshair.AttachedLine.Point1.Y != Crosshair.AttachedLine.Point2.Y) - && (line = - CreateDrawnLineOnLayer(CURRENT, - Crosshair.AttachedLine.Point1.X, - Crosshair.AttachedLine.Point1.Y, - Crosshair.AttachedLine.Point2.X, - Crosshair.AttachedLine.Point2.Y, - Settings.LineThickness, - 2 * Settings.Keepaway, - MakeFlags(maybe_found_flag | - (TEST_FLAG(CLEARNEWFLAG, PCB) ? CLEARLINEFLAG : 0)))) != NULL) { - PinTypePtr via; - - addedLines++; - AddObjectToCreateUndoList(LINE_TYPE, CURRENT, line, line); - DrawLine(CURRENT, line); - /* place a via if vias are visible, the layer is - in a new group since the last line and there - isn't a pin already here */ - if (PCB->ViaOn && GetLayerGroupNumberByPointer(CURRENT) != - GetLayerGroupNumberByPointer(lastLayer) && - SearchObjectByLocation(PIN_TYPES, &ptr1, &ptr2, &ptr3, - Crosshair.AttachedLine.Point1.X, - Crosshair.AttachedLine.Point1.Y, - Settings.ViaThickness / 2) == - NO_TYPE - && (via = - CreateNewVia(PCB->Data, - Crosshair.AttachedLine.Point1.X, - Crosshair.AttachedLine.Point1.Y, - Settings.ViaThickness, - 2 * Settings.Keepaway, 0, Settings.ViaDrillingHole, NULL, NoFlags())) != NULL) { - AddObjectToCreateUndoList(VIA_TYPE, via, via, via); - DrawVia(via); - } - /* copy the coordinates */ - Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; - Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; - IncrementUndoSerialNumber(); - lastLayer = CURRENT; - } - if (PCB->Clipping && (Note.X != Crosshair.AttachedLine.Point2.X || Note.Y != Crosshair.AttachedLine.Point2.Y) - && (line = - CreateDrawnLineOnLayer(CURRENT, - Crosshair.AttachedLine.Point2.X, - Crosshair.AttachedLine.Point2.Y, - Note.X, Note.Y, - Settings.LineThickness, - 2 * Settings.Keepaway, - MakeFlags((TEST_FLAG - (AUTODRCFLAG, - PCB) ? FOUNDFLAG : 0) | - (TEST_FLAG(CLEARNEWFLAG, PCB) ? CLEARLINEFLAG : 0)))) != NULL) { - addedLines++; - AddObjectToCreateUndoList(LINE_TYPE, CURRENT, line, line); - IncrementUndoSerialNumber(); - DrawLine(CURRENT, line); - /* move to new start point */ - Crosshair.AttachedLine.Point1.X = Note.X; - Crosshair.AttachedLine.Point1.Y = Note.Y; - Crosshair.AttachedLine.Point2.X = Note.X; - Crosshair.AttachedLine.Point2.Y = Note.Y; - if (TEST_FLAG(SWAPSTARTDIRFLAG, PCB)) { - PCB->Clipping ^= 3; - } - } - Draw(); - } - break; - - case RECTANGLE_MODE: - /* do update of position */ - NotifyBlock(); - - /* create rectangle if both corners are determined - * and width, height are != 0 - */ - if (Crosshair.AttachedBox.State == STATE_THIRD && - Crosshair.AttachedBox.Point1.X != Crosshair.AttachedBox.Point2.X && - Crosshair.AttachedBox.Point1.Y != Crosshair.AttachedBox.Point2.Y) { - PolygonTypePtr polygon; - - int flags = CLEARPOLYFLAG; - if (TEST_FLAG(NEWFULLPOLYFLAG, PCB)) - flags |= FULLPOLYFLAG; - if ((polygon = CreateNewPolygonFromRectangle(CURRENT, - Crosshair.AttachedBox.Point1.X, - Crosshair.AttachedBox.Point1.Y, - Crosshair.AttachedBox.Point2.X, - Crosshair.AttachedBox.Point2.Y, MakeFlags(flags))) != NULL) { - AddObjectToCreateUndoList(POLYGON_TYPE, CURRENT, polygon, polygon); - IncrementUndoSerialNumber(); - DrawPolygon(CURRENT, polygon); - Draw(); - } - - /* reset state to 'first corner' */ - Crosshair.AttachedBox.State = STATE_FIRST; - } - break; - - case TEXT_MODE: - { - char *string; - - if ((string = gui->prompt_for(_("Enter text:"), "")) != NULL) { - if (strlen(string) > 0) { - TextTypePtr text; - int flag = CLEARLINEFLAG; - - if (GetLayerGroupNumberByNumber(INDEXOFCURRENT) == GetLayerGroupNumberByNumber(solder_silk_layer)) - flag |= ONSOLDERFLAG; - if ((text = CreateNewText(CURRENT, &PCB->Font, Note.X, - Note.Y, 0, Settings.TextScale, string, MakeFlags(flag))) != NULL) { - AddObjectToCreateUndoList(TEXT_TYPE, CURRENT, text, text); - IncrementUndoSerialNumber(); - DrawText(CURRENT, text); - Draw(); - } - } - free(string); - } - break; - } - - case POLYGON_MODE: - { - PointTypePtr points = Crosshair.AttachedPolygon.Points; - Cardinal n = Crosshair.AttachedPolygon.PointN; - - /* do update of position; use the 'LINE_MODE' mechanism */ - NotifyLine(); - - /* check if this is the last point of a polygon */ - if (n >= 3 && points->X == Crosshair.AttachedLine.Point2.X && points->Y == Crosshair.AttachedLine.Point2.Y) { - CopyAttachedPolygonToLayer(); - Draw(); - break; - } - - /* create new point if it's the first one or if it's - * different to the last one - */ - if (!n || points[n - 1].X != Crosshair.AttachedLine.Point2.X || points[n - 1].Y != Crosshair.AttachedLine.Point2.Y) { - CreateNewPointInPolygon(&Crosshair.AttachedPolygon, Crosshair.AttachedLine.Point2.X, Crosshair.AttachedLine.Point2.Y); - - /* copy the coordinates */ - Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; - Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; - } - break; - } - - case POLYGONHOLE_MODE: - { - switch (Crosshair.AttachedObject.State) { - /* first notify, lookup object */ - case STATE_FIRST: - Crosshair.AttachedObject.Type = - SearchScreen(Note.X, Note.Y, POLYGON_TYPE, - &Crosshair.AttachedObject.Ptr1, &Crosshair.AttachedObject.Ptr2, &Crosshair.AttachedObject.Ptr3); - - if (Crosshair.AttachedObject.Type != NO_TYPE) { - if (TEST_FLAG(LOCKFLAG, (PolygonTypePtr) - Crosshair.AttachedObject.Ptr2)) { - Message(_("Sorry, the object is locked\n")); - Crosshair.AttachedObject.Type = NO_TYPE; - break; - } - else - Crosshair.AttachedObject.State = STATE_SECOND; - } - break; - - /* second notify, insert new point into object */ - case STATE_SECOND: - { - PointTypePtr points = Crosshair.AttachedPolygon.Points; - Cardinal n = Crosshair.AttachedPolygon.PointN; - POLYAREA *original, *new_hole, *result; - FlagType Flags; - - /* do update of position; use the 'LINE_MODE' mechanism */ - NotifyLine(); - - /* check if this is the last point of a polygon */ - if (n >= 3 && points->X == Crosshair.AttachedLine.Point2.X && points->Y == Crosshair.AttachedLine.Point2.Y) { - /* Create POLYAREAs from the original polygon - * and the new hole polygon */ - original = PolygonToPoly((PolygonType *) Crosshair.AttachedObject.Ptr2); - new_hole = PolygonToPoly(&Crosshair.AttachedPolygon); - - /* Subtract the hole from the original polygon shape */ - poly_Boolean_free(original, new_hole, &result, PBO_SUB); - - /* Convert the resulting polygon(s) into a new set of nodes - * and place them on the page. Delete the original polygon. - */ - SaveUndoSerialNumber(); - Flags = ((PolygonType *) Crosshair.AttachedObject.Ptr2)->Flags; - PolyToPolygonsOnLayer(PCB->Data, (LayerType *) Crosshair.AttachedObject.Ptr1, result, Flags); - RemoveObject(POLYGON_TYPE, - Crosshair.AttachedObject.Ptr1, Crosshair.AttachedObject.Ptr2, Crosshair.AttachedObject.Ptr3); - RestoreUndoSerialNumber(); - IncrementUndoSerialNumber(); - Draw(); - - /* reset state of attached line */ - memset(&Crosshair.AttachedPolygon, 0, sizeof(PolygonType)); - Crosshair.AttachedLine.State = STATE_FIRST; - addedLines = 0; - - break; - } - - /* create new point if it's the first one or if it's - * different to the last one - */ - if (!n || points[n - 1].X != Crosshair.AttachedLine.Point2.X || points[n - 1].Y != Crosshair.AttachedLine.Point2.Y) { - CreateNewPointInPolygon(&Crosshair.AttachedPolygon, - Crosshair.AttachedLine.Point2.X, Crosshair.AttachedLine.Point2.Y); - - /* copy the coordinates */ - Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; - Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; - } - break; - } - } - - break; - } - - case PASTEBUFFER_MODE: - { - TextType estr[MAX_ELEMENTNAMES]; - ElementTypePtr e = 0; - - if (gui->shift_is_pressed()) { - int type = SearchScreen(Note.X, Note.Y, ELEMENT_TYPE, &ptr1, &ptr2, - &ptr3); - if (type == ELEMENT_TYPE) { - e = (ElementTypePtr) ptr1; - if (e) { - int i; - - memcpy(estr, e->Name, MAX_ELEMENTNAMES * sizeof(TextType)); - for (i = 0; i < MAX_ELEMENTNAMES; ++i) - estr[i].TextString = estr[i].TextString ? strdup(estr[i].TextString) : NULL; - RemoveElement(e); - } - } - } - if (CopyPastebufferToLayout(Note.X, Note.Y)) - SetChangedFlag(true); - if (e) { - int type = SearchScreen(Note.X, Note.Y, ELEMENT_TYPE, &ptr1, &ptr2, - &ptr3); - if (type == ELEMENT_TYPE && ptr1) { - int i, save_n; - e = (ElementTypePtr) ptr1; - - save_n = NAME_INDEX(PCB); - - for (i = 0; i < MAX_ELEMENTNAMES; i++) { - if (i == save_n) - EraseElementName(e); - r_delete_entry(PCB->Data->name_tree[i], (BoxType *) & (e->Name[i])); - memcpy(&(e->Name[i]), &(estr[i]), sizeof(TextType)); - e->Name[i].Element = e; - SetTextBoundingBox(&PCB->Font, &(e->Name[i])); - r_insert_entry(PCB->Data->name_tree[i], (BoxType *) & (e->Name[i]), 0); - if (i == save_n) - DrawElementName(e); - } - } - } - break; - } - - case REMOVE_MODE: - if ((type = SearchScreen(Note.X, Note.Y, REMOVE_TYPES, &ptr1, &ptr2, &ptr3)) != NO_TYPE) { - if (TEST_FLAG(LOCKFLAG, (LineTypePtr) ptr2)) { - Message(_("Sorry, the object is locked\n")); - break; - } - if (type == ELEMENT_TYPE) { - RubberbandTypePtr ptr; - int i; - - Crosshair.AttachedObject.RubberbandN = 0; - LookupRatLines(type, ptr1, ptr2, ptr3); - ptr = Crosshair.AttachedObject.Rubberband; - for (i = 0; i < Crosshair.AttachedObject.RubberbandN; i++) { - if (PCB->RatOn) - EraseRat((RatTypePtr) ptr->Line); - if (TEST_FLAG(RUBBERENDFLAG, ptr->Line)) - MoveObjectToRemoveUndoList(RATLINE_TYPE, ptr->Line, ptr->Line, ptr->Line); - else - TOGGLE_FLAG(RUBBERENDFLAG, ptr->Line); /* only remove line once */ - ptr++; - } - } - RemoveObject(type, ptr1, ptr2, ptr3); - IncrementUndoSerialNumber(); - SetChangedFlag(true); - } - break; - - case ROTATE_MODE: - RotateScreenObject(Note.X, Note.Y, gui->shift_is_pressed()? (SWAP_IDENT ? 1 : 3) - : (SWAP_IDENT ? 3 : 1)); - break; - - /* both are almost the same */ - case COPY_MODE: - case MOVE_MODE: - switch (Crosshair.AttachedObject.State) { - /* first notify, lookup object */ - case STATE_FIRST: - { - int types = (Settings.Mode == COPY_MODE) ? COPY_TYPES : MOVE_TYPES; - - Crosshair.AttachedObject.Type = - SearchScreen(Note.X, Note.Y, types, - &Crosshair.AttachedObject.Ptr1, &Crosshair.AttachedObject.Ptr2, &Crosshair.AttachedObject.Ptr3); - if (Crosshair.AttachedObject.Type != NO_TYPE) { - if (Settings.Mode == MOVE_MODE && TEST_FLAG(LOCKFLAG, (PinTypePtr) - Crosshair.AttachedObject.Ptr2)) { - Message(_("Sorry, the object is locked\n")); - Crosshair.AttachedObject.Type = NO_TYPE; - } - else - AttachForCopy(Note.X, Note.Y); - } - break; - } - - /* second notify, move or copy object */ - case STATE_SECOND: - if (Settings.Mode == COPY_MODE) - CopyObject(Crosshair.AttachedObject.Type, - Crosshair.AttachedObject.Ptr1, - Crosshair.AttachedObject.Ptr2, - Crosshair.AttachedObject.Ptr3, Note.X - Crosshair.AttachedObject.X, Note.Y - Crosshair.AttachedObject.Y); - else { - MoveObjectAndRubberband(Crosshair.AttachedObject.Type, - Crosshair.AttachedObject.Ptr1, - Crosshair.AttachedObject.Ptr2, - Crosshair.AttachedObject.Ptr3, - Note.X - Crosshair.AttachedObject.X, Note.Y - Crosshair.AttachedObject.Y); - SetLocalRef(0, 0, false); - } - SetChangedFlag(true); - - /* reset identifiers */ - Crosshair.AttachedObject.Type = NO_TYPE; - Crosshair.AttachedObject.State = STATE_FIRST; - break; - } - break; - - /* insert a point into a polygon/line/... */ - case INSERTPOINT_MODE: - switch (Crosshair.AttachedObject.State) { - /* first notify, lookup object */ - case STATE_FIRST: - Crosshair.AttachedObject.Type = - SearchScreen(Note.X, Note.Y, INSERT_TYPES, - &Crosshair.AttachedObject.Ptr1, &Crosshair.AttachedObject.Ptr2, &Crosshair.AttachedObject.Ptr3); - - if (Crosshair.AttachedObject.Type != NO_TYPE) { - if (TEST_FLAG(LOCKFLAG, (PolygonTypePtr) - Crosshair.AttachedObject.Ptr2)) { - Message(_("Sorry, the object is locked\n")); - Crosshair.AttachedObject.Type = NO_TYPE; - break; - } - else { - /* get starting point of nearest segment */ - if (Crosshair.AttachedObject.Type == POLYGON_TYPE) { - fake.poly = (PolygonTypePtr) Crosshair.AttachedObject.Ptr2; - polyIndex = GetLowestDistancePolygonPoint(fake.poly, Note.X, Note.Y); - fake.line.Point1 = fake.poly->Points[polyIndex]; - fake.line.Point2 = fake.poly->Points[prev_contour_point(fake.poly, polyIndex)]; - Crosshair.AttachedObject.Ptr2 = &fake.line; - - } - Crosshair.AttachedObject.State = STATE_SECOND; - InsertedPoint = *AdjustInsertPoint(); - } - } - break; - - /* second notify, insert new point into object */ - case STATE_SECOND: - if (Crosshair.AttachedObject.Type == POLYGON_TYPE) - InsertPointIntoObject(POLYGON_TYPE, - Crosshair.AttachedObject.Ptr1, fake.poly, - &polyIndex, InsertedPoint.X, InsertedPoint.Y, false, false); - else - InsertPointIntoObject(Crosshair.AttachedObject.Type, - Crosshair.AttachedObject.Ptr1, - Crosshair.AttachedObject.Ptr2, &polyIndex, InsertedPoint.X, InsertedPoint.Y, false, false); - SetChangedFlag(true); - - /* reset identifiers */ - Crosshair.AttachedObject.Type = NO_TYPE; - Crosshair.AttachedObject.State = STATE_FIRST; - break; - } - break; - } -} - -/* --------------------------------------------------------------------------- - * !!! no action routine !!! - * - * event handler to set the cursor according to the X pointer position - * called from inside main.c - */ -void EventMoveCrosshair(int ev_x, int ev_y) -{ - if (mid_stroke) - stub_stroke_record(ev_x, ev_y); - if (MoveCrosshairAbsolute(ev_x, ev_y)) { - /* update object position and cursor location */ - AdjustAttachedObjects(); - notify_crosshair_change(true); - } -} - -/* --------------------------------------------------------------------------- */ -/* helper: get route style size for a function and selected object type. - size_id: 0=main size; 1=2nd size (drill); 2=clearance */ -int get_style_size(int funcid, Coord * out, int type, int size_id) -{ - switch (funcid) { - case F_Object: - switch (type) { - case ELEMENT_TYPE: /* we'd set pin/pad properties, so fall thru */ - case VIA_TYPE: - case PIN_TYPE: - return get_style_size(F_SelectedVias, out, 0, size_id); - case PAD_TYPE: - return get_style_size(F_SelectedPads, out, 0, size_id); - case LINE_TYPE: - return get_style_size(F_SelectedLines, out, 0, size_id); - case ARC_TYPE: - return get_style_size(F_SelectedArcs, out, 0, size_id); - } - Message(_("Sorry, can't fetch the style of that object tpye (%x)\n"), type); - return -1; - case F_SelectedPads: - if (size_id != 2) /* don't mess with pad size */ - return -1; - case F_SelectedVias: - case F_SelectedPins: - case F_SelectedObjects: - case F_Selected: - case F_SelectedElements: - if (size_id == 0) - *out = Settings.ViaThickness; - else if (size_id == 1) - *out = Settings.ViaDrillingHole; - else - *out = Settings.Keepaway; - break; - case F_SelectedArcs: - case F_SelectedLines: - if (size_id == 2) - *out = Settings.Keepaway; - else - *out = Settings.LineThickness; - return 0; - case F_SelectedTexts: - case F_SelectedNames: - Message(_("Sorry, can't change style of every selected object\n")); - return -1; - } - return 0; -} - -/* --------------------------------------------------------------------------- */ - -static const char executefile_syntax[] = "ExecuteFile(filename)"; - -static const char executefile_help[] = "Run actions from the given file."; - -/* %start-doc actions ExecuteFile - -Lines starting with @code{#} are ignored. - -%end-doc */ - -int ActionExecuteFile(int argc, char **argv, Coord x, Coord y) -{ - FILE *fp; - char *fname; - char line[256]; - int n = 0; - char *sp; - - if (argc != 1) - AFAIL(executefile); - - fname = argv[0]; - - if ((fp = fopen(fname, "r")) == NULL) { - fprintf(stderr, _("Could not open actions file \"%s\".\n"), fname); - return 1; - } - - defer_updates = 1; - defer_needs_update = 0; - while (fgets(line, sizeof(line), fp) != NULL) { - n++; - sp = line; - - /* eat the trailing newline */ - while (*sp && *sp != '\r' && *sp != '\n') - sp++; - *sp = '\0'; - - /* eat leading spaces and tabs */ - sp = line; - while (*sp && (*sp == ' ' || *sp == '\t')) - sp++; - - /* - * if we have anything left and its not a comment line - * then execute it - */ - - if (*sp && *sp != '#') { - /*Message ("%s : line %-3d : \"%s\"\n", fname, n, sp); */ - hid_parse_actions(sp); - } - } - - defer_updates = 0; - if (defer_needs_update) { - IncrementUndoSerialNumber(); - gui->invalidate_all(); - } - fclose(fp); - return 0; -} - -/* --------------------------------------------------------------------------- */ - -HID_Action action_action_list[] = { - {"ExecuteFile", 0, ActionExecuteFile, - executefile_help, executefile_syntax} -}; - -REGISTER_ACTIONS(action_action_list, NULL) Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 1357) +++ trunk/src/Makefile.dep (revision 1358) @@ -1,1574 +1,2 @@ ### Generated file, do not edit, run make dep ### -action.o: action.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h action.h buffer.h change.h copy.h create.h \ - crosshair.h data.h draw.h error.h find.h insert.h line.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h move.h polygon.h rats.h remove.h \ - rotate.h rubberband.h search.h select.h set.h undo.h rtree.h \ - stub_stroke.h funchash_core.h funchash.h funchash_core_list.h -buffer.o: buffer.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h action.h buffer.h copy.h create.h crosshair.h \ - data.h error.h file.h mymem.h mirror.h misc.h \ - ../src_3rd/genvector/gds_char.h parse_l.h polygon.h rats.h rotate.h \ - remove.h rtree.h search.h select.h set.h funchash_core.h funchash.h \ - funchash_core_list.h -change.o: change.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h change.h create.h crosshair.h data.h draw.h \ - error.h mymem.h misc.h ../src_3rd/genvector/gds_char.h mirror.h \ - polygon.h rats.h remove.h rtree.h search.h select.h set.h thermal.h \ - undo.h -change_act.o: change_act.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h funchash_core.h funchash.h \ - funchash_core_list.h action.h change.h crosshair.h draw.h search.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h set.h error.h undo.h \ - rubberband.h -clip.o: clip.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h draw.h mymem.h -command.o: command.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h action.h buffer.h command.h data.h error.h \ - file.h mymem.h misc.h ../src_3rd/genvector/gds_char.h rats.h set.h -compat.o: compat.c ../config.h ../config.manual.h ../config.auto.h \ - compat.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h -copy.o: copy.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h copy.h create.h data.h draw.h mymem.h \ - mirror.h misc.h ../src_3rd/genvector/gds_char.h move.h polygon.h rats.h \ - rtree.h select.h undo.h -create.o: create.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h data.h draw.h error.h mymem.h misc.h \ - ../src_3rd/genvector/gds_char.h parse_l.h pcb-printf.h polygon.h rtree.h \ - search.h set.h undo.h file.h stub_vendor.h -crosshair.o: crosshair.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h box.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h crosshair.h data.h draw.h error.h line.h rtree.h search.h \ - polygon.h -data.o: data.c ../config.h ../config.manual.h ../config.auto.h data.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h -draw.o: draw.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h compat.h crosshair.h data.h draw.h error.h \ - mymem.h misc.h ../src_3rd/genvector/gds_char.h rotate.h rtree.h search.h \ - select.h print.h -drill.o: drill.c ../config.h ../config.manual.h ../config.auto.h data.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h mymem.h -error.o: error.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h error.h file.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h -event.o: event.c event.h error.h -file.o: file.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h buffer.h change.h create.h crosshair.h data.h \ - error.h file.h misc.h ../src_3rd/genvector/gds_char.h mymem.h move.h \ - parse_l.h pcb-printf.h polygon.h rats.h remove.h set.h strflags.h \ - portability.h paths.h rats_patch.h stub_edif.h -file_act.o: file_act.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h \ - crosshair.h set.h file.h buffer.h mymem.h misc.h \ - ../src_3rd/genvector/gds_char.h remove.h create.h draw.h find.h search.h -find.o: find.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h crosshair.h data.h draw.h error.h find.h \ - mymem.h misc.h ../src_3rd/genvector/gds_char.h rtree.h polygon.h \ - pcb-printf.h search.h set.h undo.h rats.h file.h -find_act.o: find_act.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h \ - find.h pcb-printf.h ../src_3rd/genvector/gds_char.h -flags.o: flags.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h pcb-printf.h \ - ../src_3rd/genvector/gds_char.h -free_atexit.o: free_atexit.c -funchash.o: funchash.c ../src_3rd/genht/htpi.h ../src_3rd/genht/ht.h \ - ../src_3rd/genht/ht_inlines.h ../src_3rd/genht/hash.h funchash_core.h \ - funchash.h funchash_core_list.h macro.h -gui_act.o: gui_act.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h \ - funchash_core.h funchash.h funchash_core_list.h draw.h search.h \ - crosshair.h find.h set.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - stub_stroke.h -heap.o: heap.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h heap.h -insert.o: insert.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h copy.h create.h crosshair.h data.h draw.h \ - insert.h line.h misc.h ../src_3rd/genvector/gds_char.h mymem.h move.h \ - polygon.h rtree.h search.h select.h set.h undo.h -intersect.o: intersect.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h intersect.h mymem.h -line.o: line.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h crosshair.h find.h line.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h rtree.h -list_arc.o: list_arc.c global_objs.h ../src_3rd/genlist/gendlist.h \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_arc.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_element.o: list_element.c global.h ../config.h ../config.manual.h \ - ../config.auto.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_3rd/genlist/gentdlist_impl.c -list_line.o: list_line.c global_objs.h ../src_3rd/genlist/gendlist.h \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_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 -list_text.o: list_text.c global_objs.h ../src_3rd/genlist/gendlist.h \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_text.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_pad.o: list_pad.c global_objs.h ../src_3rd/genlist/gendlist.h \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_pad.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_pin.o: list_pin.c global_objs.h ../src_3rd/genlist/gendlist.h \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_pin.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 \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_poly.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_rat.o: list_rat.c global_objs.h ../src_3rd/genlist/gendlist.h \ - ../config.h ../config.manual.h ../config.auto.h ../globalconst.h \ - ../config.h global_typedefs.h polyarea.h list_rat.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.c -lrealpath.o: lrealpath.c ../config.h ../config.manual.h ../config.auto.h \ - lrealpath.h -main.o: main.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h buffer.h create.h crosshair.h draw.h \ - error.h file.h set.h action.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h lrealpath.h free_atexit.h polygon.h pcb-printf.h buildin.h \ - paths.h strflags.h plugins.h event.h funchash.h hid/common/actions.h \ - hid/hidint.h dolists.h action_list.h -mirror.o: mirror.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h draw.h mirror.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h polygon.h search.h select.h \ - set.h -misc.o: misc.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h box.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h crosshair.h create.h data.h draw.h file.h error.h move.h \ - pcb-printf.h polygon.h remove.h rtree.h rotate.h rubberband.h search.h \ - set.h undo.h action.h portability.h -move.o: move.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h crosshair.h data.h draw.h error.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h move.h polygon.h rtree.h \ - search.h select.h thermal.h undo.h -mymem.o: mymem.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h error.h mymem.h misc.h \ - ../src_3rd/genvector/gds_char.h rats.h rtree.h rats_patch.h -netlist.o: netlist.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h action.h buffer.h command.h data.h error.h \ - file.h find.h mymem.h misc.h ../src_3rd/genvector/gds_char.h rats.h \ - set.h create.h rats_patch.h -object_act.o: object_act.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h \ - funchash_core.h funchash.h funchash_core_list.h search.h move.h draw.h \ - mirror.h rotate.h set.h copy.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h rubberband.h buffer.h remove.h create.h -paths.o: paths.c paths.h error.h -pcb-printf.o: pcb-printf.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h pcb-printf.h ../src_3rd/genvector/gds_char.h -plugins.o: plugins.c plugins.h ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h \ - ../src_3rd/genvector/gds_char.h -polygon.o: polygon.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h box.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h create.h crosshair.h data.h draw.h error.h find.h move.h \ - pcb-printf.h polygon.h remove.h rtree.h search.h set.h thermal.h undo.h -polygon1.o: polygon1.c global.h ../config.h ../config.manual.h \ - ../config.auto.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h rtree.h heap.h -polygon_act.o: polygon_act.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h \ - funchash_core.h funchash.h funchash_core_list.h polygon.h draw.h \ - search.h crosshair.h -print.o: print.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h draw.h drill.h file.h find.h error.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h print.h polygon.h rtree.h \ - search.h -rats.o: rats.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h data.h draw.h error.h file.h find.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h polygon.h rats.h search.h \ - set.h undo.h stub_mincut.h -rats_act.o: rats_act.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h set.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h find.h remove.h \ - funchash_core.h funchash.h funchash_core_list.h rats.h draw.h -rats_patch.o: rats_patch.c rats_patch.h global.h ../config.h \ - ../config.manual.h ../config.auto.h const.h ../globalconst.h ../config.h \ - macro.h global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h \ - polyarea.h list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.h \ - ../src_3rd/genht/ht_inlines.h ../src_3rd/genht/hash.h create.h data.h \ - action.h error.h buffer.h remove.h copy.h -remove.o: remove.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h draw.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h move.h polygon.h rats.h remove.h \ - rtree.h search.h select.h set.h undo.h -remove_act.o: remove_act.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h set.h \ - remove.h funchash_core.h funchash.h funchash_core_list.h -report.o: report.c ../config.h ../config.manual.h ../config.auto.h \ - report.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h crosshair.h data.h drill.h error.h search.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h rats.h rtree.h strflags.h \ - undo.h find.h draw.h pcb-printf.h -rotate.o: rotate.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h crosshair.h data.h draw.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h polygon.h rotate.h rtree.h \ - rubberband.h search.h select.h set.h undo.h -rtree.o: rtree.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h mymem.h rtree.h -rubberband.o: rubberband.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h data.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h polygon.h rubberband.h rtree.h \ - search.h -search.o: search.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h box.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h data.h draw.h error.h find.h polygon.h rtree.h search.h -select.o: select.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h draw.h error.h search.h select.h \ - undo.h rats.h misc.h ../src_3rd/genvector/gds_char.h mymem.h find.h -select_act.o: select_act.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h undo.h \ - funchash_core.h funchash.h funchash_core_list.h search.h select.h \ - crosshair.h set.h buffer.h draw.h remove.h copy.h -set.o: set.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h action.h buffer.h compat.h crosshair.h data.h \ - draw.h error.h find.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - set.h undo.h -strflags.o: strflags.c ../config.h ../config.manual.h ../config.auto.h \ - ../globalconst.h ../config.h global.h const.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h compat.h strflags.h -stub_edif.o: stub_edif.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h stub_edif.h -stub_mincut.o: stub_mincut.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h data.h stub_mincut.h -stub_stroke.o: stub_stroke.c error.h -stub_vendor.o: stub_vendor.c stub_vendor.h ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h -thermal.o: thermal.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h data.h draw.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h move.h polygon.h rtree.h \ - thermal.h undo.h -undo.o: undo.c ../config.h ../config.manual.h ../config.auto.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h buffer.h change.h create.h data.h draw.h \ - error.h insert.h misc.h ../src_3rd/genvector/gds_char.h mymem.h mirror.h \ - move.h polygon.h remove.h rotate.h rtree.h search.h set.h undo.h \ - strflags.h -undo_act.o: undo_act.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h action.h change.h error.h \ - funchash_core.h funchash.h funchash_core_list.h crosshair.h undo.h \ - polygon.h set.h search.h draw.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h -vtonpoint.o: vtonpoint.c vtonpoint.h global_objs.h \ - ../src_3rd/genlist/gendlist.h ../config.h ../config.manual.h \ - ../config.auto.h ../globalconst.h ../config.h global_typedefs.h \ - polyarea.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h \ - ../src_3rd/genvector/genvector_impl.c -actions.o: hid/common/actions.c ../config.h ../config.manual.h \ - ../config.auto.h hid/common/../../../src_3rd/genht/hash.h \ - hid/common/../../../src_3rd/genht/htsp.h \ - hid/common/../../../src_3rd/genht/ht.h \ - hid/common/../../../src_3rd/genht/ht_inlines.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h error.h event.h hid.h \ - hid/common/../hidint.h -flags.o: hid/common/flags.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h hid.h hid/common/../hidint.h \ - ../src_3rd/genht/hash.h ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.h \ - ../src_3rd/genht/ht_inlines.h -hidinit.o: hid/common/hidinit.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hidnogui.h \ - hid/common/../hidint.h compat.h error.h misc.h global.h \ - ../src_3rd/genvector/gds_char.h mymem.h portability.h pcb-printf.h \ - plugins.h hid/common/hidlist.h -hidnogui.o: hid/common/hidnogui.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h -extents.o: hid/common/extents.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h hid.h hid/common/../hidint.h \ - hid/common/draw_helpers.h -draw_helpers.o: hid/common/draw_helpers.c global.h ../config.h \ - ../config.manual.h ../config.auto.h const.h ../globalconst.h ../config.h \ - macro.h global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h \ - polyarea.h list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h polygon.h global.h -hid_resource.o: hid/common/hid_resource.c global.h ../config.h \ - ../config.manual.h ../config.auto.h const.h ../globalconst.h ../config.h \ - macro.h global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h \ - polyarea.h list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h resource.h hid/common/hid_resource.h -res_parse.o: res_parse.c ../config.h ../config.manual.h ../config.auto.h \ - free_atexit.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h resource.h res_parse.h -res_lex.o: res_lex.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h resource.h res_parse.h free_atexit.h -portability.o: portability.c ../config.h ../config.manual.h \ - ../config.auto.h ../src_3rd/genvector/gds_char.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h mymem.h -libpcb_fp.o: libpcb_fp.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h portability.h paths.h \ - ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.h \ - ../src_3rd/genht/ht_inlines.h ../src_3rd/genht/hash.h -parse_y.o: parse_y.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h data.h error.h file.h mymem.h misc.h \ - ../src_3rd/genvector/gds_char.h parse_l.h polygon.h remove.h rtree.h \ - strflags.h thermal.h rats_patch.h parse_y.h -parse_l.o: parse_l.c ../config.h ../config.manual.h ../config.auto.h \ - global.h const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h crosshair.h data.h error.h file.h mymem.h \ - misc.h ../src_3rd/genvector/gds_char.h strflags.h parse_l.h parse_y.h \ - create.h -buildin.o: buildin.c plugins.h buildin.h -hash.o: ../src_3rd/genht/hash.c -htsp.o: ../src_3rd/genht/htsp.c ../src_3rd/genht/htsp.h \ - ../src_3rd/genht/ht.h ../src_3rd/genht/ht_inlines.h \ - ../src_3rd/genht/ht.c -htpi.o: ../src_3rd/genht/htpi.c ../src_3rd/genht/htpi.h \ - ../src_3rd/genht/ht.h ../src_3rd/genht/ht_inlines.h \ - ../src_3rd/genht/ht.c -gds_char.o: ../src_3rd/genvector/gds_char.c \ - ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h \ - ../src_3rd/genvector/genvector_impl.c -ghid-cell-renderer-visibility.o: hid/gtk/ghid-cell-renderer-visibility.c \ - hid/gtk/gtkhid.h hid/gtk/gui.h global.h ../config.h ../config.manual.h \ - ../config.auto.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h hid/gtk/ghid-cell-renderer-visibility.h -ghid-coord-entry.o: hid/gtk/ghid-coord-entry.c hid/gtk/gtkhid.h \ - hid/gtk/gui.h global.h ../config.h ../config.manual.h ../config.auto.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h pcb-printf.h -ghid-layer-selector.o: hid/gtk/ghid-layer-selector.c hid/gtk/gtkhid.h \ - hid/gtk/gui.h global.h ../config.h ../config.manual.h ../config.auto.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h pcb-printf.h \ - hid/gtk/ghid-cell-renderer-visibility.h -ghid-main-menu.o: hid/gtk/ghid-main-menu.c hid/gtk/gtkhid.h hid/gtk/gui.h \ - global.h ../config.h ../config.manual.h ../config.auto.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h pcb-printf.h -ghid-route-style-selector.o: hid/gtk/ghid-route-style-selector.c global.h \ - ../config.h ../config.manual.h ../config.auto.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid/gtk/gtkhid.h hid/gtk/gui.h hid.h \ - hid/common/hid_resource.h resource.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h hid/gtk/ghid-coord-entry.h \ - hid/gtk/ghid-main-menu.h hid/gtk/ghid-layer-selector.h \ - hid/gtk/ghid-route-style-selector.h hid/gtk/gui-pinout-preview.h \ - pcb-printf.h -gtkhid-main.o: hid/gtk/gtkhid-main.c ../config.h ../config.manual.h \ - ../config.auto.h action.h global.h const.h ../globalconst.h ../config.h \ - macro.h global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h \ - polyarea.h list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h crosshair.h error.h hid/gtk/../hidint.h \ - hid/gtk/gui.h global.h hid.h hid/common/hid_resource.h resource.h data.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h hid/common/hidnogui.h \ - hid/common/draw_helpers.h pcb-printf.h dolists.h -gui-command-window.o: hid/gtk/gui-command-window.c ../config.h \ - ../config.manual.h ../config.auto.h hid/gtk/gui.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h command.h crosshair.h -gui-config.o: hid/gtk/gui-config.c ../config.h ../config.manual.h \ - ../config.auto.h hid/gtk/gui.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h hid/gtk/../hidint.h hid/gtk/gtkhid.h \ - action.h change.h file.h error.h draw.h portability.h pcb-printf.h set.h -gui-dialog-print.o: hid/gtk/gui-dialog-print.c ../config.h \ - ../config.manual.h ../config.auto.h hid/gtk/gui.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h pcb-printf.h -gui-dialog.o: hid/gtk/gui-dialog.c ../config.h ../config.manual.h \ - ../config.auto.h data.h global.h const.h ../globalconst.h ../config.h \ - macro.h global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h \ - polyarea.h list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid/gtk/gui.h global.h hid.h \ - hid/common/hid_resource.h resource.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h hid/gtk/ghid-coord-entry.h \ - hid/gtk/ghid-main-menu.h hid/gtk/ghid-layer-selector.h \ - hid/gtk/ghid-route-style-selector.h hid/gtk/gui-pinout-preview.h \ - command.h -gui-drc-window.o: hid/gtk/gui-drc-window.c ../config.h ../config.manual.h \ - ../config.auto.h error.h search.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h draw.h pcb-printf.h \ - ../src_3rd/genvector/gds_char.h undo.h set.h hid/gtk/gui.h global.h \ - hid.h hid/common/hid_resource.h resource.h data.h misc.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h hid/gtk/gui-drc-window.h -gui-keyref-window.o: hid/gtk/gui-keyref-window.c ../config.h \ - ../config.manual.h ../config.auto.h hid/gtk/gui.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h -gui-library-window.o: hid/gtk/gui-library-window.c ../config.h \ - ../config.manual.h ../config.auto.h hid/gtk/gui.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h buffer.h set.h hid/gtk/gui-library-window.h -gui-log-window.o: hid/gtk/gui-log-window.c ../config.h ../config.manual.h \ - ../config.auto.h hid/gtk/gui.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h pcb-printf.h -gui-misc.o: hid/gtk/gui-misc.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h crosshair.h global.h data.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h action.h set.h pcb-printf.h \ - hid/gtk/gui.h hid.h hid/common/hid_resource.h resource.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h -gui-netlist-window.o: hid/gtk/gui-netlist-window.c ../config.h \ - ../config.manual.h ../config.auto.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h global.h data.h draw.h error.h \ - find.h misc.h ../src_3rd/genvector/gds_char.h mymem.h mymem.h rats.h \ - remove.h search.h select.h set.h undo.h hid/gtk/gui.h hid.h \ - hid/common/hid_resource.h resource.h hid/gtk/ghid-coord-entry.h \ - hid/gtk/ghid-main-menu.h hid/gtk/ghid-layer-selector.h \ - hid/gtk/ghid-route-style-selector.h hid/gtk/gui-pinout-preview.h -gui-output-events.o: hid/gtk/gui-output-events.c ../config.h \ - ../config.manual.h ../config.auto.h hid/gtk/gui.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h hid/gtk/gtkhid.h action.h crosshair.h \ - draw.h error.h set.h find.h search.h rats.h -gui-pinout-preview.o: hid/gtk/gui-pinout-preview.c ../config.h \ - ../config.manual.h ../config.auto.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid/gtk/gui.h hid.h hid/common/hid_resource.h \ - resource.h data.h global.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h copy.h draw.h mymem.h move.h rotate.h -gui-pinout-window.o: hid/gtk/gui-pinout-window.c ../config.h \ - ../config.manual.h ../config.auto.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid/gtk/gui.h hid.h hid/common/hid_resource.h \ - resource.h data.h global.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h copy.h draw.h mymem.h move.h rotate.h -gui-top-window.o: hid/gtk/gui-top-window.c ../config.h ../config.manual.h \ - ../config.auto.h hid/gtk/ghid-layer-selector.h \ - hid/gtk/ghid-route-style-selector.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid/gtk/gtkhid.h hid/gtk/gui.h hid.h \ - hid/common/hid_resource.h resource.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h hid/gtk/ghid-coord-entry.h \ - hid/gtk/ghid-main-menu.h hid/gtk/gui-pinout-preview.h \ - hid/gtk/../hidint.h action.h buffer.h change.h command.h copy.h create.h \ - crosshair.h draw.h error.h file.h find.h gpcb-menu.h insert.h line.h \ - mymem.h move.h pcb-printf.h polygon.h rats.h remove.h report.h rotate.h \ - rubberband.h search.h select.h set.h undo.h event.h free_atexit.h \ - paths.h hid/gtk/gui-icons-mode-buttons.data hid/gtk/gui-icons-misc.data -gui-utils.o: hid/gtk/gui-utils.c ../config.h ../config.manual.h \ - ../config.auto.h hid/gtk/gui.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h hid/common/hid_resource.h resource.h \ - data.h global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - hid/gtk/ghid-coord-entry.h hid/gtk/ghid-main-menu.h \ - hid/gtk/ghid-layer-selector.h hid/gtk/ghid-route-style-selector.h \ - hid/gtk/gui-pinout-preview.h -gtkhid-gdk.o: hid/gtk/gtkhid-gdk.c ../config.h ../config.manual.h \ - ../config.auto.h crosshair.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h clip.h hid/gtk/../hidint.h hid/gtk/gui.h \ - global.h hid.h hid/common/hid_resource.h resource.h data.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h hid/gtk/ghid-coord-entry.h \ - hid/gtk/ghid-main-menu.h hid/gtk/ghid-layer-selector.h \ - hid/gtk/ghid-route-style-selector.h hid/gtk/gui-pinout-preview.h \ - hid/common/draw_helpers.h -dialogs.o: hid/lesstif/dialogs.c ../config.h ../config.manual.h \ - ../config.auto.h hid/lesstif/xincludes.h compat.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h crosshair.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h pcb-printf.h hid.h \ - hid/lesstif/../hidint.h hid/lesstif/lesstif.h -library.o: hid/lesstif/library.c ../config.h ../config.manual.h \ - ../config.auto.h hid/lesstif/xincludes.h compat.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h set.h buffer.h hid.h \ - hid/lesstif/../hidint.h hid/lesstif/lesstif.h -main.o: hid/lesstif/main.c ../config.h ../config.manual.h \ - ../config.auto.h hid/lesstif/xincludes.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h action.h crosshair.h mymem.h \ - misc.h ../src_3rd/genvector/gds_char.h mymem.h pcb-printf.h resource.h \ - clip.h event.h error.h hid.h hid/lesstif/../hidint.h \ - hid/common/hidnogui.h hid/common/draw_helpers.h \ - hid/common/hid_resource.h hid/lesstif/lesstif.h dolists.h -menu.o: hid/lesstif/menu.c ../config.h ../config.manual.h \ - ../config.auto.h hid/lesstif/xincludes.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h pcb-printf.h hid.h \ - hid/lesstif/../hidint.h hid/common/hid_resource.h resource.h \ - hid/lesstif/lesstif.h mymem.h paths.h pcb-menu.h \ - hid/lesstif/../../../src_3rd/genht/htsp.h \ - hid/lesstif/../../../src_3rd/genht/ht.h \ - hid/lesstif/../../../src_3rd/genht/ht_inlines.h \ - hid/lesstif/../../../src_3rd/genht/hash.h -netlist.o: hid/lesstif/netlist.c ../config.h ../config.manual.h \ - ../config.auto.h hid/lesstif/xincludes.h compat.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h find.h rats.h select.h undo.h \ - remove.h crosshair.h draw.h hid.h hid/lesstif/../hidint.h \ - hid/lesstif/lesstif.h -styles.o: hid/lesstif/styles.c ../config.h ../config.manual.h \ - ../config.auto.h hid/lesstif/xincludes.h compat.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h set.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h mymem.h pcb-printf.h hid.h \ - hid/lesstif/../hidint.h hid/lesstif/lesstif.h -batch.o: hid/batch/batch.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h hid.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h hid/batch/../hidint.h \ - pcb-printf.h hid/common/draw_helpers.h hid/common/hidnogui.h \ - hid/common/actions.h hid/common/hidinit.h dolists.h -../src_plugins/autoplace/autoplace.o: \ - ../src_plugins/autoplace/autoplace.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_plugins/autoplace/autoplace.h box.h \ - global.h misc.h ../src_3rd/genvector/gds_char.h mymem.h compat.h data.h \ - draw.h error.h intersect.h rtree.h macro.h mirror.h misc.h move.h \ - mymem.h rats.h remove.h rotate.h -../src_plugins/autoplace/action.o: ../src_plugins/autoplace/action.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_plugins/autoplace/autoplace.h \ - plugins.h set.h global.h dolists.h -../src_plugins/autoroute/autoroute.o: \ - ../src_plugins/autoroute/autoroute.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h macro.h \ - ../src_plugins/autoroute/autoroute.h box.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h create.h draw.h error.h find.h \ - heap.h rtree.h misc.h ../src_plugins/autoroute/mtspace.h \ - ../src_plugins/autoroute/vector.h mymem.h polygon.h rats.h remove.h \ - thermal.h undo.h pcb-printf.h set.h -../src_plugins/autoroute/mtspace.o: ../src_plugins/autoroute/mtspace.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h box.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h heap.h rtree.h \ - ../src_plugins/autoroute/mtspace.h ../src_plugins/autoroute/vector.h -../src_plugins/autoroute/action.o: ../src_plugins/autoroute/action.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_plugins/autoroute/autoroute.h action.h \ - global.h plugins.h set.h dolists.h -../src_plugins/autoroute/vector.o: ../src_plugins/autoroute/vector.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_plugins/autoroute/vector.h -../src_plugins/vendordrill/vendor.o: ../src_plugins/vendordrill/vendor.c \ - ../config.h ../config.manual.h ../config.auto.h change.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h draw.h error.h global.h resource.h \ - set.h undo.h ../src_plugins/vendordrill/vendor.h stub_vendor.h plugins.h \ - dolists.h -../src_plugins/puller/puller.o: ../src_plugins/puller/puller.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h global.h data.h draw.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h move.h pcb-printf.h remove.h \ - rtree.h strflags.h undo.h plugins.h dolists.h -../src_plugins/import_edif/edif.o: ../src_plugins/import_edif/edif.c \ - global.h ../config.h ../config.manual.h ../config.auto.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h error.h plugins.h stub_edif.h -../src_plugins/djopt/djopt.o: ../src_plugins/djopt/djopt.c ../config.h \ - ../config.manual.h ../config.auto.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h create.h remove.h move.h \ - draw.h undo.h strflags.h find.h pcb-printf.h \ - ../src_3rd/genvector/gds_char.h plugins.h dolists.h -../src_plugins/mincut/rats_mincut.o: ../src_plugins/mincut/rats_mincut.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h global.h data.h draw.h error.h \ - file.h find.h misc.h ../src_3rd/genvector/gds_char.h mymem.h mymem.h \ - polygon.h rats.h search.h set.h undo.h plugins.h \ - ../src_plugins/mincut/pcb-mincut/graph.h \ - ../src_plugins/mincut/pcb-mincut/solve.h \ - ../src_plugins/mincut/pcb-mincut/graph.h stub_mincut.h -../src_plugins/mincut/pcb-mincut/graph.o: \ - ../src_plugins/mincut/pcb-mincut/graph.c \ - ../src_plugins/mincut/pcb-mincut/graph.h -../src_plugins/mincut/pcb-mincut/solve.o: \ - ../src_plugins/mincut/pcb-mincut/solve.c \ - ../src_plugins/mincut/pcb-mincut/solve.h \ - ../src_plugins/mincut/pcb-mincut/graph.h -../src_plugins/fontmode/fontmode.o: ../src_plugins/fontmode/fontmode.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h create.h global.h data.h draw.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h move.h remove.h rtree.h \ - strflags.h undo.h pcb-printf.h plugins.h dolists.h -../src_plugins/legacy_func/legacy_func.o: \ - ../src_plugins/legacy_func/legacy_func.c ../src_3rd/genvector/gds_char.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h hid.h global_element.h list_element.h libpcb_fp.h data.h \ - global.h action.h change.h error.h undo.h plugins.h -../src_plugins/renumber/renumber.o: ../src_plugins/renumber/renumber.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h action.h change.h error.h \ - undo.h misc.h ../src_3rd/genvector/gds_char.h mymem.h set.h plugins.h \ - pcb-printf.h dolists.h -../src_plugins/import_sch/import_sch.o: \ - ../src_plugins/import_sch/import_sch.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h action.h change.h error.h \ - undo.h plugins.h misc.h ../src_3rd/genvector/gds_char.h mymem.h \ - portability.h pcb-printf.h remove.h rats.h dolists.h -../src_plugins/export_ps/ps.o: ../src_plugins/export_ps/ps.c ../config.h \ - ../config.manual.h ../config.auto.h global.h const.h ../globalconst.h \ - ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h error.h draw.h pcb-printf.h \ - plugins.h hid.h hid/hidint.h hid/common/hidnogui.h \ - hid/common/draw_helpers.h ../src_plugins/export_ps/ps.h print.h \ - hid/common/hidinit.h dolists.h -../src_plugins/export_ps/eps.o: ../src_plugins/export_ps/eps.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h pcb-printf.h hid.h hid/hidint.h \ - hid/common/hidnogui.h hid/common/draw_helpers.h \ - ../src_plugins/export_ps/ps.h hid/common/hidinit.h -../src_plugins/export_lpr/lpr.o: ../src_plugins/export_lpr/lpr.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h plugins.h hid.h hid/hidint.h \ - ../src_plugins/export_lpr/../export_ps/ps.h hid/common/hidnogui.h \ - hid/common/hidinit.h -../src_plugins/export_gcode/gcode.o: ../src_plugins/export_gcode/gcode.c \ - ../config.h ../config.manual.h ../config.auto.h plugins.h global.h \ - const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ - global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ - list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h rats.h hid.h hid/gtk/../hidint.h \ - hid/common/hidnogui.h hid/common/draw_helpers.h \ - ../src_plugins/export_gcode/gcode.h ../src_plugins/export_gcode/bitmap.h \ - ../src_plugins/export_gcode/potracelib.h \ - ../src_plugins/export_gcode/curve.h \ - ../src_plugins/export_gcode/auxiliary.h \ - ../src_plugins/export_gcode/trace.h \ - ../src_plugins/export_gcode/decompose.h pcb-printf.h \ - hid/common/hidinit.h dolists.h -../src_plugins/export_gcode/decompose.o: \ - ../src_plugins/export_gcode/decompose.c \ - ../src_plugins/export_gcode/potracelib.h \ - ../src_plugins/export_gcode/curve.h \ - ../src_plugins/export_gcode/auxiliary.h ../config.h ../config.manual.h \ - ../config.auto.h ../src_plugins/export_gcode/lists.h \ - ../src_plugins/export_gcode/bitmap.h \ - ../src_plugins/export_gcode/decompose.h -../src_plugins/export_gcode/trace.o: ../src_plugins/export_gcode/trace.c \ - global.h ../config.h ../config.manual.h ../config.auto.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h ../src_plugins/export_gcode/potracelib.h \ - ../src_plugins/export_gcode/curve.h \ - ../src_plugins/export_gcode/auxiliary.h \ - ../src_plugins/export_gcode/lists.h ../src_plugins/export_gcode/trace.h -../src_plugins/export_gcode/curve.o: ../src_plugins/export_gcode/curve.c \ - ../src_plugins/export_gcode/potracelib.h \ - ../src_plugins/export_gcode/lists.h ../src_plugins/export_gcode/curve.h \ - ../src_plugins/export_gcode/auxiliary.h ../config.h ../config.manual.h \ - ../config.auto.h -../src_plugins/export_nelma/nelma.o: ../src_plugins/export_nelma/nelma.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h error.h data.h global.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h rats.h plugins.h hid.h \ - hid/gtk/../hidint.h hid/common/hidnogui.h hid/common/draw_helpers.h \ - hid/common/hidinit.h dolists.h -../src_plugins/export_png/png.o: ../src_plugins/export_png/png.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h plugins.h hid.h \ - hid/gtk/../hidint.h hid/common/hidnogui.h hid/common/draw_helpers.h \ - ../src_plugins/export_png/png.h hid/common/hidinit.h dolists.h -../src_plugins/export_bom/bom.o: ../src_plugins/export_bom/bom.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h error.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h pcb-printf.h plugins.h hid.h \ - hid/common/hidnogui.h hid/gtk/../hidint.h -../src_plugins/toporouter/toporouter.o: \ - ../src_plugins/toporouter/toporouter.c \ - ../src_plugins/toporouter/toporouter.h data.h global.h ../config.h \ - ../config.manual.h ../config.auto.h const.h ../globalconst.h ../config.h \ - macro.h global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h \ - polyarea.h list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h macro.h \ - ../src_plugins/toporouter/../autoroute/autoroute.h global.h box.h misc.h \ - ../src_3rd/genvector/gds_char.h mymem.h create.h draw.h error.h find.h \ - heap.h rtree.h misc.h mymem.h polygon.h rats.h remove.h thermal.h undo.h \ - ../src_3rd/gts/gts.h pcb-printf.h -../src_plugins/oldactions/oldactions.o: \ - ../src_plugins/oldactions/oldactions.c ../config.h ../config.manual.h \ - ../config.auto.h global.h const.h ../globalconst.h ../config.h macro.h \ - global_typedefs.h global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h \ - list_common.h list_line.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - list_arc.h list_text.h list_poly.h list_pad.h list_pin.h list_rat.h \ - vtonpoint.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h action.h change.h error.h \ - undo.h plugins.h dolists.h -../src_plugins/stroke/stroke.o: ../src_plugins/stroke/stroke.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h crosshair.h stub_stroke.h \ - rotate.h undo.h set.h error.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h Index: trunk/src/Makefile.in =================================================================== --- trunk/src/Makefile.in (revision 1357) +++ trunk/src/Makefile.in (revision 1358) @@ -10,7 +10,8 @@ # main: objects put /local/pcb/OBJS [@ - action.o + action_helper.o + action_act.o buffer.o change.o change_act.o @@ -108,7 +109,7 @@ # main: action registrations put /local/pcb/ACTION_REG_SRC { - action.c buffer.c change_act.c command.c file_act.c find_act.c + action_act.c buffer.c change_act.c command.c file_act.c find_act.c flags.c gui_act.c main.c misc.c move.c netlist.c object_act.c plugins.c polygon_act.c rats_act.c rats_patch.c remove_act.c report.c select_act.c undo_act.c Index: trunk/src/action_act.c =================================================================== --- trunk/src/action_act.c (nonexistent) +++ trunk/src/action_act.c (revision 1358) @@ -0,0 +1,110 @@ +/* + * COPYRIGHT + * + * PCB, interactive printed circuit board design + * Copyright (C) 1994,1995,1996 Thomas Nau + * Copyright (C) 1997, 1998, 1999, 2000, 2001 Harry Eaton + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Contact addresses for paper mail and Email: + * Harry Eaton, 6697 Buttonhole Ct, Columbia, MD 21044, USA + * haceaton@aplcomm.jhuapl.edu + * + */ + +#include "config.h" + +#include "global.h" +#include "error.h" +#include "action_helper.h" +#include "undo.h" + +/* actions about actions + */ +/* --------------------------------------------------------------------------- */ + +static const char executefile_syntax[] = "ExecuteFile(filename)"; + +static const char executefile_help[] = "Run actions from the given file."; + +/* %start-doc actions ExecuteFile + +Lines starting with @code{#} are ignored. + +%end-doc */ + +int ActionExecuteFile(int argc, char **argv, Coord x, Coord y) +{ + FILE *fp; + char *fname; + char line[256]; + int n = 0; + char *sp; + + if (argc != 1) + AFAIL(executefile); + + fname = argv[0]; + + if ((fp = fopen(fname, "r")) == NULL) { + fprintf(stderr, _("Could not open actions file \"%s\".\n"), fname); + return 1; + } + + defer_updates = 1; + defer_needs_update = 0; + while (fgets(line, sizeof(line), fp) != NULL) { + n++; + sp = line; + + /* eat the trailing newline */ + while (*sp && *sp != '\r' && *sp != '\n') + sp++; + *sp = '\0'; + + /* eat leading spaces and tabs */ + sp = line; + while (*sp && (*sp == ' ' || *sp == '\t')) + sp++; + + /* + * if we have anything left and its not a comment line + * then execute it + */ + + if (*sp && *sp != '#') { + /*Message ("%s : line %-3d : \"%s\"\n", fname, n, sp); */ + hid_parse_actions(sp); + } + } + + defer_updates = 0; + if (defer_needs_update) { + IncrementUndoSerialNumber(); + gui->invalidate_all(); + } + fclose(fp); + return 0; +} + +/* --------------------------------------------------------------------------- */ + +HID_Action action_action_list[] = { + {"ExecuteFile", 0, ActionExecuteFile, + executefile_help, executefile_syntax} +}; + +REGISTER_ACTIONS(action_action_list, NULL) Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (nonexistent) +++ trunk/src/action_helper.c (revision 1358) @@ -0,0 +1,1204 @@ +/* + * COPYRIGHT + * + * PCB, interactive printed circuit board design + * Copyright (C) 1994,1995,1996 Thomas Nau + * Copyright (C) 1997, 1998, 1999, 2000, 2001 Harry Eaton + * + * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * Contact addresses for paper mail and Email: + * Harry Eaton, 6697 Buttonhole Ct, Columbia, MD 21044, USA + * haceaton@aplcomm.jhuapl.edu + * + */ + +/* action routines for output window + */ + +#include "config.h" + +#include "global.h" + +#include "action_helper.h" +#include "buffer.h" +#include "change.h" +#include "copy.h" +#include "create.h" +#include "crosshair.h" +#include "data.h" +#include "draw.h" +#include "error.h" +#include "find.h" +#include "insert.h" +#include "line.h" +#include "misc.h" +#include "move.h" +#include "polygon.h" +#include "rats.h" +#include "remove.h" +#include "rotate.h" +#include "rubberband.h" +#include "search.h" +#include "select.h" +#include "set.h" +#include "undo.h" +#include "rtree.h" +#include "stub_stroke.h" +#include "funchash_core.h" + +/* --------------------------------------------------------------------------- */ + +/* %start-doc actions 00delta + +Many actions take a @code{delta} parameter as the last parameter, +which is an amount to change something. That @code{delta} may include +units, as an additional parameter, such as @code{Action(Object,5,mm)}. +If no units are specified, the default is PCB's native units +(currently 1/100 mil). Also, if the delta is prefixed by @code{+} or +@code{-}, the size is increased or decreased by that amount. +Otherwise, the size size is set to the given amount. + +@example +Action(Object,5,mil) +Action(Object,+0.5,mm) +Action(Object,-1) +@end example + +Actions which take a @code{delta} parameter which do not accept all +these options will specify what they do take. + +%end-doc */ + +/* %start-doc actions 00objects + +Many actions act on indicated objects on the board. They will have +parameters like @code{ToggleObject} or @code{SelectedVias} to indicate +what group of objects they act on. Unless otherwise specified, these +parameters are defined as follows: + +@table @code + +@item Object +@itemx ToggleObject +Affects the object under the mouse pointer. If this action is invoked +from a menu or script, the user will be prompted to click on an +object, which is then the object affected. + +@item Selected +@itemx SelectedObjects + +Affects all objects which are currently selected. At least, all +selected objects for which the given action makes sense. + +@item SelectedPins +@itemx SelectedVias +@itemx Selected@var{Type} +@itemx @i{etc} +Affects all objects which are both selected and of the @var{Type} specified. + +@end table + +%end-doc */ + +/* %start-doc actions 00macros + +@macro pinshapes + +Pins, pads, and vias can have various shapes. All may be round. Pins +and pads may be square (obviously "square" pads are usually +rectangular). Pins and vias may be octagonal. When you change a +shape flag of an element, you actually change all of its pins and +pads. + +Note that the square flag takes precedence over the octagon flag, +thus, if both the square and octagon flags are set, the object is +square. When the square flag is cleared, the pins and pads will be +either round or, if the octagon flag is set, octagonal. + +@end macro + +%end-doc */ + +/* --------------------------------------------------------------------------- + * some local identifiers + */ +static PointType InsertedPoint; +LayerTypePtr lastLayer; +static struct { + PolygonTypePtr poly; + LineType line; +} fake; + +action_note_t Note; +int defer_updates = 0; +int defer_needs_update = 0; + + +static Cardinal polyIndex = 0; +bool saved_mode = false; + +/* --------------------------------------------------------------------------- + * some local routines + */ +static void AdjustAttachedBox(void); +/* --------------------------------------------------------------------------- + * Clear warning color from pins/pads + */ +void ClearWarnings() +{ + Settings.RatWarn = false; + ALLPIN_LOOP(PCB->Data); + { + if (TEST_FLAG(WARNFLAG, pin)) { + CLEAR_FLAG(WARNFLAG, pin); + DrawPin(pin); + } + } + ENDALL_LOOP; + VIA_LOOP(PCB->Data); + { + if (TEST_FLAG(WARNFLAG, via)) { + CLEAR_FLAG(WARNFLAG, via); + DrawVia(via); + } + } + END_LOOP; + ALLPAD_LOOP(PCB->Data); + { + if (TEST_FLAG(WARNFLAG, pad)) { + CLEAR_FLAG(WARNFLAG, pad); + DrawPad(pad); + } + } + ENDALL_LOOP; + ALLLINE_LOOP(PCB->Data); + { + if (TEST_FLAG(WARNFLAG, line)) { + CLEAR_FLAG(WARNFLAG, line); + DrawLine(layer, line); + } + } + ENDALL_LOOP; + ALLARC_LOOP(PCB->Data); + { + if (TEST_FLAG(WARNFLAG, arc)) { + CLEAR_FLAG(WARNFLAG, arc); + DrawArc(layer, arc); + } + } + ENDALL_LOOP; + ALLPOLYGON_LOOP(PCB->Data); + { + if (TEST_FLAG(WARNFLAG, polygon)) { + CLEAR_FLAG(WARNFLAG, polygon); + DrawPolygon(layer, polygon); + } + } + ENDALL_LOOP; + + Draw(); +} + +static void click_cb(hidval hv) +{ + if (Note.Click) { + notify_crosshair_change(false); + Note.Click = false; + if (Note.Moving && !gui->shift_is_pressed()) { + Note.Buffer = Settings.BufferNumber; + SetBufferNumber(MAX_BUFFER - 1); + ClearBuffer(PASTEBUFFER); + AddSelectedToBuffer(PASTEBUFFER, Note.X, Note.Y, true); + SaveUndoSerialNumber(); + RemoveSelected(); + SaveMode(); + saved_mode = true; + SetMode(PASTEBUFFER_MODE); + } + else if (Note.Hit && !gui->shift_is_pressed()) { + BoxType box; + + SaveMode(); + saved_mode = true; + SetMode(gui->control_is_pressed()? COPY_MODE : MOVE_MODE); + Crosshair.AttachedObject.Ptr1 = Note.ptr1; + Crosshair.AttachedObject.Ptr2 = Note.ptr2; + Crosshair.AttachedObject.Ptr3 = Note.ptr3; + Crosshair.AttachedObject.Type = Note.Hit; + + if (Crosshair.drags != NULL) { + free(Crosshair.drags); + Crosshair.drags = NULL; + } + Crosshair.dragx = Note.X; + Crosshair.dragy = Note.Y; + box.X1 = Note.X + SLOP * pixel_slop; + box.X2 = Note.X - SLOP * pixel_slop; + box.Y1 = Note.Y + SLOP * pixel_slop; + box.Y2 = Note.Y - SLOP * pixel_slop; + Crosshair.drags = ListBlock(&box, &Crosshair.drags_len); + Crosshair.drags_current = 0; + AttachForCopy(Note.X, Note.Y); + } + else { + BoxType box; + + Note.Hit = 0; + Note.Moving = false; + SaveUndoSerialNumber(); + box.X1 = -MAX_COORD; + box.Y1 = -MAX_COORD; + box.X2 = MAX_COORD; + box.Y2 = MAX_COORD; + /* unselect first if shift key not down */ + if (!gui->shift_is_pressed() && SelectBlock(&box, false)) + SetChangedFlag(true); + NotifyBlock(); + Crosshair.AttachedBox.Point1.X = Note.X; + Crosshair.AttachedBox.Point1.Y = Note.Y; + } + notify_crosshair_change(true); + } +} + +void ReleaseMode(void) +{ + BoxType box; + + if (Note.Click) { + BoxType box; + + box.X1 = -MAX_COORD; + box.Y1 = -MAX_COORD; + box.X2 = MAX_COORD; + box.Y2 = MAX_COORD; + + Note.Click = false; /* inhibit timer action */ + SaveUndoSerialNumber(); + /* unselect first if shift key not down */ + if (!gui->shift_is_pressed()) { + if (SelectBlock(&box, false)) + SetChangedFlag(true); + if (Note.Moving) { + Note.Moving = 0; + Note.Hit = 0; + return; + } + } + RestoreUndoSerialNumber(); + if (SelectObject()) + SetChangedFlag(true); + Note.Hit = 0; + Note.Moving = 0; + } + else if (Note.Moving) { + RestoreUndoSerialNumber(); + NotifyMode(); + ClearBuffer(PASTEBUFFER); + SetBufferNumber(Note.Buffer); + Note.Moving = false; + Note.Hit = 0; + } + else if (Note.Hit) { + NotifyMode(); + Note.Hit = 0; + } + else if (Settings.Mode == ARROW_MODE) { + box.X1 = Crosshair.AttachedBox.Point1.X; + box.Y1 = Crosshair.AttachedBox.Point1.Y; + box.X2 = Crosshair.AttachedBox.Point2.X; + box.Y2 = Crosshair.AttachedBox.Point2.Y; + + RestoreUndoSerialNumber(); + if (SelectBlock(&box, true)) + SetChangedFlag(true); + else if (Bumped) + IncrementUndoSerialNumber(); + Crosshair.AttachedBox.State = STATE_FIRST; + } + if (saved_mode) + RestoreMode(); + saved_mode = false; +} + +/* --------------------------------------------------------------------------- + * set new coordinates if in 'RECTANGLE' mode + * the cursor shape is also adjusted + */ +static void AdjustAttachedBox(void) +{ + if (Settings.Mode == ARC_MODE) { + Crosshair.AttachedBox.otherway = gui->shift_is_pressed(); + return; + } + switch (Crosshair.AttachedBox.State) { + case STATE_SECOND: /* one corner is selected */ + { + /* update coordinates */ + Crosshair.AttachedBox.Point2.X = Crosshair.X; + Crosshair.AttachedBox.Point2.Y = Crosshair.Y; + break; + } + } +} + +/* --------------------------------------------------------------------------- + * adjusts the objects which are to be created like attached lines... + */ +void AdjustAttachedObjects(void) +{ + PointTypePtr pnt; + switch (Settings.Mode) { + /* update at least an attached block (selection) */ + case NO_MODE: + case ARROW_MODE: + if (Crosshair.AttachedBox.State) { + Crosshair.AttachedBox.Point2.X = Crosshair.X; + Crosshair.AttachedBox.Point2.Y = Crosshair.Y; + } + break; + + /* rectangle creation mode */ + case RECTANGLE_MODE: + case ARC_MODE: + AdjustAttachedBox(); + break; + + /* polygon creation mode */ + case POLYGON_MODE: + case POLYGONHOLE_MODE: + AdjustAttachedLine(); + break; + /* line creation mode */ + case LINE_MODE: + if (PCB->RatDraw || PCB->Clipping == 0) + AdjustAttachedLine(); + else + AdjustTwoLine(PCB->Clipping - 1); + break; + /* point insertion mode */ + case INSERTPOINT_MODE: + pnt = AdjustInsertPoint(); + if (pnt) + InsertedPoint = *pnt; + break; + case ROTATE_MODE: + break; + } +} + +/* --------------------------------------------------------------------------- + * creates points of a line + */ +void NotifyLine(void) +{ + int type = NO_TYPE; + void *ptr1, *ptr2, *ptr3; + + if (!Marked.status || TEST_FLAG(LOCALREFFLAG, PCB)) + SetLocalRef(Crosshair.X, Crosshair.Y, true); + switch (Crosshair.AttachedLine.State) { + case STATE_FIRST: /* first point */ + if (PCB->RatDraw && SearchScreen(Crosshair.X, Crosshair.Y, PAD_TYPE | PIN_TYPE, &ptr1, &ptr1, &ptr1) == NO_TYPE) { + gui->beep(); + break; + } + if (TEST_FLAG(AUTODRCFLAG, PCB) && Settings.Mode == LINE_MODE) { + type = SearchScreen(Crosshair.X, Crosshair.Y, PIN_TYPE | PAD_TYPE | VIA_TYPE, &ptr1, &ptr2, &ptr3); + LookupConnection(Crosshair.X, Crosshair.Y, true, 1, FOUNDFLAG); + } + if (type == PIN_TYPE || type == VIA_TYPE) { + Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X = ((PinTypePtr) ptr2)->X; + Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y = ((PinTypePtr) ptr2)->Y; + } + else if (type == PAD_TYPE) { + PadTypePtr pad = (PadTypePtr) ptr2; + double d1 = Distance(Crosshair.X, Crosshair.Y, pad->Point1.X, pad->Point1.Y); + double d2 = Distance(Crosshair.X, Crosshair.Y, pad->Point2.X, pad->Point2.Y); + if (d2 < d1) { + Crosshair.AttachedLine.Point1 = Crosshair.AttachedLine.Point2 = pad->Point2; + } + else { + Crosshair.AttachedLine.Point1 = Crosshair.AttachedLine.Point2 = pad->Point1; + } + } + else { + Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X = Crosshair.X; + Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y = Crosshair.Y; + } + Crosshair.AttachedLine.State = STATE_SECOND; + break; + + case STATE_SECOND: + /* fall through to third state too */ + lastLayer = CURRENT; + default: /* all following points */ + Crosshair.AttachedLine.State = STATE_THIRD; + break; + } +} + +/* --------------------------------------------------------------------------- + * create first or second corner of a marked block + */ +void NotifyBlock(void) +{ + notify_crosshair_change(false); + switch (Crosshair.AttachedBox.State) { + case STATE_FIRST: /* setup first point */ + Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = Crosshair.X; + Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = Crosshair.Y; + Crosshair.AttachedBox.State = STATE_SECOND; + break; + + case STATE_SECOND: /* setup second point */ + Crosshair.AttachedBox.State = STATE_THIRD; + break; + } + notify_crosshair_change(true); +} + + +/* --------------------------------------------------------------------------- + * + * does what's appropriate for the current mode setting. This normally + * means creation of an object at the current crosshair location. + * + * new created objects are added to the create undo list of course + */ +void NotifyMode(void) +{ + void *ptr1, *ptr2, *ptr3; + int type; + + if (Settings.RatWarn) + ClearWarnings(); + switch (Settings.Mode) { + case ARROW_MODE: + { + int test; + hidval hv; + + Note.Click = true; + /* do something after click time */ + gui->add_timer(click_cb, CLICK_TIME, hv); + + /* see if we clicked on something already selected + * (Note.Moving) or clicked on a MOVE_TYPE + * (Note.Hit) + */ + for (test = (SELECT_TYPES | MOVE_TYPES) & ~RATLINE_TYPE; test; test &= ~type) { + type = SearchScreen(Note.X, Note.Y, test, &ptr1, &ptr2, &ptr3); + if (!Note.Hit && (type & MOVE_TYPES) && !TEST_FLAG(LOCKFLAG, (PinTypePtr) ptr2)) { + Note.Hit = type; + Note.ptr1 = ptr1; + Note.ptr2 = ptr2; + Note.ptr3 = ptr3; + } + if (!Note.Moving && (type & SELECT_TYPES) && TEST_FLAG(SELECTEDFLAG, (PinTypePtr) ptr2)) + Note.Moving = true; + if ((Note.Hit && Note.Moving) || type == NO_TYPE) + break; + } + break; + } + + case VIA_MODE: + { + PinTypePtr via; + + if (!PCB->ViaOn) { + Message(_("You must turn via visibility on before\n" "you can place vias\n")); + break; + } + if ((via = CreateNewVia(PCB->Data, Note.X, Note.Y, + Settings.ViaThickness, 2 * Settings.Keepaway, + 0, Settings.ViaDrillingHole, NULL, NoFlags())) != NULL) { + AddObjectToCreateUndoList(VIA_TYPE, via, via, via); + if (gui->shift_is_pressed()) + ChangeObjectThermal(VIA_TYPE, via, via, via, PCB->ThermStyle); + IncrementUndoSerialNumber(); + DrawVia(via); + Draw(); + } + break; + } + + case ARC_MODE: + { + switch (Crosshair.AttachedBox.State) { + case STATE_FIRST: + Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = Note.X; + Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = Note.Y; + Crosshair.AttachedBox.State = STATE_SECOND; + break; + + case STATE_SECOND: + case STATE_THIRD: + { + ArcTypePtr arc; + Coord wx, wy; + Angle sa, dir; + + wx = Note.X - Crosshair.AttachedBox.Point1.X; + wy = Note.Y - Crosshair.AttachedBox.Point1.Y; + if (XOR(Crosshair.AttachedBox.otherway, abs(wy) > abs(wx))) { + Crosshair.AttachedBox.Point2.X = Crosshair.AttachedBox.Point1.X + abs(wy) * SGNZ(wx); + sa = (wx >= 0) ? 0 : 180; +#ifdef ARC45 + if (abs(wy) / 2 >= abs(wx)) + dir = (SGNZ(wx) == SGNZ(wy)) ? 45 : -45; + else +#endif + dir = (SGNZ(wx) == SGNZ(wy)) ? 90 : -90; + } + else { + Crosshair.AttachedBox.Point2.Y = Crosshair.AttachedBox.Point1.Y + abs(wx) * SGNZ(wy); + sa = (wy >= 0) ? -90 : 90; +#ifdef ARC45 + if (abs(wx) / 2 >= abs(wy)) + dir = (SGNZ(wx) == SGNZ(wy)) ? -45 : 45; + else +#endif + dir = (SGNZ(wx) == SGNZ(wy)) ? -90 : 90; + wy = wx; + } + if (abs(wy) > 0 && (arc = CreateNewArcOnLayer(CURRENT, + Crosshair.AttachedBox.Point2.X, + Crosshair.AttachedBox.Point2.Y, + abs(wy), + abs(wy), + sa, + dir, + Settings.LineThickness, + 2 * Settings.Keepaway, + MakeFlags(TEST_FLAG(CLEARNEWFLAG, PCB) ? CLEARLINEFLAG : 0)))) { + BoxTypePtr bx; + + bx = GetArcEnds(arc); + Crosshair.AttachedBox.Point1.X = Crosshair.AttachedBox.Point2.X = bx->X2; + Crosshair.AttachedBox.Point1.Y = Crosshair.AttachedBox.Point2.Y = bx->Y2; + AddObjectToCreateUndoList(ARC_TYPE, CURRENT, arc, arc); + IncrementUndoSerialNumber(); + addedLines++; + DrawArc(CURRENT, arc); + Draw(); + Crosshair.AttachedBox.State = STATE_THIRD; + } + break; + } + } + break; + } + case LOCK_MODE: + { + type = SearchScreen(Note.X, Note.Y, LOCK_TYPES, &ptr1, &ptr2, &ptr3); + if (type == ELEMENT_TYPE) { + ElementTypePtr element = (ElementTypePtr) ptr2; + + TOGGLE_FLAG(LOCKFLAG, element); + PIN_LOOP(element); + { + TOGGLE_FLAG(LOCKFLAG, pin); + CLEAR_FLAG(SELECTEDFLAG, pin); + } + END_LOOP; + PAD_LOOP(element); + { + TOGGLE_FLAG(LOCKFLAG, pad); + CLEAR_FLAG(SELECTEDFLAG, pad); + } + END_LOOP; + CLEAR_FLAG(SELECTEDFLAG, element); + /* always re-draw it since I'm too lazy + * to tell if a selected flag changed + */ + DrawElement(element); + Draw(); + hid_actionl("Report", "Object", NULL); + } + else if (type != NO_TYPE) { + TextTypePtr thing = (TextTypePtr) ptr3; + TOGGLE_FLAG(LOCKFLAG, thing); + if (TEST_FLAG(LOCKFLAG, thing) + && TEST_FLAG(SELECTEDFLAG, thing)) { + /* this is not un-doable since LOCK isn't */ + CLEAR_FLAG(SELECTEDFLAG, thing); + DrawObject(type, ptr1, ptr2); + Draw(); + } + hid_actionl("Report", "Object", NULL); + } + break; + } + case THERMAL_MODE: + { + if (((type = SearchScreen(Note.X, Note.Y, PIN_TYPES, &ptr1, &ptr2, &ptr3)) != NO_TYPE) + && !TEST_FLAG(HOLEFLAG, (PinTypePtr) ptr3)) { + if (gui->shift_is_pressed()) { + int tstyle = GET_THERM(INDEXOFCURRENT, (PinTypePtr) ptr3); + tstyle++; + if (tstyle > 5) + tstyle = 1; + ChangeObjectThermal(type, ptr1, ptr2, ptr3, tstyle); + } + else if (GET_THERM(INDEXOFCURRENT, (PinTypePtr) ptr3)) + ChangeObjectThermal(type, ptr1, ptr2, ptr3, 0); + else + ChangeObjectThermal(type, ptr1, ptr2, ptr3, PCB->ThermStyle); + } + break; + } + + case LINE_MODE: + /* do update of position */ + NotifyLine(); + if (Crosshair.AttachedLine.State != STATE_THIRD) + break; + + /* Remove anchor if clicking on start point; + * this means we can't paint 0 length lines + * which could be used for square SMD pads. + * Instead use a very small delta, or change + * the file after saving. + */ + if (Crosshair.X == Crosshair.AttachedLine.Point1.X && Crosshair.Y == Crosshair.AttachedLine.Point1.Y) { + SetMode(LINE_MODE); + break; + } + + if (PCB->RatDraw) { + RatTypePtr line; + if ((line = AddNet())) { + addedLines++; + AddObjectToCreateUndoList(RATLINE_TYPE, line, line, line); + IncrementUndoSerialNumber(); + DrawRat(line); + Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; + Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; + Draw(); + } + break; + } + else + /* create line if both ends are determined && length != 0 */ + { + LineTypePtr line; + int maybe_found_flag; + + if (PCB->Clipping + && Crosshair.AttachedLine.Point1.X == + Crosshair.AttachedLine.Point2.X + && Crosshair.AttachedLine.Point1.Y == + Crosshair.AttachedLine.Point2.Y + && (Crosshair.AttachedLine.Point2.X != Note.X || Crosshair.AttachedLine.Point2.Y != Note.Y)) { + /* We will only need to paint the second line segment. + Since we only check for vias on the first segment, + swap them so the non-empty segment is the first segment. */ + Crosshair.AttachedLine.Point2.X = Note.X; + Crosshair.AttachedLine.Point2.Y = Note.Y; + } + + if (TEST_FLAG(AUTODRCFLAG, PCB) + && !TEST_SILK_LAYER(CURRENT)) + maybe_found_flag = FOUNDFLAG; + else + maybe_found_flag = 0; + + if ((Crosshair.AttachedLine.Point1.X != + Crosshair.AttachedLine.Point2.X || Crosshair.AttachedLine.Point1.Y != Crosshair.AttachedLine.Point2.Y) + && (line = + CreateDrawnLineOnLayer(CURRENT, + Crosshair.AttachedLine.Point1.X, + Crosshair.AttachedLine.Point1.Y, + Crosshair.AttachedLine.Point2.X, + Crosshair.AttachedLine.Point2.Y, + Settings.LineThickness, + 2 * Settings.Keepaway, + MakeFlags(maybe_found_flag | + (TEST_FLAG(CLEARNEWFLAG, PCB) ? CLEARLINEFLAG : 0)))) != NULL) { + PinTypePtr via; + + addedLines++; + AddObjectToCreateUndoList(LINE_TYPE, CURRENT, line, line); + DrawLine(CURRENT, line); + /* place a via if vias are visible, the layer is + in a new group since the last line and there + isn't a pin already here */ + if (PCB->ViaOn && GetLayerGroupNumberByPointer(CURRENT) != + GetLayerGroupNumberByPointer(lastLayer) && + SearchObjectByLocation(PIN_TYPES, &ptr1, &ptr2, &ptr3, + Crosshair.AttachedLine.Point1.X, + Crosshair.AttachedLine.Point1.Y, + Settings.ViaThickness / 2) == + NO_TYPE + && (via = + CreateNewVia(PCB->Data, + Crosshair.AttachedLine.Point1.X, + Crosshair.AttachedLine.Point1.Y, + Settings.ViaThickness, + 2 * Settings.Keepaway, 0, Settings.ViaDrillingHole, NULL, NoFlags())) != NULL) { + AddObjectToCreateUndoList(VIA_TYPE, via, via, via); + DrawVia(via); + } + /* copy the coordinates */ + Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; + Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; + IncrementUndoSerialNumber(); + lastLayer = CURRENT; + } + if (PCB->Clipping && (Note.X != Crosshair.AttachedLine.Point2.X || Note.Y != Crosshair.AttachedLine.Point2.Y) + && (line = + CreateDrawnLineOnLayer(CURRENT, + Crosshair.AttachedLine.Point2.X, + Crosshair.AttachedLine.Point2.Y, + Note.X, Note.Y, + Settings.LineThickness, + 2 * Settings.Keepaway, + MakeFlags((TEST_FLAG + (AUTODRCFLAG, + PCB) ? FOUNDFLAG : 0) | + (TEST_FLAG(CLEARNEWFLAG, PCB) ? CLEARLINEFLAG : 0)))) != NULL) { + addedLines++; + AddObjectToCreateUndoList(LINE_TYPE, CURRENT, line, line); + IncrementUndoSerialNumber(); + DrawLine(CURRENT, line); + /* move to new start point */ + Crosshair.AttachedLine.Point1.X = Note.X; + Crosshair.AttachedLine.Point1.Y = Note.Y; + Crosshair.AttachedLine.Point2.X = Note.X; + Crosshair.AttachedLine.Point2.Y = Note.Y; + if (TEST_FLAG(SWAPSTARTDIRFLAG, PCB)) { + PCB->Clipping ^= 3; + } + } + Draw(); + } + break; + + case RECTANGLE_MODE: + /* do update of position */ + NotifyBlock(); + + /* create rectangle if both corners are determined + * and width, height are != 0 + */ + if (Crosshair.AttachedBox.State == STATE_THIRD && + Crosshair.AttachedBox.Point1.X != Crosshair.AttachedBox.Point2.X && + Crosshair.AttachedBox.Point1.Y != Crosshair.AttachedBox.Point2.Y) { + PolygonTypePtr polygon; + + int flags = CLEARPOLYFLAG; + if (TEST_FLAG(NEWFULLPOLYFLAG, PCB)) + flags |= FULLPOLYFLAG; + if ((polygon = CreateNewPolygonFromRectangle(CURRENT, + Crosshair.AttachedBox.Point1.X, + Crosshair.AttachedBox.Point1.Y, + Crosshair.AttachedBox.Point2.X, + Crosshair.AttachedBox.Point2.Y, MakeFlags(flags))) != NULL) { + AddObjectToCreateUndoList(POLYGON_TYPE, CURRENT, polygon, polygon); + IncrementUndoSerialNumber(); + DrawPolygon(CURRENT, polygon); + Draw(); + } + + /* reset state to 'first corner' */ + Crosshair.AttachedBox.State = STATE_FIRST; + } + break; + + case TEXT_MODE: + { + char *string; + + if ((string = gui->prompt_for(_("Enter text:"), "")) != NULL) { + if (strlen(string) > 0) { + TextTypePtr text; + int flag = CLEARLINEFLAG; + + if (GetLayerGroupNumberByNumber(INDEXOFCURRENT) == GetLayerGroupNumberByNumber(solder_silk_layer)) + flag |= ONSOLDERFLAG; + if ((text = CreateNewText(CURRENT, &PCB->Font, Note.X, + Note.Y, 0, Settings.TextScale, string, MakeFlags(flag))) != NULL) { + AddObjectToCreateUndoList(TEXT_TYPE, CURRENT, text, text); + IncrementUndoSerialNumber(); + DrawText(CURRENT, text); + Draw(); + } + } + free(string); + } + break; + } + + case POLYGON_MODE: + { + PointTypePtr points = Crosshair.AttachedPolygon.Points; + Cardinal n = Crosshair.AttachedPolygon.PointN; + + /* do update of position; use the 'LINE_MODE' mechanism */ + NotifyLine(); + + /* check if this is the last point of a polygon */ + if (n >= 3 && points->X == Crosshair.AttachedLine.Point2.X && points->Y == Crosshair.AttachedLine.Point2.Y) { + CopyAttachedPolygonToLayer(); + Draw(); + break; + } + + /* create new point if it's the first one or if it's + * different to the last one + */ + if (!n || points[n - 1].X != Crosshair.AttachedLine.Point2.X || points[n - 1].Y != Crosshair.AttachedLine.Point2.Y) { + CreateNewPointInPolygon(&Crosshair.AttachedPolygon, Crosshair.AttachedLine.Point2.X, Crosshair.AttachedLine.Point2.Y); + + /* copy the coordinates */ + Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; + Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; + } + break; + } + + case POLYGONHOLE_MODE: + { + switch (Crosshair.AttachedObject.State) { + /* first notify, lookup object */ + case STATE_FIRST: + Crosshair.AttachedObject.Type = + SearchScreen(Note.X, Note.Y, POLYGON_TYPE, + &Crosshair.AttachedObject.Ptr1, &Crosshair.AttachedObject.Ptr2, &Crosshair.AttachedObject.Ptr3); + + if (Crosshair.AttachedObject.Type != NO_TYPE) { + if (TEST_FLAG(LOCKFLAG, (PolygonTypePtr) + Crosshair.AttachedObject.Ptr2)) { + Message(_("Sorry, the object is locked\n")); + Crosshair.AttachedObject.Type = NO_TYPE; + break; + } + else + Crosshair.AttachedObject.State = STATE_SECOND; + } + break; + + /* second notify, insert new point into object */ + case STATE_SECOND: + { + PointTypePtr points = Crosshair.AttachedPolygon.Points; + Cardinal n = Crosshair.AttachedPolygon.PointN; + POLYAREA *original, *new_hole, *result; + FlagType Flags; + + /* do update of position; use the 'LINE_MODE' mechanism */ + NotifyLine(); + + /* check if this is the last point of a polygon */ + if (n >= 3 && points->X == Crosshair.AttachedLine.Point2.X && points->Y == Crosshair.AttachedLine.Point2.Y) { + /* Create POLYAREAs from the original polygon + * and the new hole polygon */ + original = PolygonToPoly((PolygonType *) Crosshair.AttachedObject.Ptr2); + new_hole = PolygonToPoly(&Crosshair.AttachedPolygon); + + /* Subtract the hole from the original polygon shape */ + poly_Boolean_free(original, new_hole, &result, PBO_SUB); + + /* Convert the resulting polygon(s) into a new set of nodes + * and place them on the page. Delete the original polygon. + */ + SaveUndoSerialNumber(); + Flags = ((PolygonType *) Crosshair.AttachedObject.Ptr2)->Flags; + PolyToPolygonsOnLayer(PCB->Data, (LayerType *) Crosshair.AttachedObject.Ptr1, result, Flags); + RemoveObject(POLYGON_TYPE, + Crosshair.AttachedObject.Ptr1, Crosshair.AttachedObject.Ptr2, Crosshair.AttachedObject.Ptr3); + RestoreUndoSerialNumber(); + IncrementUndoSerialNumber(); + Draw(); + + /* reset state of attached line */ + memset(&Crosshair.AttachedPolygon, 0, sizeof(PolygonType)); + Crosshair.AttachedLine.State = STATE_FIRST; + addedLines = 0; + + break; + } + + /* create new point if it's the first one or if it's + * different to the last one + */ + if (!n || points[n - 1].X != Crosshair.AttachedLine.Point2.X || points[n - 1].Y != Crosshair.AttachedLine.Point2.Y) { + CreateNewPointInPolygon(&Crosshair.AttachedPolygon, + Crosshair.AttachedLine.Point2.X, Crosshair.AttachedLine.Point2.Y); + + /* copy the coordinates */ + Crosshair.AttachedLine.Point1.X = Crosshair.AttachedLine.Point2.X; + Crosshair.AttachedLine.Point1.Y = Crosshair.AttachedLine.Point2.Y; + } + break; + } + } + + break; + } + + case PASTEBUFFER_MODE: + { + TextType estr[MAX_ELEMENTNAMES]; + ElementTypePtr e = 0; + + if (gui->shift_is_pressed()) { + int type = SearchScreen(Note.X, Note.Y, ELEMENT_TYPE, &ptr1, &ptr2, + &ptr3); + if (type == ELEMENT_TYPE) { + e = (ElementTypePtr) ptr1; + if (e) { + int i; + + memcpy(estr, e->Name, MAX_ELEMENTNAMES * sizeof(TextType)); + for (i = 0; i < MAX_ELEMENTNAMES; ++i) + estr[i].TextString = estr[i].TextString ? strdup(estr[i].TextString) : NULL; + RemoveElement(e); + } + } + } + if (CopyPastebufferToLayout(Note.X, Note.Y)) + SetChangedFlag(true); + if (e) { + int type = SearchScreen(Note.X, Note.Y, ELEMENT_TYPE, &ptr1, &ptr2, + &ptr3); + if (type == ELEMENT_TYPE && ptr1) { + int i, save_n; + e = (ElementTypePtr) ptr1; + + save_n = NAME_INDEX(PCB); + + for (i = 0; i < MAX_ELEMENTNAMES; i++) { + if (i == save_n) + EraseElementName(e); + r_delete_entry(PCB->Data->name_tree[i], (BoxType *) & (e->Name[i])); + memcpy(&(e->Name[i]), &(estr[i]), sizeof(TextType)); + e->Name[i].Element = e; + SetTextBoundingBox(&PCB->Font, &(e->Name[i])); + r_insert_entry(PCB->Data->name_tree[i], (BoxType *) & (e->Name[i]), 0); + if (i == save_n) + DrawElementName(e); + } + } + } + break; + } + + case REMOVE_MODE: + if ((type = SearchScreen(Note.X, Note.Y, REMOVE_TYPES, &ptr1, &ptr2, &ptr3)) != NO_TYPE) { + if (TEST_FLAG(LOCKFLAG, (LineTypePtr) ptr2)) { + Message(_("Sorry, the object is locked\n")); + break; + } + if (type == ELEMENT_TYPE) { + RubberbandTypePtr ptr; + int i; + + Crosshair.AttachedObject.RubberbandN = 0; + LookupRatLines(type, ptr1, ptr2, ptr3); + ptr = Crosshair.AttachedObject.Rubberband; + for (i = 0; i < Crosshair.AttachedObject.RubberbandN; i++) { + if (PCB->RatOn) + EraseRat((RatTypePtr) ptr->Line); + if (TEST_FLAG(RUBBERENDFLAG, ptr->Line)) + MoveObjectToRemoveUndoList(RATLINE_TYPE, ptr->Line, ptr->Line, ptr->Line); + else + TOGGLE_FLAG(RUBBERENDFLAG, ptr->Line); /* only remove line once */ + ptr++; + } + } + RemoveObject(type, ptr1, ptr2, ptr3); + IncrementUndoSerialNumber(); + SetChangedFlag(true); + } + break; + + case ROTATE_MODE: + RotateScreenObject(Note.X, Note.Y, gui->shift_is_pressed()? (SWAP_IDENT ? 1 : 3) + : (SWAP_IDENT ? 3 : 1)); + break; + + /* both are almost the same */ + case COPY_MODE: + case MOVE_MODE: + switch (Crosshair.AttachedObject.State) { + /* first notify, lookup object */ + case STATE_FIRST: + { + int types = (Settings.Mode == COPY_MODE) ? COPY_TYPES : MOVE_TYPES; + + Crosshair.AttachedObject.Type = + SearchScreen(Note.X, Note.Y, types, + &Crosshair.AttachedObject.Ptr1, &Crosshair.AttachedObject.Ptr2, &Crosshair.AttachedObject.Ptr3); + if (Crosshair.AttachedObject.Type != NO_TYPE) { + if (Settings.Mode == MOVE_MODE && TEST_FLAG(LOCKFLAG, (PinTypePtr) + Crosshair.AttachedObject.Ptr2)) { + Message(_("Sorry, the object is locked\n")); + Crosshair.AttachedObject.Type = NO_TYPE; + } + else + AttachForCopy(Note.X, Note.Y); + } + break; + } + + /* second notify, move or copy object */ + case STATE_SECOND: + if (Settings.Mode == COPY_MODE) + CopyObject(Crosshair.AttachedObject.Type, + Crosshair.AttachedObject.Ptr1, + Crosshair.AttachedObject.Ptr2, + Crosshair.AttachedObject.Ptr3, Note.X - Crosshair.AttachedObject.X, Note.Y - Crosshair.AttachedObject.Y); + else { + MoveObjectAndRubberband(Crosshair.AttachedObject.Type, + Crosshair.AttachedObject.Ptr1, + Crosshair.AttachedObject.Ptr2, + Crosshair.AttachedObject.Ptr3, + Note.X - Crosshair.AttachedObject.X, Note.Y - Crosshair.AttachedObject.Y); + SetLocalRef(0, 0, false); + } + SetChangedFlag(true); + + /* reset identifiers */ + Crosshair.AttachedObject.Type = NO_TYPE; + Crosshair.AttachedObject.State = STATE_FIRST; + break; + } + break; + + /* insert a point into a polygon/line/... */ + case INSERTPOINT_MODE: + switch (Crosshair.AttachedObject.State) { + /* first notify, lookup object */ + case STATE_FIRST: + Crosshair.AttachedObject.Type = + SearchScreen(Note.X, Note.Y, INSERT_TYPES, + &Crosshair.AttachedObject.Ptr1, &Crosshair.AttachedObject.Ptr2, &Crosshair.AttachedObject.Ptr3); + + if (Crosshair.AttachedObject.Type != NO_TYPE) { + if (TEST_FLAG(LOCKFLAG, (PolygonTypePtr) + Crosshair.AttachedObject.Ptr2)) { + Message(_("Sorry, the object is locked\n")); + Crosshair.AttachedObject.Type = NO_TYPE; + break; + } + else { + /* get starting point of nearest segment */ + if (Crosshair.AttachedObject.Type == POLYGON_TYPE) { + fake.poly = (PolygonTypePtr) Crosshair.AttachedObject.Ptr2; + polyIndex = GetLowestDistancePolygonPoint(fake.poly, Note.X, Note.Y); + fake.line.Point1 = fake.poly->Points[polyIndex]; + fake.line.Point2 = fake.poly->Points[prev_contour_point(fake.poly, polyIndex)]; + Crosshair.AttachedObject.Ptr2 = &fake.line; + + } + Crosshair.AttachedObject.State = STATE_SECOND; + InsertedPoint = *AdjustInsertPoint(); + } + } + break; + + /* second notify, insert new point into object */ + case STATE_SECOND: + if (Crosshair.AttachedObject.Type == POLYGON_TYPE) + InsertPointIntoObject(POLYGON_TYPE, + Crosshair.AttachedObject.Ptr1, fake.poly, + &polyIndex, InsertedPoint.X, InsertedPoint.Y, false, false); + else + InsertPointIntoObject(Crosshair.AttachedObject.Type, + Crosshair.AttachedObject.Ptr1, + Crosshair.AttachedObject.Ptr2, &polyIndex, InsertedPoint.X, InsertedPoint.Y, false, false); + SetChangedFlag(true); + + /* reset identifiers */ + Crosshair.AttachedObject.Type = NO_TYPE; + Crosshair.AttachedObject.State = STATE_FIRST; + break; + } + break; + } +} + +/* --------------------------------------------------------------------------- + * !!! no action routine !!! + * + * event handler to set the cursor according to the X pointer position + * called from inside main.c + */ +void EventMoveCrosshair(int ev_x, int ev_y) +{ + if (mid_stroke) + stub_stroke_record(ev_x, ev_y); + if (MoveCrosshairAbsolute(ev_x, ev_y)) { + /* update object position and cursor location */ + AdjustAttachedObjects(); + notify_crosshair_change(true); + } +} + +/* --------------------------------------------------------------------------- */ +/* helper: get route style size for a function and selected object type. + size_id: 0=main size; 1=2nd size (drill); 2=clearance */ +int get_style_size(int funcid, Coord * out, int type, int size_id) +{ + switch (funcid) { + case F_Object: + switch (type) { + case ELEMENT_TYPE: /* we'd set pin/pad properties, so fall thru */ + case VIA_TYPE: + case PIN_TYPE: + return get_style_size(F_SelectedVias, out, 0, size_id); + case PAD_TYPE: + return get_style_size(F_SelectedPads, out, 0, size_id); + case LINE_TYPE: + return get_style_size(F_SelectedLines, out, 0, size_id); + case ARC_TYPE: + return get_style_size(F_SelectedArcs, out, 0, size_id); + } + Message(_("Sorry, can't fetch the style of that object tpye (%x)\n"), type); + return -1; + case F_SelectedPads: + if (size_id != 2) /* don't mess with pad size */ + return -1; + case F_SelectedVias: + case F_SelectedPins: + case F_SelectedObjects: + case F_Selected: + case F_SelectedElements: + if (size_id == 0) + *out = Settings.ViaThickness; + else if (size_id == 1) + *out = Settings.ViaDrillingHole; + else + *out = Settings.Keepaway; + break; + case F_SelectedArcs: + case F_SelectedLines: + if (size_id == 2) + *out = Settings.Keepaway; + else + *out = Settings.LineThickness; + return 0; + case F_SelectedTexts: + case F_SelectedNames: + Message(_("Sorry, can't change style of every selected object\n")); + return -1; + } + return 0; +} + Index: trunk/src/action_helper.h =================================================================== --- trunk/src/action_helper.h (nonexistent) +++ trunk/src/action_helper.h (revision 1358) @@ -0,0 +1,78 @@ +/* + * 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 + * + * RCS: $Id$ + */ + +/* prototypes for action routines + */ + +#ifndef PCB_ACTION_H +#define PCH_ACTION_H + +#include "global.h" + +#define CLONE_TYPES LINE_TYPE | ARC_TYPE | VIA_TYPE | POLYGON_TYPE + +void ActionAdjustStyle(char *); +void EventMoveCrosshair(int, int); + +void AdjustAttachedObjects(void); + +void warpNoWhere(void); + +/* In gui-misc.c */ +bool ActionGetLocation(char *); +void ActionGetXY(char *); + +#define ACTION_ARG(n) (argc > (n) ? argv[n] : NULL) + +int get_style_size(int funcid, Coord * out, int type, int size_id); + +extern int defer_updates; +extern int defer_needs_update; +extern LayerTypePtr lastLayer; + +void NotifyLine(void); +void NotifyBlock(void); +void NotifyMode(void); +void ClearWarnings(void); + +typedef struct { + Coord X, Y; + Cardinal Buffer; + bool Click; + bool Moving; /* selected type clicked on */ + int Hit; /* move type clicked on */ + void *ptr1; + void *ptr2; + void *ptr3; +} action_note_t; + +extern action_note_t Note; +extern bool saved_mode; + +void ReleaseMode(void); + +#endif Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 1357) +++ trunk/src/buffer.c (revision 1358) @@ -37,7 +37,7 @@ #include "global.h" -#include "action.h" +#include "action_helper.h" #include "buffer.h" #include "copy.h" #include "create.h" Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 1357) +++ trunk/src/change_act.c (revision 1358) @@ -34,7 +34,7 @@ #include "data.h" #include "funchash_core.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "crosshair.h" #include "draw.h" Index: trunk/src/command.c =================================================================== --- trunk/src/command.c (revision 1357) +++ trunk/src/command.c (revision 1358) @@ -38,7 +38,7 @@ #include #include "global.h" -#include "action.h" +#include "action_helper.h" #include "buffer.h" #include "command.h" #include "data.h" Index: trunk/src/file_act.c =================================================================== --- trunk/src/file_act.c (revision 1357) +++ trunk/src/file_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/find_act.c =================================================================== --- trunk/src/find_act.c (revision 1357) +++ trunk/src/find_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 1357) +++ trunk/src/gui_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/hid/common/hidgl.c =================================================================== --- trunk/src/hid/common/hidgl.c (revision 1357) +++ trunk/src/hid/common/hidgl.c (revision 1358) @@ -48,7 +48,7 @@ #include #endif -#include "action.h" +#include "action_helper.h" #include "crosshair.h" #include "data.h" #include "error.h" Index: trunk/src/hid/gtk/gtkhid-main.c =================================================================== --- trunk/src/hid/gtk/gtkhid-main.c (revision 1357) +++ trunk/src/hid/gtk/gtkhid-main.c (revision 1358) @@ -12,7 +12,7 @@ #include -#include "action.h" +#include "action_helper.h" #include "crosshair.h" #include "error.h" #include "../hidint.h" Index: trunk/src/hid/gtk/gui-config.c =================================================================== --- trunk/src/hid/gtk/gui-config.c (revision 1357) +++ trunk/src/hid/gtk/gui-config.c (revision 1358) @@ -38,7 +38,7 @@ #include "gtkhid.h" #include "global.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "file.h" #include "error.h" Index: trunk/src/hid/gtk/gui-misc.c =================================================================== --- trunk/src/hid/gtk/gui-misc.c (revision 1357) +++ trunk/src/hid/gtk/gui-misc.c (revision 1358) @@ -30,7 +30,7 @@ #include "crosshair.h" #include "data.h" #include "misc.h" -#include "action.h" +#include "action_helper.h" #include "set.h" #include "pcb-printf.h" Index: trunk/src/hid/gtk/gui-output-events.c =================================================================== --- trunk/src/hid/gtk/gui-output-events.c (revision 1357) +++ trunk/src/hid/gtk/gui-output-events.c (revision 1358) @@ -34,7 +34,7 @@ #include -#include "action.h" +#include "action_helper.h" #include "crosshair.h" #include "draw.h" #include "error.h" Index: trunk/src/hid/gtk/gui-top-window.c =================================================================== --- trunk/src/hid/gtk/gui-top-window.c (revision 1357) +++ trunk/src/hid/gtk/gui-top-window.c (revision 1358) @@ -70,7 +70,7 @@ #include "hid.h" #include "../hidint.h" #include "hid/common/hid_resource.h" -#include "action.h" +#include "action_helper.h" #include "buffer.h" #include "change.h" #include "command.h" Index: trunk/src/hid/lesstif/main.c =================================================================== --- trunk/src/hid/lesstif/main.c (revision 1357) +++ trunk/src/hid/lesstif/main.c (revision 1358) @@ -17,7 +17,7 @@ #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "crosshair.h" #include "mymem.h" #include "misc.h" Index: trunk/src/main.c =================================================================== --- trunk/src/main.c (revision 1357) +++ trunk/src/main.c (revision 1358) @@ -50,7 +50,7 @@ #include "error.h" #include "file.h" #include "set.h" -#include "action.h" +#include "action_helper.h" #include "misc.h" #include "lrealpath.h" #include "free_atexit.h" Index: trunk/src/misc.c =================================================================== --- trunk/src/misc.c (revision 1357) +++ trunk/src/misc.c (revision 1358) @@ -70,7 +70,7 @@ #include "search.h" #include "set.h" #include "undo.h" -#include "action.h" +#include "action_helper.h" #include "portability.h" Index: trunk/src/netlist.c =================================================================== --- trunk/src/netlist.c (revision 1357) +++ trunk/src/netlist.c (revision 1358) @@ -42,7 +42,7 @@ #endif #include "global.h" -#include "action.h" +#include "action_helper.h" #include "buffer.h" #include "command.h" #include "data.h" Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 1357) +++ trunk/src/object_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/plugins.c =================================================================== --- trunk/src/plugins.c (revision 1357) +++ trunk/src/plugins.c (revision 1358) @@ -33,7 +33,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "genvector/gds_char.h" plugin_info_t *plugins = NULL; Index: trunk/src/polygon_act.c =================================================================== --- trunk/src/polygon_act.c (revision 1357) +++ trunk/src/polygon_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 1357) +++ trunk/src/rats_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/rats_patch.c =================================================================== --- trunk/src/rats_patch.c (revision 1357) +++ trunk/src/rats_patch.c (revision 1358) @@ -34,7 +34,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "error.h" #include "buffer.h" #include "remove.h" Index: trunk/src/remove_act.c =================================================================== --- trunk/src/remove_act.c (revision 1357) +++ trunk/src/remove_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/select_act.c =================================================================== --- trunk/src/select_act.c (revision 1357) +++ trunk/src/select_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src/set.c =================================================================== --- trunk/src/set.c (revision 1357) +++ trunk/src/set.c (revision 1358) @@ -42,7 +42,7 @@ #include "global.h" -#include "action.h" +#include "action_helper.h" #include "buffer.h" #include "compat.h" #include "crosshair.h" Index: trunk/src/undo_act.c =================================================================== --- trunk/src/undo_act.c (revision 1357) +++ trunk/src/undo_act.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "funchash_core.h" Index: trunk/src_plugins/autoroute/action.c =================================================================== --- trunk/src_plugins/autoroute/action.c (revision 1357) +++ trunk/src_plugins/autoroute/action.c (revision 1358) @@ -28,7 +28,7 @@ #include "config.h" #include "global.h" #include "autoroute.h" -#include "action.h" +#include "action_helper.h" #include "plugins.h" #include "set.h" Index: trunk/src_plugins/import_sch/import_sch.c =================================================================== --- trunk/src_plugins/import_sch/import_sch.c (revision 1357) +++ trunk/src_plugins/import_sch/import_sch.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src_plugins/legacy_func/legacy_func.c =================================================================== --- trunk/src_plugins/legacy_func/legacy_func.c (revision 1357) +++ trunk/src_plugins/legacy_func/legacy_func.c (revision 1358) @@ -28,7 +28,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src_plugins/oldactions/oldactions.c =================================================================== --- trunk/src_plugins/oldactions/oldactions.c (revision 1357) +++ trunk/src_plugins/oldactions/oldactions.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h" Index: trunk/src_plugins/renumber/renumber.c =================================================================== --- trunk/src_plugins/renumber/renumber.c (revision 1357) +++ trunk/src_plugins/renumber/renumber.c (revision 1358) @@ -27,7 +27,7 @@ #include "config.h" #include "global.h" #include "data.h" -#include "action.h" +#include "action_helper.h" #include "change.h" #include "error.h" #include "undo.h"