AddElementToBuffer(): Let CopyElementLowLevel() create the element to copy into.
[geda-pcb/pcjc2.git] / src / draw.h
blobb58e5cbc1b5c2515166e68c6fd3c9013788b5fe9
1 /*
2 * COPYRIGHT
4 * PCB, interactive printed circuit board design
5 * Copyright (C) 1994,1995,1996, 2004 Thomas Nau
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 * Contact addresses for paper mail and Email:
22 * Thomas Nau, Schlehenweg 15, 88471 Baustetten, Germany
23 * Thomas.Nau@rz.uni-ulm.de
27 /* prototypes for drawing routines
30 #ifndef PCB_DRAW_H
31 #define PCB_DRAW_H
33 #include "global.h"
35 void Draw (void);
36 void Redraw (void);
37 void DrawVia (PinType *);
38 void DrawRat (RatType *);
39 void DrawViaName (PinType *);
40 void DrawPin (PinType *);
41 void DrawPinName (PinType *);
42 void DrawPad (PadType *);
43 void DrawPadName (PadType *);
44 void DrawLine (LayerType *, LineType *);
45 void DrawArc (LayerType *, ArcType *);
46 void DrawText (LayerType *, TextType *);
47 void DrawPolygon (LayerType *, PolygonType *);
48 void DrawElement (ElementType *);
49 void DrawElementName (ElementType *);
50 void DrawElementPackage (ElementType *);
51 void DrawElementPinsAndPads (ElementType *);
52 void DrawObject (int, void *, void *);
53 void DrawLayer (LayerType *, const BoxType *);
54 void EraseVia (PinType *);
55 void EraseRat (RatType *);
56 void EraseViaName (PinType *);
57 void ErasePad (PadType *);
58 void ErasePadName (PadType *);
59 void ErasePin (PinType *);
60 void ErasePinName (PinType *);
61 void EraseLine (LineType *);
62 void EraseArc (ArcType *);
63 void EraseText (LayerType *, TextType *);
64 void ErasePolygon (PolygonType *);
65 void EraseElement (ElementType *);
66 void EraseElementPinsAndPads (ElementType *);
67 void EraseElementName (ElementType *);
68 void EraseObject (int, void *, void *);
70 void DrawLayerGroup (int side, const BoxType *drawn_area);
71 void DrawPaste (int side, const BoxType *drawn_area);
72 void DrawSilk (int side, const BoxType *drawn_area);
73 void DrawMask (int side, const BoxType *drawn_area);
74 void DrawHoles (bool draw_plated, bool draw_unplated, const BoxType *drawn_area);
75 void PrintAssembly (int side, const BoxType *drawn_area);
77 #endif