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