Jspice3
plotdev.h
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1987 Jeffrey M. Hsu
5  1992 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 /*
9  * The display device structure.
10  */
11 
12 #include "ftegraph.h"
13 
14 struct polygn {
15  int nvertices;
16  long *xy;
17 };
18 typedef struct polygn POLYGON;
19 
20 #ifdef __STDC__
21 
22 typedef struct {
23  char *name;
24  bool windows; /* true if multiple windows, asynchronous redraw,
25  * such as X. False if single window, synchronous
26  * redraw, such as MFB */
27  bool hardcopy; /* true if hard copy device */
28  int minx, miny;
29  int width, height; /* in screen coordinate system */
30  int numlinestyles, numcolors; /* number supported */
31  int (*Init)(void);
32  int (*NewViewport)(GRAPH*);
33  int (*Close)(void);
34  int (*Halt)(void);
35  int (*Clear)(void);
36  int (*Title)(char*,char*);
37  int (*Pixel)(int,int);
38  int (*Line)(int,int,int,int);
39  int (*Box)(int,int,int,int);
40  int (*Arc)(int,int,int,double,double);
41  int (*Polygon)(POLYGON*);
42  int (*Text)(char*,int,int);
43  int (*SetGhost)(void(*)(int,int,int,int),int,int);
44  int (*DefineColor)(int,double,double,double);
45  int (*DefineLinestyle)(int,int);
46  int (*SetLinestyle)(int);
47  int (*SetColor)(int);
48  int (*Update)(void);
49 /* int (*NDCtoScreen)(); */
50  int (*Track)(void);
51  int (*MakeMenu)(void);
52  int (*MakeDialog)(void);
53  int (*Input)(REQUEST*,RESPONSE*);
54  int (*DatatoScreen)(GRAPH*,double,double,int*,int*);
55 } DISPDEVICE;
56 
57 #else
58 
59 typedef struct {
60  char *name;
61  bool windows; /* true if multiple windows, asynchronous redraw,
62  * such as X. False if single window, synchronous
63  * redraw, such as MFB */
64  bool hardcopy; /* true if hard copy device */
65  int minx, miny;
66  int width, height; /* in screen coordinate system */
67  int numlinestyles, numcolors; /* number supported */
68  int (*Init)();
69  int (*NewViewport)();
70  int (*Close)();
71  int (*Halt)();
72  int (*Clear)();
73  int (*Title)();
74  int (*Pixel)();
75  int (*Line)();
76  int (*Box)();
77  int (*Arc)();
78  int (*Polygon)();
79  int (*Text)();
80  int (*SetGhost)();
81  int (*DefineColor)();
82  int (*DefineLinestyle)();
83  int (*SetLinestyle)();
84  int (*SetColor)();
85  int (*Update)();
86 /* int (*NDCtoScreen)(); */
87  int (*Track)();
88  int (*MakeMenu)();
89  int (*MakeDialog)();
90  int (*Input)();
91  int (*DatatoScreen)();
92 } DISPDEVICE;
93 
94 #endif
95 
96 /* display.c */
97 extern DISPDEVICE device[];
98 extern DISPDEVICE *dispdev;
99 #ifdef __STDC__
100 extern DISPDEVICE *FindDev(char*);
101 extern int DevXterm(char*);
102 extern void DevGrHalt(void);
103 extern void SaveText(GRAPH*,char*,int,int);
104 extern void DevInit(void);
105 extern int DevNewViewport(GRAPH*);
106 extern void DevClose(void);
107 extern void DevHalt(void);
108 extern void DevClear(void);
109 extern void DevTitle(char*,char*);
110 extern void DevPixel(int,int);
111 extern void DevLine(int,int,int,int);
112 extern void DevBox(int,int,int,int);
113 extern void DevArc(int,int,int,double,double);
114 extern void DevPolygon(POLYGON*);
115 extern void DevText(char*,int,int);
116 extern void DevSetGhost(void(*)(int,int,int,int),int,int);
117 extern void DevDefineColor(int,double,double,double);
118 extern void DevDefineLinestyle(int,int);
119 extern void DevSetLinestyle(int);
120 extern void DevSetColor(int);
121 extern void DevUpdate(void);
122 extern void DevDatatoScreen(GRAPH*,double,double,int*,int*);
123 extern void DevInput(REQUEST*,RESPONSE*);
124 extern int DevSwitch(char*);
125 extern int DevGetchar(FILE*);
126 #else
127 extern DISPDEVICE *FindDev();
128 extern int DevXterm();
129 extern void DevGrHalt();
130 extern void SaveText();
131 extern void DevInit();
132 extern int DevNewViewport();
133 extern void DevClose();
134 extern void DevHalt();
135 extern void DevClear();
136 extern void DevTitle();
137 extern void DevPixel();
138 extern void DevLine();
139 extern void DevBox();
140 extern void DevArc();
141 extern void DevPolygon();
142 extern void DevText();
143 extern void DevSetGhost();
144 extern void DevDefineColor();
145 extern void DevDefineLinestyle();
146 extern void DevSetLinestyle();
147 extern void DevSetColor();
148 extern void DevUpdate();
149 extern void DevDatatoScreen();
150 extern void DevInput();
151 extern int DevSwitch();
152 extern int DevGetchar();
153 #endif
154 
155 #ifdef HAVE_X11
156 /* x11.c */
157 #ifdef __STDC__
158 extern int X11_Init(void);
159 extern int X11_NewViewport(GRAPH*);
160 extern int X11_Close(void);
161 extern int X11_Halt(void);
162 extern int X11_Title(char*,char*);
163 extern int X11_Pixel(int,int);
164 extern int X11_Line(int,int,int,int);
165 extern int X11_Box(int,int,int,int);
166 extern int X11_Arc(int,int,int,double,double);
167 extern int X11_Polygon(POLYGON*);
168 extern int X11_Text(char*,int,int);
169 extern int X11_SetGhost(void(*)(int,int,int,int),int,int);
170 extern int X11_DefineColor(int,double,double,double);
171 extern int X11_DefineLinestyle(int,int);
172 extern int X11_SetLinestyle(int);
173 extern int X11_SetColor(int);
174 extern int X11_Update(void);
175 extern int X11_Clear(void);
176 extern int X11_Input(REQUEST*,RESPONSE*);
177 #else
178 extern int X11_Init();
179 extern int X11_NewViewport();
180 extern int X11_Close();
181 extern int X11_Halt();
182 extern int X11_Title();
183 extern int X11_Pixel();
184 extern int X11_Line();
185 extern int X11_Box();
186 extern int X11_Arc();
187 extern int X11_Polygon();
188 extern int X11_Text();
189 extern int X11_SetGhost();
190 extern int X11_DefineColor();
191 extern int X11_DefineLinestyle();
192 extern int X11_SetLinestyle();
193 extern int X11_SetColor();
194 extern int X11_Update();
195 extern int X11_Clear();
196 extern int X11_Input();
197 #endif
198 #endif
199 
200 #ifdef HAVE_MFB
201 /* mfb.c */
202 #ifdef __STDC__
203 extern int Mfb_Init(void);
204 extern int Mfb_NewViewport(GRAPH*);
205 extern int Mfb_Close(void);
206 extern int Mfb_Halt(void);
207 extern int Mfb_Pixel(int,int);
208 extern int Mfb_Line(int,int,int,int);
209 extern int Mfb_Box(int,int,int,int);
210 extern int Mfb_Arc(int,int,int,double,double);
211 extern int Mfb_Polygon(POLYGON*);
212 extern int Mfb_Text(char*,int,int);
213 extern int Mfb_SetGhost(void(*)(int,int,int,int),int,int);
214 extern int Mfb_DefineColor(int,double,double,double);
215 extern int Mfb_DefineLinestyle(int,int);
216 extern int Mfb_SetLinestyle(int);
217 extern int Mfb_SetColor(int);
218 extern int Mfb_Update(void);
219 extern int Mfb_Clear(void);
220 extern int Mfb_MakeMenu(void);
221 extern int Mfb_MakeDialog(void);
222 extern int Mfb_Input(REQUEST*,RESPONSE*);
223 #else
224 extern int Mfb_Init();
225 extern int Mfb_NewViewport();
226 extern int Mfb_Close();
227 extern int Mfb_Halt();
228 extern int Mfb_Pixel();
229 extern int Mfb_Line();
230 extern int Mfb_Box();
231 extern int Mfb_Arc();
232 extern int Mfb_Polygon();
233 extern int Mfb_Text();
234 extern int Mfb_SetGhost();
235 extern int Mfb_DefineColor();
236 extern int Mfb_DefineLinestyle();
237 extern int Mfb_SetLinestyle();
238 extern int Mfb_SetColor();
239 extern int Mfb_Update();
240 extern int Mfb_Clear();
241 extern int Mfb_MakeMenu();
242 extern int Mfb_MakeDialog();
243 extern int Mfb_Input();
244 #endif
245 #endif
246 
247 /* plot5.c */
248 #ifdef __STDC__
249 extern int Plt5_Init(void);
250 extern int Plt5_NewViewport(GRAPH*);
251 extern int Plt5_Close(void);
252 extern int Plt5_Halt(void);
253 extern int Plt5_Pixel(int,int);
254 extern int Plt5_Line(int,int,int,int);
255 extern int Plt5_Box(int,int,int,int);
256 extern int Plt5_Arc(int,int,int,double,double);
257 extern int Plt5_Polygon(POLYGON*);
258 extern int Plt5_Text(char*,int,int);
259 extern int Plt5_SetLinestyle(int);
260 extern int Plt5_SetColor(int);
261 extern int Plt5_Update(void);
262 #else
263 extern int Plt5_Init();
264 extern int Plt5_NewViewport();
265 extern int Plt5_Close();
266 extern int Plt5_Halt();
267 extern int Plt5_Pixel();
268 extern int Plt5_Line();
269 extern int Plt5_Box();
270 extern int Plt5_Arc();
271 extern int Plt5_Polygon();
272 extern int Plt5_Text();
273 extern int Plt5_SetLinestyle();
274 extern int Plt5_SetColor();
275 extern int Plt5_Update();
276 #endif
277 
278 /* postsc.c */
279 #ifdef __STDC__
280 extern int PS_Init(void);
281 extern int PS_NewViewport(GRAPH*);
282 extern int PS_Close(void);
283 extern int PS_Halt(void);
284 extern int PS_Pixel(int,int);
285 extern int PS_Line(int,int,int,int);
286 extern int PS_Box(int,int,int,int);
287 extern int PS_Arc(int,int,int,double,double);
288 extern int PS_Polygon(POLYGON*);
289 extern int PS_Text(char*,int,int);
290 extern int PS_SetLinestyle(int);
291 extern int PS_SetColor(int);
292 extern int PS_Update(void);
293 extern int PS_ScaledText(char*,int,int,int);
294 #else
295 extern int PS_Init();
296 extern int PS_NewViewport();
297 extern int PS_Close();
298 extern int PS_Halt();
299 extern int PS_Pixel();
300 extern int PS_Line();
301 extern int PS_Box();
302 extern int PS_Arc();
303 extern int PS_Polygon();
304 extern int PS_Text();
305 extern int PS_SetLinestyle();
306 extern int PS_SetColor();
307 extern int PS_Update();
308 extern int PS_ScaledText();
309 #endif
310 
311 /* hplaser.c */
312 #ifdef __STDC__
313 extern int HP_Init(void);
314 extern int HP_NewViewport(GRAPH*);
315 extern int HP_Close(void);
316 extern int HP_Halt(void);
317 extern int HP_Pixel(int,int);
318 extern int HP_Line(int,int,int,int);
319 extern int HP_Box(int,int,int,int);
320 extern int HP_Arc(int,int,int,double,double);
321 extern int HP_Polygon(POLYGON*);
322 extern int HP_Text(char*,int,int);
323 extern int HP_DefineLinestyle(int,int);
324 extern int HP_SetLinestyle(int);
325 #else
326 extern int HP_Init();
327 extern int HP_NewViewport();
328 extern int HP_Close();
329 extern int HP_Halt();
330 extern int HP_Pixel();
331 extern int HP_Line();
332 extern int HP_Box();
333 extern int HP_Arc();
334 extern int HP_Polygon();
335 extern int HP_Text();
336 extern int HP_DefineLinestyle();
337 extern int HP_SetLinestyle();
338 #endif
339 
340 /* wp.c */
341 #ifdef __STDC__
342 extern int WP_Init(void);
343 extern int WP_NewViewport(GRAPH*);
344 extern int WP_Close(void);
345 extern int WP_Halt(void);
346 extern int WP_Pixel(int,int);
347 extern int WP_Line(int,int,int,int);
348 extern int WP_Box(int,int,int,int);
349 extern int WP_Arc(int,int,int,double,double);
350 extern int WP_Polygon(POLYGON*);
351 extern int WP_Text(char*,int,int);
352 extern int WP_DefineLinestyle(int,int);
353 extern int WP_SetLinestyle(int);
354 #else
355 extern int WP_Init();
356 extern int WP_NewViewport();
357 extern int WP_Close();
358 extern int WP_Halt();
359 extern int WP_Pixel();
360 extern int WP_Line();
361 extern int WP_Box();
362 extern int WP_Arc();
363 extern int WP_Polygon();
364 extern int WP_Text();
365 extern int WP_DefineLinestyle();
366 extern int WP_SetLinestyle();
367 #endif
DISPDEVICE device[]
Definition: display.c:24
int PS_Box()
void DevDatatoScreen()
void DevDefineColor()
int Plt5_Polygon()
int Plt5_Close()
Definition: plot5.c:82
int PS_Polygon()
int Plt5_Text()
int DevXterm()
int PS_Halt()
Definition: postsc.c:117
long * xy
Definition: plotdev.h:16
int HP_Init()
Definition: hplaser.c:44
int WP_Halt()
Definition: wp.c:135
int Plt5_Line()
void DevSetColor()
int numlinestyles
Definition: plotdev.h:67
int HP_Halt()
Definition: hplaser.c:121
void DevText()
char * name
Definition: plotdev.h:60
DISPDEVICE * dispdev
Definition: display.c:112
bool hardcopy
Definition: plotdev.h:64
void DevSetLinestyle()
void DevDefineLinestyle()
int miny
Definition: plotdev.h:65
int DevNewViewport()
int Plt5_Halt()
Definition: plot5.c:90
void DevClear()
Definition: display.c:234
int PS_Update()
Definition: postsc.c:381
int HP_Close()
Definition: hplaser.c:113
int nvertices
Definition: plotdev.h:15
Definition: plotdev.h:14
int Plt5_NewViewport()
int Plt5_SetLinestyle()
bool windows
Definition: plotdev.h:61
int PS_NewViewport()
int WP_Polygon()
void SaveText()
int HP_Arc()
void DevBox()
int Plt5_Update()
Definition: plot5.c:230
int WP_Close()
Definition: wp.c:127
void DevHalt()
Definition: display.c:226
int WP_SetLinestyle()
int Plt5_SetColor()
int WP_NewViewport()
Definition: ftegraph.h:29
void DevPixel()
void DevLine()
int HP_Box()
void DevSetGhost()
int WP_Init()
Definition: wp.c:24
DISPDEVICE * FindDev()
int WP_DefineLinestyle()
int HP_Pixel()
void DevUpdate()
Definition: display.c:359
int PS_Close()
Definition: postsc.c:109
char * Init()
Definition: init.c:35
int PS_SetColor()
int WP_Arc()
int DevGetchar()
void DevInput()
void DevInit()
Definition: display.c:168
int PS_Arc()
int HP_Line()
int HP_SetLinestyle()
int PS_Pixel()
int PS_Init()
Definition: postsc.c:39
void DevGrHalt()
Definition: display.c:151
void DevTitle()
void DevArc()
int width
Definition: plotdev.h:66
int HP_Polygon()
int HP_Text()
int HP_DefineLinestyle()
int PS_ScaledText()
int PS_SetLinestyle()
int DevSwitch()
int PS_Line()
int Plt5_Box()
int WP_Text()
int WP_Line()
int Plt5_Arc()
int WP_Box()
int Plt5_Pixel()
void DevClose()
Definition: display.c:218
int HP_NewViewport()
int Plt5_Init()
Definition: plot5.c:23
int PS_Text()
int WP_Pixel()
void DevPolygon()