pcb 4.1.1
An interactive printed circuit board layout editor.

insert.c File Reference

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"
Include dependency graph for insert.c:

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.
PointTypeAdjustInsertPoint (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

Detailed Description

Functions used to insert points into objects.


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., 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.


Function Documentation

static void * InsertPointIntoLine ( LayerType Layer,
LineType Line 
) [static]
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().

Here is the call graph for this function:

static void * InsertPointIntoPolygon ( LayerType Layer,
PolygonType Polygon 
) [static]
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.

Here is the call graph for this function:


Variable Documentation

bool Forcible [static]

Definition at line 72 of file insert.c.

Referenced by InsertPointIntoObject(), and InsertPointIntoPolygon().

Cardinal InsertAt [static]

Definition at line 70 of file insert.c.

Referenced by InsertPointIntoObject(), and InsertPointIntoPolygon().

Initial value:
 {
  InsertPointIntoLine,
  NULL,
  InsertPointIntoPolygon,
  NULL,
  NULL,
  NULL,
  NULL,
  NULL,
  NULL,
  NULL,
  NULL,
  InsertPointIntoRat
}

Definition at line 73 of file insert.c.

bool InsertLast [static]

Definition at line 71 of file insert.c.

Referenced by InsertPointIntoObject(), and InsertPointIntoPolygon().