pcb 4.1.1
An interactive printed circuit board layout editor.
|
Prototypes for copy routines. More...
#include "global.h"
Go to the source code of this file.
Defines | |
#define | COPY_TYPES |
Functions | |
PolygonType * | CopyPolygonLowLevel (PolygonType *, PolygonType *) |
Copies data from one polygon to another. | |
ElementType * | CopyElementLowLevel (DataType *, ElementType *, bool, Coord, Coord, int mask_flags) |
Copies data from one element to another and creates the destination if necessary. | |
bool | CopyPastebufferToLayout (Coord, Coord) |
Pastes the contents of the buffer to the layout. | |
void * | CopyObject (int, void *, void *, void *, Coord, Coord) |
Copies the object identified by its data pointers and the type the new objects is moved by DX,DY. |
Prototypes for copy routines.
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 copy.h.
#define COPY_TYPES |
(VIA_TYPE | LINE_TYPE | TEXT_TYPE | \ ELEMENT_TYPE | ELEMENTNAME_TYPE | POLYGON_TYPE | ARC_TYPE)
Definition at line 41 of file copy.h.
Referenced by NotifyMode().
ElementType* CopyElementLowLevel | ( | DataType * | , |
ElementType * | , | ||
bool | , | ||
Coord | , | ||
Coord | , | ||
int | mask_flags | ||
) |
Copies data from one element to another and creates the destination if necessary.
Definition at line 122 of file copy.c.
References ARC_LOOP, ElementType::Attributes, pin_st::Clearance, CreateNewArcInElement(), CreateNewAttribute(), CreateNewElement(), CreateNewLineInElement(), CreateNewPad(), CreateNewPin(), DESCRIPTION_NAME, DESCRIPTION_TEXT, Dest, pin_st::DrillingHole, ELEMENTLINE_LOOP, END_LOOP, PCBType::Font, line, AttributeListType::List, ElementType::MarkX, ElementType::MarkY, pin_st::Mask, MaskFlags(), AttributeType::name, ElementType::Name, pin_st::Name, NAMEONPCB_NAME, AttributeListType::Number, pin_st::Number, PAD_LOOP, PCB, pin, PIN_LOOP, SetElementBoundingBox(), pin_st::Thickness, AttributeType::value, VALUE_NAME, pin_st::X, X, pin_st::Y, and Y.
Referenced by AddElementToBuffer(), CopyElement(), and pinout_set_data().
Copies the object identified by its data pointers and the type the new objects is moved by DX,DY.
Definition at line 418 of file copy.c.
References DeltaX, DeltaY, IncrementUndoSerialNumber(), ObjectOperation(), and ptr.
Referenced by NotifyMode().
Pastes the contents of the buffer to the layout.
Definition at line 322 of file copy.c.
References ARC_LOOP, LayerType::ArcN, CopyArc(), CopyElement(), CopyLine(), CopyPolygon(), CopyText(), CopyVia(), DeltaX, DeltaY, Draw(), ELEMENT_LOOP, PCBType::ElementOn, END_LOOP, FRONT, IncrementUndoSerialNumber(), PCBType::InvisibleObjectsOn, LAYER_PTR, line, LINE_LOOP, LayerType::LineN, max_copper_layer, LayerType::On, PASTEBUFFER, PCB, PCBType::PinOn, POLYGON_LOOP, LayerType::PolygonN, SILK_LAYER, TEXT_LOOP, LayerType::TextN, VIA_LOOP, and PCBType::ViaOn.
Referenced by ActionElementList(), ActionPasteBuffer(), ActionRipUp(), ActionSelect(), and NotifyMode().
PolygonType* CopyPolygonLowLevel | ( | PolygonType * | Dest, |
PolygonType * | Src | ||
) |
Copies data from one polygon to another.
'Dest' has to exist.
Definition at line 97 of file copy.c.
References CLEAR_FLAG, CreateNewHoleInPolygon(), CreateNewPointInPolygon(), polygon_st::HoleIndex, n, polygon_st::PointN, polygon_st::Points, SetPolygonBoundingBox(), PointType::X, and PointType::Y.
Referenced by AddPolygonToBuffer(), and CopyPolygon().