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
35 /*bool SwitchDrawingWindow(double, GdkDrawable *, gboolean, gboolean);*/
39 void DrawVia (PinType
*);
40 void DrawRat (RatType
*);
41 void DrawViaName (PinType
*);
42 void DrawPin (PinType
*);
43 void DrawPinName (PinType
*);
44 void DrawPad (PadType
*);
45 void DrawPadName (PadType
*);
46 void DrawLine (LayerType
*, LineType
*);
47 void DrawArc (LayerType
*, ArcType
*);
48 void DrawText (LayerType
*, TextType
*);
49 void DrawTextLowLevel (TextType
*, Coord
);
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
);