pcb 4.1.1
An interactive printed circuit board layout editor.
|
Functions used to insert points into objects. More...
#include "global.h"
#include "copy.h"
#include "create.h"
#include "crosshair.h"
#include "data.h"
#include "draw.h"
#include "insert.h"
#include "line.h"
#include "misc.h"
#include "move.h"
#include "polygon.h"
#include "rtree.h"
#include "search.h"
#include "select.h"
#include "set.h"
#include "undo.h"
Go to the source code of this file.
Functions | |
static void * | InsertPointIntoLine (LayerType *Layer, LineType *Line) |
Inserts a point into a line. | |
static void * | InsertPointIntoPolygon (LayerType *Layer, PolygonType *Polygon) |
Inserts a point into a polygon. | |
static void * | InsertPointIntoRat (RatType *Rat) |
Inserts a point into a rat-line. | |
void * | InsertPointIntoObject (int Type, void *Ptr1, void *Ptr2, Cardinal *Ptr3, Coord DX, Coord DY, bool Force, bool insert_last) |
Inserts point into objects. | |
PointType * | AdjustInsertPoint (void) |
Adjusts the insert point to make 45 degree lines as necessary. | |
Variables | |
static Coord | InsertX |
static Coord | InsertY |
static Cardinal | InsertAt |
static bool | InsertLast |
static bool | Forcible |
static ObjectFunctionType | InsertFunctions |
Functions used to insert points into objects.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Contact addresses for paper mail and Email: Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany Thomas.Nau@rz.uni-ulm.de
Definition in file insert.c.
PointType* AdjustInsertPoint | ( | void | ) |
Adjusts the insert point to make 45 degree lines as necessary.
Definition at line 239 of file insert.c.
References CrosshairType::AttachedObject, Crosshair, Distance(), FortyFiveLine(), gui, InsertedPoint, line, m, PCB, AttachedLineType::Point1, AttachedLineType::Point2, AttachedObjectType::Ptr2, AttachedObjectType::Ptr3, PCBType::RatDraw, hid_st::shift_is_pressed, AttachedObjectType::State, STATE_FIRST, TAN_30_DEGREE, TAN_60_DEGREE, TEST_FLAG, PointType::X, CrosshairType::X, x, PointType::Y, CrosshairType::Y, and y.
Referenced by AdjustAttachedObjects(), and NotifyMode().
Inserts a point into a line.
Definition at line 121 of file insert.c.
References AddObjectToCreateUndoList(), AddObjectToMoveUndoList(), ClearFromPolygon(), CreateDrawnLineOnLayer(), PCBType::Data, Draw(), DrawLine(), EraseLine(), InsertX, InsertY, line, LayerType::line_tree, PCB, r_delete_entry(), r_insert_entry(), RestoreToPolygon(), SetLineBoundingBox(), X, and Y.
void* InsertPointIntoObject | ( | int | Type, |
void * | Ptr1, | ||
void * | Ptr2, | ||
Cardinal * | Ptr3, | ||
Coord | DX, | ||
Coord | DY, | ||
bool | Force, | ||
bool | insert_last | ||
) |
Inserts point into objects.
Definition at line 215 of file insert.c.
References Forcible, IncrementUndoSerialNumber(), InsertAt, InsertLast, InsertX, InsertY, ObjectOperation(), and ptr.
Referenced by NotifyMode(), and UndoRemovePoint().
static void * InsertPointIntoPolygon | ( | LayerType * | Layer, |
PolygonType * | Polygon | ||
) | [static] |
Inserts a point into a polygon.
Definition at line 163 of file insert.c.
References AddObjectToInsertPointUndoList(), CreateNewPointInPolygon(), PCBType::Data, Draw(), DrawPolygon(), ErasePolygon(), Forcible, InitClip(), InsertAt, InsertLast, InsertX, InsertY, IsPointOnLine(), line, n, PCB, polygon_st::Points, LayerType::polygon_tree, prev_contour_point(), r_delete_entry(), r_insert_entry(), RemoveExcessPolygonPoints(), SetChangedFlag(), and SetPolygonBoundingBox().
static void * InsertPointIntoRat | ( | RatType * | Rat | ) | [static] |
Inserts a point into a rat-line.
Definition at line 92 of file insert.c.
References AddObjectToCreateUndoList(), CreateDrawnLineOnLayer(), CURRENT, Draw(), DrawLine(), EraseRat(), InsertX, InsertY, SettingType::Keepaway, SettingType::LineThickness, MoveObjectToRemoveUndoList(), and Settings.
bool Forcible [static] |
Definition at line 72 of file insert.c.
Referenced by InsertPointIntoObject(), and InsertPointIntoPolygon().
Definition at line 70 of file insert.c.
Referenced by InsertPointIntoObject(), and InsertPointIntoPolygon().
ObjectFunctionType InsertFunctions [static] |
{ InsertPointIntoLine, NULL, InsertPointIntoPolygon, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, InsertPointIntoRat }
bool InsertLast [static] |
Definition at line 71 of file insert.c.
Referenced by InsertPointIntoObject(), and InsertPointIntoPolygon().
Definition at line 69 of file insert.c.
Referenced by InsertPointIntoLine(), InsertPointIntoObject(), InsertPointIntoPolygon(), and InsertPointIntoRat().
Definition at line 69 of file insert.c.
Referenced by InsertPointIntoLine(), InsertPointIntoObject(), InsertPointIntoPolygon(), and InsertPointIntoRat().