Continuing to track down the issue with a crash on startup on
[xcircuit.git] / prototypes.h
blobd577c854c48eddf1b9d086294930c714d69b7af5
1 /*----------------------------------------------------------------------*/
2 /* prototypes.h: */
3 /* Master list of function prototypes */
4 /*----------------------------------------------------------------------*/
6 /* from undo.c */
8 /* Note variable argument list for register_for_undo() */
9 extern void register_for_undo(u_int, u_char, objinstptr, ...);
10 extern void undo_finish_series(void);
11 extern void undo_action(void);
12 extern void redo_action(void);
13 extern void flush_undo_stack(void);
14 extern void flush_redo_stack(void);
15 extern void truncate_undo_stack(void);
16 extern void free_undo_record(Undoptr);
17 extern void free_redo_record(Undoptr);
18 extern stringpart *get_original_string(labelptr);
19 extern short *recover_selectlist(Undoptr);
20 extern void free_selection(uselection *);
21 extern uselection *remember_selection(objinstptr, short *, int);
22 extern short *regen_selection(objinstptr, uselection *);
23 #ifndef TCL_WRAPPER
24 extern void undo_call(xcWidget, caddr_t, caddr_t);
25 extern void redo_call(xcWidget, caddr_t, caddr_t);
26 #endif
29 /* from tclxcircuit.c */
31 #ifdef TCL_WRAPPER
32 extern void xctk_drag(ClientData, XEvent *);
33 extern void xctk_draglscroll(ClientData, XEvent *);
34 extern void xctk_dragfilebox(ClientData, XEvent *);
35 extern void tcl_stdflush(FILE *);
36 extern void tcl_printf(FILE *, const char *, ...);
37 extern int XcTagCallback(Tcl_Interp *, int, Tcl_Obj *CONST objv[]);
38 extern Tcl_Obj *evaluate_raw(objectptr, oparamptr, objinstptr, int *);
39 extern char *TCL_to_PS(char *);
40 extern XCWindowData *GUI_init(int, Tcl_Obj *CONST objv[]);
41 extern void build_app_database(Tk_Window);
42 extern int XcInternalTagCall(Tcl_Interp *, int, ...);
43 extern char *translateparamtype(int);
44 extern char *translatestyle(int);
45 extern char *translateencoding(int);
47 #endif
49 extern char *evaluate_expr(objectptr, oparamptr, objinstptr);
51 /* from elements.c: */
53 /* element constructor functions */
54 extern labelptr new_label(objinstptr, stringpart *, int, int, int, u_char);
55 extern labelptr new_simple_label(objinstptr, char *, int, int, int);
56 extern labelptr new_temporary_label(objectptr, char *, int, int);
57 extern polyptr new_polygon(objinstptr, pointlist *, int);
58 extern splineptr new_spline(objinstptr, pointlist);
59 extern arcptr new_arc(objinstptr, int, int, int);
60 extern objinstptr new_objinst(objinstptr, objinstptr, int, int);
62 /* element destructor function */
63 extern void remove_element(objinstptr, genericptr);
65 /* functions to set default values for element types */
66 extern void polydefaults(polyptr, int, int, int);
67 extern void splinedefaults(splineptr, int, int);
68 extern void arcdefaults(arcptr, int, int);
69 extern void pathdefaults(pathptr, int, int);
70 extern void instancedefaults(objinstptr, objectptr, int, int);
71 extern void labeldefaults(labelptr, u_char, int, int);
73 extern void converttocurve();
74 extern void poly_add_point(polyptr, XPoint *);
75 extern void drawdot(int, int);
76 extern void copyalleparams(genericptr, genericptr);
77 extern void copyparams(objinstptr, objinstptr);
79 extern void textbutton(u_char, int, int);
80 extern void charreport(labelptr);
81 extern Boolean labeltext(int, char *);
82 extern void textreturn(void);
83 extern void reanchor(short);
84 extern void findconstrained(polyptr);
85 extern void reversepoints(XPoint *, short);
86 extern void reversefpoints(XfPoint *, short);
87 extern void freeparts(short *, short);
88 extern void removep(short *, short);
89 extern void unjoin(void);
90 extern labelptr findlabelcopy(labelptr, stringpart *);
91 extern Boolean neartest(XPoint *, XPoint *);
92 extern void join(void);
93 extern genericptr getsubpart(pathptr, int *);
95 /* interactive manipulation of elements */
96 extern void splinebutton(int, int);
97 extern void updatepath(pathptr);
98 extern void trackelement(xcWidget, caddr_t, caddr_t);
99 extern void arcbutton(int, int);
100 extern void trackarc(xcWidget, caddr_t, caddr_t);
101 extern void boxbutton(int, int);
102 extern void trackbox(xcWidget, caddr_t, caddr_t);
103 extern void trackwire(xcWidget, caddr_t, caddr_t);
104 extern void startwire(XPoint *);
105 extern void setendpoint(short *, short, XPoint **, XPoint *);
106 extern void wire_op(int, int ,int);
108 void arc_mode_draw(xcDrawType type, arc *newarc);
109 void spline_mode_draw(xcDrawType type, spline *newspline);
110 void poly_mode_draw(xcDrawType type, polygon *newpoly);
111 void path_mode_draw(xcDrawType type, path *newpoly);
112 void text_mode_draw(xcDrawType type, label *newlabel);
113 void selarea_mode_draw(xcDrawType type, void *unused);
114 void rescale_mode_draw(xcDrawType type, void *unused);
115 void move_mode_draw(xcDrawType type, void *unused);
116 void normal_mode_draw(xcDrawType type, void *unused);
118 /* from events.c: */
120 extern Boolean recursefind(objectptr, objectptr);
121 extern void transferselects(void);
122 extern void select_invalidate_netlist(void);
123 extern void newmatrix(void);
124 extern void setpage(Boolean);
125 extern int changepage(short);
126 extern void newpage(short);
127 extern void pushobject(objinstptr);
128 extern void push_stack(pushlistptr *, objinstptr, char *);
129 extern void pop_stack(pushlistptr *);
130 extern void free_stack(pushlistptr *);
131 extern void popobject(xcWidget, pointertype, caddr_t);
132 extern void resetbutton(xcWidget, pointertype, caddr_t);
133 extern void drawhbar(xcWidget, caddr_t, caddr_t);
134 extern void drawvbar(xcWidget, caddr_t, caddr_t);
135 extern void panhbar(xcWidget, caddr_t, XButtonEvent *);
136 extern void endhbar(xcWidget, caddr_t, XButtonEvent *);
137 extern void panvbar(xcWidget, caddr_t, XButtonEvent *);
138 extern void endvbar(xcWidget, caddr_t, XButtonEvent *);
139 extern void zoombox(xcWidget, caddr_t, caddr_t);
140 extern void zoomin(int, int);
141 extern void zoomout(int, int);
142 extern void warppointer(int, int);
143 extern void panbutton(u_int, int, int, float);
144 extern void zoominrefresh(int, int);
145 extern void zoomoutrefresh(int, int);
146 extern void panrefresh(u_int, int, int, float);
147 extern void checkwarp(XPoint *);
148 extern void warparccycle(arcptr, short);
149 extern int checkcycle(genericptr, short);
150 extern pointselect *getrefpoint(genericptr, XPoint **);
151 extern void copyvirtual(void);
152 extern void nextpathcycle(pathptr, short);
153 extern void nextpolycycle(polyptr *, short);
154 extern void nextsplinecycle(splineptr *, short);
155 extern void nextarccycle(arcptr *, short);
156 extern void buttonhandler(xcWidget, caddr_t, XButtonEvent *);
157 extern void keyhandler(xcWidget, caddr_t, XKeyEvent *);
158 extern Boolean compatible_function(int);
159 extern int eventdispatch(int, int, int);
160 extern int functiondispatch(int, short, int, int);
161 extern void releasehandler(xcWidget, caddr_t, XKeyEvent *);
162 extern void setsnap(short);
163 extern void snapelement(void);
164 extern int ipow10(int);
165 extern int calcgcf(int, int);
166 extern void fraccalc(float, char *);
167 extern void printpos(short, short);
168 extern void findwirex(XPoint *, XPoint *, XPoint *, XPoint *, float *);
169 extern void findattach(XPoint *, float *, XPoint *);
170 extern XPoint *pathclosepoint(pathptr, XPoint *);
171 extern void placeselects(short, short, XPoint *);
172 extern void drag(int, int);
173 extern void xlib_drag(xcWidget, caddr_t, XEvent *);
174 extern void elemrotate(genericptr *, float, XPoint *);
175 extern void elementrotate(float, XPoint *);
176 extern void edit(int, int);
177 extern void pathedit(genericptr);
178 extern void xc_lower();
179 extern void xc_raise();
180 extern void xc_top(short *, short *);
181 extern void xc_bottom(short *, short *);
182 extern void exchange(void);
183 extern void elhflip(genericptr *, short);
184 extern void elvflip(genericptr *, short);
185 extern void elementflip(XPoint *);
186 extern void elementvflip(XPoint *);
187 extern short getkeynum(void);
188 #ifdef TCL_WRAPPER
189 extern void makepress(ClientData);
190 #else
191 extern void makepress(XtPointer, xcIntervalId *);
192 #endif
193 extern void reviseselect(short *, int, short *);
194 extern void deletebutton(int, int);
195 extern void delete_one_element(objinstptr, genericptr);
196 extern short *xc_undelete(objinstptr, objectptr, short, short *);
197 extern objectptr delete_element(objinstptr, short *, int, short);
198 extern void printname(objectptr);
199 extern Boolean checkname(objectptr);
200 extern char *checkvalidname(char *, objectptr);
201 extern objectptr finddot(void);
202 extern void movepoints(genericptr *, short, short);
203 extern void editpoints(genericptr *, short, short);
204 #ifndef TCL_WRAPPER
205 extern void xlib_makeobject(xcWidget, caddr_t);
206 #endif
207 extern objinstptr domakeobject(int, char *, Boolean);
208 extern void selectsave(xcWidget, caddr_t, caddr_t);
209 extern void arceditpush(arcptr);
210 extern void splineeditpush(splineptr);
211 extern void polyeditpush(polyptr);
212 extern void patheditpush(pathptr);
213 extern pointlist copypoints(pointlist, int);
214 extern void labelcopy(labelptr, labelptr);
215 extern void arccopy(arcptr, arcptr);
216 extern void polycopy(polyptr, polyptr);
217 extern void splinecopy(splineptr, splineptr);
218 extern void pathcopy(pathptr, pathptr);
219 extern void instcopy(objinstptr, objinstptr);
220 extern void delete_tagged(objinstptr);
221 extern void createcopies(void);
222 extern void copydrag(void);
223 extern void copy_op(int, int, int);
224 extern Boolean checkmultiple(XButtonEvent *);
225 extern void continue_op(int, int, int);
226 extern void finish_op(int, int, int);
227 extern void path_op(genericptr, int, int, int);
228 extern void inst_op(genericptr, int, int, int);
229 extern void resizearea(xcWidget, caddr_t, caddr_t);
230 void draw_grids(void);
231 void draw_fixed(void);
232 extern void drawarea(xcWidget, caddr_t, caddr_t);
233 extern void standard_element_delete(short);
234 extern void delete_for_xfer(short, short *, int);
235 extern void delete_noundo(short);
237 /* from filelist.c: */
239 extern int fcompare(const void *, const void *);
240 extern void dragfilebox(xcWidget, caddr_t, XMotionEvent *);
241 extern void startfiletrack(xcWidget, caddr_t, XCrossingEvent *);
242 extern void endfiletrack(xcWidget, caddr_t, XCrossingEvent *);
243 extern char *getcrashfilename(void);
244 extern void crashrecover(void);
245 extern void findcrashfiles(void);
246 extern void listfiles(xcWidget, popupstruct *, caddr_t);
247 extern void newfilelist(xcWidget, popupstruct *);
248 extern void fileselect(xcWidget, popupstruct *, XButtonEvent *);
249 extern void showlscroll(xcWidget, caddr_t, caddr_t);
250 extern void draglscroll(xcWidget, popupstruct *, XButtonEvent *);
251 extern void genfilelist(xcWidget, popupstruct *, Dimension);
252 extern int lookdirectory(char *, int);
254 /* from files.c: */
256 #ifdef ASG
257 extern void importspice(void);
258 #endif
260 extern char *ridnewline(char *);
261 extern void free_single(genericptr);
262 extern void reset(objectptr, short);
263 extern void pagereset(short);
264 extern void initmem(objectptr);
265 extern void freelabel(stringpart *);
266 extern Boolean compare_single(genericptr *, genericptr *);
267 extern Boolean elemcompare(genericptr *, genericptr *);
268 extern short objcompare(objectptr, objectptr);
269 extern float getpsscale(float, short);
270 extern void dostcount(FILE *, short *, short);
271 extern short printparams(FILE *, objinstptr, short);
272 extern void printobjectparams(FILE *, objectptr);
273 extern void varcheck(FILE *, short, objectptr, short *, genericptr, u_char);
274 extern void varfcheck(FILE *, float, objectptr, short *, genericptr, u_char);
275 extern Boolean varpcheck(FILE *, short, objectptr, int, short *, genericptr, u_char);
276 extern Boolean varpathcheck(FILE *, short, objectptr, int, short *,
277 genericptr *, pathptr, u_char);
278 extern void getfile(xcWidget, pointertype, caddr_t);
279 extern int filecmp(char *, char *);
280 extern Boolean nextfilename(void);
281 extern FILE *libopen(char *, short, char *, int);
282 extern void loadfontlib(void);
283 extern void loadglib(Boolean, short, short);
284 extern void loadulib(void);
285 extern void loadblib(void);
286 extern void getlib(xcWidget, caddr_t, caddr_t);
287 extern void getuserlib(xcWidget, caddr_t, caddr_t);
288 extern Boolean loadlibrary(short);
289 extern void startloadfile(int);
290 extern void normalloadfile(void);
291 extern void importfile(void);
292 extern void importgraphic(void);
293 extern Boolean loadfile(short, int);
294 extern void readlabel(objectptr, char *, stringpart **);
295 extern void readparams(objectptr, objinstptr, objectptr, char *);
296 extern u_char *find_match(u_char *);
297 extern char *advancetoken(char *);
298 extern char *varpscan(objectptr, char *, short *, genericptr, int, int, u_char);
299 extern char *varscan(objectptr, char *, short *, genericptr, u_char);
300 extern char *varfscan(objectptr, char *, float *, genericptr, u_char);
301 extern objinstptr addtoinstlist(int, objectptr, Boolean);
302 extern Boolean objectread(FILE *, objectptr, short, short, short, char *, int, TechPtr);
303 void importfromlibrary(short, char *, char *);
304 objectptr *new_library_object(short, char *, objlistptr *, TechPtr);
305 Boolean library_object_unique(short, objectptr, objlistptr);
306 void add_object_to_library(short, objectptr);
307 u_char *find_delimiter(u_char *);
308 char standard_delimiter_end(char);
309 void output_graphic_data(FILE *, short *);
311 extern Boolean CompareTechnology(objectptr, char *);
312 extern TechPtr LookupTechnology(char *);
313 extern TechPtr GetObjectTechnology(objectptr);
314 extern TechPtr AddNewTechnology(char *, char *);
315 extern void AddObjectTechnology(objectptr);
316 extern void TechReplaceSave();
317 extern void TechReplaceRestore();
318 extern void TechReplaceAll();
319 extern void TechReplaceNone();
321 #ifdef TCL_WRAPPER
322 extern void setfile(char *, int);
323 extern void savetemp(ClientData);
324 #else
325 extern void setfile(xcWidget, xcWidget, caddr_t);
326 extern void savetemp(XtPointer, xcIntervalId *);
327 #endif
328 extern void incr_changes(objectptr);
329 extern void savelibpopup(xcWidget, char *, caddr_t);
330 #ifndef TCL_WRAPPER
331 extern void savelibrary(xcWidget, char *);
332 #endif
333 extern void savetechnology(char *, char *);
334 extern void findfonts(objectptr, short *);
335 extern void savefile(short);
336 extern int printRGBvalues(char *, int, const char *);
337 extern char *nosprint(char *, int *, int *);
338 extern FILE *fileopen(char *, char *, char *, int);
339 extern Boolean xc_tilde_expand(char *, int);
340 extern Boolean xc_variable_expand(char *, int);
341 extern short writelabel(FILE *, stringpart *, short *);
342 extern char *writesegment(stringpart *, float *, int *, int *, int *);
343 extern int writelabelsegs(FILE *, short *, stringpart *);
344 extern void printobjects(FILE *, objectptr, objectptr **, short *, int);
345 extern void printrefobjects(FILE *, objectptr, objectptr **, short *);
346 extern void printpageobject(FILE *, objectptr, short, short);
349 /* from fontfile.c: */
351 extern FILE *findfontfile(char *);
352 extern int loadfontfile(char *);
354 /* from formats.c: */
356 extern void loadlgf(int);
357 extern void loadmat4(caddr_t);
359 /* from functions.c: */
361 extern long sqwirelen(XPoint *, XPoint *);
362 extern float fsqwirelen(XfPoint *, XfPoint *);
363 extern int wirelength(XPoint *, XPoint *);
364 extern long finddist(XPoint *,XPoint *, XPoint *);
365 extern void calcarc(arcptr);
366 extern void decomposearc(pathptr, XPoint *);
367 extern void initsplines(void);
368 extern void computecoeffs(splineptr, float *, float *, float *, float *,
369 float *, float *);
370 extern void calcspline(splineptr);
371 extern void findsplinepos(splineptr, float, XPoint *, float *);
372 extern void ffindsplinepos(splineptr, float, XfPoint *);
373 extern float findsplinemin(splineptr, XPoint *);
374 extern short closepoint(polyptr, XPoint *);
375 extern short closedistance(polyptr, XPoint *);
376 extern void updateinstparam(objectptr);
377 extern short checkbounds(void);
378 extern void window_to_user(short, short, XPoint *);
379 extern void user_to_window(XPoint, XPoint *);
381 extern float UTopScale(void);
382 extern float UTopTransScale(float);
383 extern float UTopDrawingScale(void);
384 extern float UTopRotation(void);
385 extern void UTopOffset(int *, int *);
386 extern void UTopDrawingOffset(int *, int *);
388 extern XPoint UGetCursor(void);
389 extern XPoint UGetCursorPos(void);
390 extern void u2u_snap(XPoint *);
391 extern void snap(short, short, XPoint *);
392 extern void UResetCTM(Matrix *);
393 extern void InvertCTM(Matrix *);
394 extern void UCopyCTM(Matrix *, Matrix *);
395 extern void UMakeWCTM(Matrix *);
396 extern void UMultCTM(Matrix *, XPoint, float, float);
397 extern void USlantCTM(Matrix *, float);
398 extern void UPreScaleCTM(Matrix *);
399 extern short flipadjust(short);
400 extern void UPreMultCTM(Matrix *, XPoint, float, float);
401 extern void UPreMultCTMbyMat(Matrix *, Matrix *);
402 extern void UTransformbyCTM(Matrix *, XPoint *, XPoint *, short);
403 extern void UfTransformbyCTM(Matrix *, XfPoint *, XPoint *, short);
404 extern void UPopCTM(void);
405 extern void UPushCTM(void);
406 extern void UTransformPoints(XPoint *, XPoint *, short, XPoint, float,
407 float);
408 extern void InvTransformPoints(XPoint *, XPoint *, short, XPoint, float,
409 float);
410 extern void manhattanize(XPoint *, polyptr, short, Boolean);
411 extern void bboxcalc(short, short *, short *);
412 extern void calcextents(genericptr *, short *, short *, short *, short *);
413 extern void objinstbbox(objinstptr, XPoint *, int);
414 extern void labelbbox(labelptr, XPoint *, objinstptr);
415 extern void graphicbbox(graphicptr, XPoint *);
416 extern void calcinstbbox(genericptr *, short *, short *, short *, short *);
417 extern void calcbboxsingle(genericptr *, objinstptr, short *, short *, short *, short *);
418 extern Boolean object_in_library(short, objectptr);
419 extern void calcbboxinst(objinstptr);
420 extern short find_object(objectptr, objectptr);
421 extern void updatepagebounds(objectptr);
422 extern void calcbbox(objinstptr);
423 extern void calcbboxparam(objectptr, int);
424 extern void singlebbox(genericptr *);
425 extern void calcbboxselect(void);
426 extern void calcbboxvalues(objinstptr, genericptr *);
427 extern void centerview(objinstptr);
428 extern void refresh(xcWidget, caddr_t, caddr_t);
429 extern void zoomview(xcWidget, caddr_t, caddr_t);
430 extern void UDrawSimpleLine(XPoint *, XPoint *);
431 extern void UDrawLine(XPoint *, XPoint *);
432 extern void UDrawCircle(XPoint *, u_char);
433 extern void UDrawX(labelptr);
434 extern void UDrawXDown(labelptr);
435 extern int toplevelwidth(objinstptr, short *);
436 extern int toplevelheight(objinstptr, short *);
437 extern void extendschembbox(objinstptr, XPoint *, XPoint *);
438 extern void pinadjust(short, short *, short *, short);
439 extern void UDrawTextLine(labelptr, short);
440 extern void UDrawTLine(labelptr);
441 extern void UDrawXLine(XPoint, XPoint);
442 extern void UDrawBox(XPoint, XPoint);
443 extern float UGetRescaleBox(XPoint *corner, XPoint *newpoints);
444 extern void UDrawRescaleBox(XPoint *);
445 extern void UDrawBBox(void);
446 extern void strokepath(XPoint *, short, short, float);
447 extern void makesplinepath(splineptr, XPoint *);
448 extern void UDrawSpline(splineptr, float);
449 extern void UDrawPolygon(polyptr, float);
450 extern void UDrawArc(arcptr, float);
451 extern void UDrawPath(pathptr, float);
452 extern void UDrawObject(objinstptr, short, int, float, pushlistptr *);
453 extern void TopDoLatex(void);
455 /* from help.c: */
457 extern void showhsb(xcWidget, caddr_t, caddr_t);
458 extern void printhelppix(void);
459 extern void starthelp(xcWidget, caddr_t, caddr_t);
460 extern void simplescroll(xcWidget, xcWidget, XPointerMovedEvent *);
461 extern void exposehelp(xcWidget, caddr_t, caddr_t);
462 extern void printhelp(xcWidget);
464 /* from keybindings.c */
466 extern int firstbinding(xcWidget, int);
467 extern Boolean ismacro(xcWidget, int);
468 extern int boundfunction(xcWidget, int, short *);
469 extern int string_to_func(const char *, short *);
470 extern int string_to_key(const char *);
471 extern char *function_binding_to_string(xcWidget, int);
472 extern char *key_binding_to_string(xcWidget, int);
473 extern char *compat_key_to_string(xcWidget, int);
474 extern char *func_to_string(int);
475 extern char *key_to_string(int);
476 extern void printeditbindings(void);
477 extern int add_vbinding(xcWidget, int, int, short);
478 extern int add_binding(xcWidget, int, int);
479 extern int add_keybinding(xcWidget, const char *, const char *);
480 extern void default_keybindings(void);
481 extern int remove_binding(xcWidget, int, int);
482 extern void remove_keybinding(xcWidget, const char *, const char *);
484 #ifndef TCL_WRAPPER
485 extern void mode_rebinding(int, int);
486 extern void mode_tempbinding(int, int);
487 #endif
489 /* from libraries.c: */
491 extern short findhelvetica(void);
492 extern void catreturn(void);
493 extern int pageposition(short, int, int, int);
494 extern short pagelinks(int);
495 extern short *pagetotals(int, short);
496 extern Boolean is_virtual(objinstptr);
497 extern int is_page(objectptr);
498 extern int is_library(objectptr);
499 extern int NameToLibrary(char *);
500 extern void tech_set_changes(TechPtr);
501 extern void tech_mark_changed(TechPtr);
502 extern int libfindobject(objectptr, int *);
503 extern int libmoveobject(objectptr, int);
504 extern void pagecat_op(int, int, int);
505 extern void pageinstpos(short, short, objinstptr, int, int, int, int);
506 extern objinstptr newpageinst(objectptr);
507 extern void computespacing(short, int *, int *, int *, int *);
508 extern void composepagelib(short);
509 extern void updatepagelib(short, short);
510 extern void pagecatmove(int, int);
511 extern void composelib(short);
512 extern short finddepend(objinstptr, objectptr **);
513 extern void cathide(void);
514 extern void catvirtualcopy(void);
515 extern void catdelete(void);
516 extern void catmove(int, int);
517 extern void copycat(void);
518 extern void catalog_op(int, int, int);
519 extern void changecat(void);
520 extern void startcatalog(xcWidget, pointertype, caddr_t);
522 /* from menucalls.c: */
524 extern void setgrid(xcWidget, float *);
525 extern void measurestr(float, char *);
526 extern void setwidth(xcWidget, float *);
527 extern void changetextscale(float);
528 extern void autoscale(int);
529 extern float parseunits(char *);
530 extern Boolean setoutputpagesize(XPoint *);
531 extern void setkern(xcWidget, stringpart *);
532 extern void setdscale(xcWidget, XPoint *);
533 extern void setosize(xcWidget, objinstptr);
534 extern void setwwidth(xcWidget, void *);
535 #ifdef TCL_WRAPPER
536 extern void renamepage(short);
537 extern void renamelib(short);
538 extern void setcolormark(int);
539 extern void setallstylemarks(u_short);
540 #endif
541 extern labelptr gettextsize(float **);
542 extern void stringparam(xcWidget, caddr_t, caddr_t);
543 extern int setelementstyle(xcWidget, u_short, u_short);
544 extern void togglegrid(u_short);
545 extern void togglefontmark(int);
546 extern void setcolorscheme(Boolean);
547 extern void getgridtype(xcWidget, pointertype, caddr_t);
548 extern void newlibrary(xcWidget, caddr_t, caddr_t);
549 extern int createlibrary(Boolean);
550 extern void makepagebutton(void);
551 extern int findemptylib(void);
552 extern polyptr checkforbbox(objectptr);
553 #ifdef TCL_WRAPPER
554 extern void setcolor(xcWidget, int);
555 extern void setfontmarks(short, short);
556 #endif
557 extern void startparam(xcWidget, pointertype, caddr_t);
558 extern void startunparam(xcWidget, pointertype, caddr_t);
559 extern void setdefaultfontmarks(void);
560 extern void setanchorbit(xcWidget, pointertype, caddr_t);
561 extern void setpinanchorbit(xcWidget, pointertype, caddr_t);
562 extern void setanchor(xcWidget, pointertype, labelptr, short);
563 extern void setvanchor(xcWidget, pointertype, caddr_t);
564 extern void sethanchor(xcWidget, pointertype, caddr_t);
565 extern void boxedit(xcWidget, pointertype, caddr_t);
566 extern void locloadfont(xcWidget, char *);
567 extern short findbestfont(short, short, short, short);
568 extern void setfontval(xcWidget, pointertype, labelptr);
569 extern void setfont(xcWidget, pointertype, caddr_t);
570 extern void setfontstyle(xcWidget, pointertype, labelptr);
571 extern void fontstyle(xcWidget, pointertype, caddr_t);
572 extern void setfontencoding(xcWidget, pointertype, labelptr);
573 extern void fontencoding(xcWidget, pointertype, caddr_t);
574 extern void addtotext(xcWidget, pointertype, caddr_t);
575 extern Boolean dospecial(void);
577 /* from xtfuncs.c: */
579 extern void makenewfontbutton(void); /* either here or menucalls.c */
580 #ifndef TCL_WRAPPER
581 extern void setfloat(xcWidget, float *);
582 extern void autoset(xcWidget, xcWidgetList, caddr_t);
583 extern void autostop(xcWidget, caddr_t, caddr_t);
584 extern void togglegridstyles(xcWidget);
585 extern void toggleanchors(xcWidget);
586 extern void togglefontstyles(xcWidget);
587 extern void toggleencodings(xcWidget);
588 extern void getkern(xcWidget, caddr_t, caddr_t);
589 extern void setcolor(xcWidget, pointertype, caddr_t);
590 extern void setfill(xcWidget, pointertype, caddr_t);
591 extern void makebbox(xcWidget, pointertype, caddr_t);
592 extern void setclosure(xcWidget, pointertype, caddr_t);
593 extern void setopaque(xcWidget, pointertype, caddr_t);
594 extern void setline(xcWidget, pointertype, caddr_t);
595 extern void changetool(xcWidget, pointertype, caddr_t);
596 extern void exec_or_changetool(xcWidget, pointertype, caddr_t);
597 extern void rotatetool(xcWidget, pointertype, caddr_t);
598 extern void pantool(xcWidget, pointertype, caddr_t);
599 extern void toggleexcl(xcWidget, menuptr, int);
600 extern void highlightexcl(xcWidget, int, int);
601 extern void toolcursor(int);
602 extern void promptparam(xcWidget, caddr_t, caddr_t);
603 extern void gettsize(xcWidget, caddr_t, caddr_t);
604 extern void settsize(xcWidget, labelptr);
605 extern void dotoolbar(xcWidget, caddr_t, caddr_t);
606 extern void overdrawpixmap(xcWidget);
607 extern buttonsave *getgeneric(xcWidget, void (*getfunction)(), void *);
608 extern void getsnapspace(xcWidget, caddr_t, caddr_t);
609 extern void getgridspace(xcWidget, caddr_t, caddr_t);
610 extern void setscaley(xcWidget, float *);
611 extern void setscalex(xcWidget, float *);
612 extern void setorient(xcWidget, short *);
613 extern void setpmode(xcWidget, short *);
614 extern void setpagesize(xcWidget, XPoint *);
615 extern void getdscale(xcWidget, caddr_t, caddr_t);
616 extern void getosize(xcWidget, caddr_t, caddr_t);
617 extern void getwirewidth(xcWidget, caddr_t, caddr_t);
618 extern void getwwidth(xcWidget, caddr_t, caddr_t);
619 extern void getfloat(xcWidget, float *, caddr_t);
620 extern void setfilename(xcWidget, char **);
621 extern void setpagelabel(xcWidget, char *);
622 extern void makenewfontbutton(void);
623 extern void newpagemenu(xcWidget, pointertype, caddr_t);
624 extern void makenewencodingbutton(char *, char);
625 extern void toggle(xcWidget, pointertype, Boolean *);
626 extern void inversecolor(xcWidget, pointertype, caddr_t);
627 extern void setgridtype(char *);
628 extern void renamepage(short);
629 extern void renamelib(short);
630 extern void setcolormark(int);
631 extern void setallstylemarks(u_short);
632 extern void setnewcolor(xcWidget, caddr_t);
633 extern void addnewcolor(xcWidget, caddr_t, caddr_t);
634 extern void setfontmarks(short, short);
635 extern void position_popup(xcWidget, xcWidget);
636 extern void border_popup(xcWidget, caddr_t, caddr_t);
637 extern void color_popup(xcWidget, caddr_t, caddr_t);
638 extern void fill_popup(xcWidget, caddr_t, caddr_t);
639 extern void param_popup(xcWidget, caddr_t, caddr_t);
640 extern void addnewfont(xcWidget, caddr_t, caddr_t);
641 #endif
643 /* from netlist.c: */
645 #ifdef TCL_WRAPPER
646 extern Tcl_Obj *tclglobals(objinstptr);
647 extern Tcl_Obj *tcltoplevel(objinstptr);
648 void ratsnest(objinstptr);
649 #endif
651 extern void ReferencePosition(objinstptr, XPoint *, XPoint *);
652 extern int NameToPinLocation(objinstptr, char *, int *, int *);
653 extern Boolean RemoveFromNetlist(objectptr, genericptr);
654 extern labelptr NetToLabel(int, objectptr);
655 extern void NameToPosition(objinstptr, labelptr, XPoint *);
656 extern XPoint *NetToPosition(int, objectptr);
657 extern int getsubnet(int, objectptr);
658 extern void invalidate_netlist(objectptr);
659 extern void remove_netlist_element(objectptr, genericptr);
660 extern int updatenets(objinstptr, Boolean);
661 extern void createnets(objinstptr, Boolean);
662 extern Boolean nonnetwork(polyptr);
663 extern int globalmax(void);
664 extern LabellistPtr geninfolist(objectptr, objinstptr, char *);
665 extern void gennetlist(objinstptr);
666 extern void gencalls(objectptr);
667 extern void search_on_siblings(objinstptr, objinstptr, pushlistptr,
668 short, short, short, short);
669 extern char *GetHierarchy(pushlistptr *, Boolean);
670 extern Boolean HierNameToObject(objinstptr, char *, pushlistptr *);
671 extern void resolve_devindex(objectptr, Boolean);
672 extern void copy_bus(Genericlist *, Genericlist *);
673 extern Genericlist *is_resolved(genericptr *, pushlistptr, objectptr *);
674 extern Boolean highlightnet(objectptr, objinstptr, int, u_char);
675 extern void highlightnetlist(objectptr, objinstptr, u_char);
676 extern int pushnetwork(pushlistptr, objectptr);
677 extern Boolean match_buses(Genericlist *, Genericlist *, int);
678 extern int onsegment(XPoint *, XPoint *, XPoint *);
679 extern Boolean neardist(long);
680 extern Boolean nearpoint(XPoint *, XPoint *);
681 extern int searchconnect(XPoint *, int, objinstptr, int);
682 extern Genericlist *translateup(Genericlist *, objectptr, objectptr, objinstptr);
683 extern Genericlist *addpoly(objectptr, polyptr, Genericlist *);
684 extern long zsign(long, long);
685 extern Boolean mergenets(objectptr, Genericlist *, Genericlist *);
686 extern void removecall(objectptr, CalllistPtr);
687 extern Genericlist *addpin(objectptr, objinstptr, labelptr, Genericlist *);
688 extern Genericlist *addglobalpin(objectptr, objinstptr, labelptr, Genericlist *);
689 extern void addcall(objectptr, objectptr, objinstptr);
690 extern void addport(objectptr, Genericlist *);
691 extern Boolean addportcall(objectptr, Genericlist *, Genericlist *);
692 extern void makelocalpins(objectptr, CalllistPtr, char *);
693 extern int porttonet(objectptr, int);
694 extern stringpart *nettopin(int, objectptr, char *);
695 extern Genericlist *pointtonet(objectptr, objinstptr, XPoint *);
696 extern Genericlist *pintonet(objectptr, objinstptr, labelptr);
697 extern Genericlist *nametonet(objectptr, objinstptr, char *);
698 extern Genericlist *new_tmp_pin(objectptr, XPoint *, char *, char *, Genericlist *);
699 extern Genericlist *make_tmp_pin(objectptr, objinstptr, XPoint *, Genericlist *);
700 extern void resolve_devnames(objectptr);
701 extern void resolve_indices(objectptr, Boolean);
702 extern void clear_indices(objectptr);
703 extern void unnumber(objectptr);
704 extern char *parsepininfo(objinstptr, char *, int);
705 extern char *defaultpininfo(objinstptr, int);
706 extern char *parseinfo(objectptr, objectptr, CalllistPtr, char *, char *, Boolean,
707 Boolean);
708 extern int writedevice(FILE *, char *, objectptr, CalllistPtr, char *);
709 extern void writeflat(objectptr, CalllistPtr, char *, FILE *, char *);
710 extern void writeglobals(objectptr, FILE *);
711 extern void writehierarchy(objectptr, objinstptr, CalllistPtr, FILE *, char *);
712 extern void writenet(objectptr, char *, char *);
713 extern Boolean writepcb(struct Ptab **, objectptr, CalllistPtr, char *, char *);
714 extern void outputpcb(struct Ptab *, FILE *);
715 extern void freepcb(struct Ptab *);
716 extern void freegenlist(Genericlist *);
717 extern void freepolylist(PolylistPtr *);
718 extern void freenetlist(objectptr);
719 extern void freelabellist(LabellistPtr *);
720 extern void freecalls(CalllistPtr);
721 extern void freenets(objectptr);
722 extern void freetemplabels(objectptr);
723 extern void freeglobals(void);
724 extern void destroynets(objectptr);
725 extern int cleartraversed(objectptr);
726 extern int checkvalid(objectptr);
727 extern void clearlocalpins(objectptr);
728 extern void append_included(char *);
729 extern Boolean check_included(char *);
730 extern void free_included(void);
731 extern void genprefixlist(objectptr, slistptr *);
734 /* from ngspice.c: */
735 extern int exit_spice(void);
737 /* from parameter.c: */
739 extern char *find_indirect_param(objinstptr, char *);
740 extern oparamptr match_param(objectptr, char *);
741 extern oparamptr match_instance_param(objinstptr, char *);
742 extern oparamptr find_param(objinstptr, char *);
743 extern int get_num_params(objectptr);
744 extern void free_all_eparams(genericptr);
745 extern void free_object_param(objectptr, oparamptr);
746 extern oparamptr free_instance_param(objinstptr, oparamptr);
747 extern void free_element_param(genericptr, eparamptr);
749 extern oparamptr make_new_parameter(char *);
750 extern eparamptr make_new_eparam(char *);
752 extern char *getnumericalpkey(u_int);
753 extern char *makeexprparam(objectptr, char *, char *, int);
754 extern Boolean makefloatparam(objectptr, char *, float);
755 extern Boolean makestringparam(objectptr, char *, stringpart *);
756 extern void std_eparam(genericptr, char *);
757 extern void indicateparams(genericptr);
758 extern void setparammarks(genericptr);
759 extern void makenumericalp(genericptr *, u_int, char *, short);
760 extern void noparmstrcpy(u_char *, u_char *);
761 extern void insertparam(void);
762 extern void makeparam(labelptr, char *);
763 extern void searchinst(objectptr, objectptr, char *);
764 extern stringpart *searchparam(stringpart *);
765 extern void unmakeparam(labelptr, objinstptr, stringpart *);
766 extern void removenumericalp(genericptr *, u_int);
767 extern void unparameterize(int);
768 extern void parameterize(int, char *, short);
769 extern genericptr findparam(objectptr, void *, u_char);
770 extern Boolean paramcross(objectptr, labelptr);
771 extern oparamptr parampos(objectptr, labelptr, char *, short *, short *);
772 extern int opsubstitute(objectptr, objinstptr);
773 extern void exprsub(genericptr);
774 extern int epsubstitute(genericptr, objectptr, objinstptr, Boolean *);
775 extern int psubstitute(objinstptr);
776 extern Boolean has_param(genericptr);
777 extern oparamptr copyparameter(oparamptr);
778 extern eparamptr copyeparam(eparamptr, genericptr);
780 extern void pwriteback(objinstptr);
781 extern short paramlen(u_char *);
782 extern int natstrlen(u_char *);
783 extern int natstrcmp(u_char *, u_char *);
784 extern void curtail(u_char *);
785 extern int checklibtop(void);
786 extern void removeinst(objinstptr);
787 extern void removeparams(objectptr);
788 extern void resolveparams(objinstptr);
790 /* from python.c: */
792 #ifdef HAVE_PYTHON
793 extern int python_key_command(int);
794 extern void init_interpreter(void);
795 extern void exit_interpreter(void);
796 #endif
798 #ifdef HAVE_XPM
799 extern xcWidget *pytoolbuttons(int *);
800 #endif
802 /* from rcfile.c: */
804 extern short execcommand(short, char *);
805 #ifdef TCL_WRAPPER
806 extern int defaultscript(void);
807 extern int loadrcfile(void);
808 #else
809 extern void defaultscript(void);
810 extern void loadrcfile(void);
811 #endif
812 extern void execscript(void);
813 #ifndef HAVE_PYTHON
814 extern short readcommand(short, FILE *);
815 #endif
817 /* from graphic.c */
819 extern void count_graphics(objectptr, short *);
820 extern void UDrawGraphic(graphicptr);
821 extern Imagedata *addnewimage(char *, int, int);
822 extern graphicptr new_graphic(objinstptr, char *, int, int);
823 extern graphicptr gradient_field(objinstptr, int, int, int, int);
824 extern void invalidate_graphics(objectptr);
825 extern void freegraphic(graphicptr);
826 extern short *collect_graphics(short *);
827 xcImage *xcImageCreate(int width, int height);
828 void xcImageDestroy(xcImage *img);
829 int xcImageGetWidth(xcImage *img);
830 int xcImageGetHeight(xcImage *img);
831 void xcImagePutPixel(xcImage *img, int x, int y, u_char r, u_char g, u_char b);
832 void xcImageGetPixel(xcImage *img, int x, int y, u_char *r, u_char *g,
833 u_char *b);
835 /* from flate.c */
837 #ifdef HAVE_LIBZ
838 extern u_long large_deflate(u_char *, u_long, u_char *, u_long);
839 extern u_long large_inflate(u_char *, u_long, u_char **, u_long);
840 extern unsigned long ps_deflate (unsigned char *, unsigned long,
841 unsigned char *, unsigned long);
842 extern unsigned long ps_inflate (unsigned char *, unsigned long,
843 unsigned char **, unsigned long);
844 #endif
846 /* from render.c: */
848 extern void ghostinit(void);
849 extern void send_client(Atom);
850 extern void ask_for_next(void);
851 extern void start_gs(void);
852 extern void parse_bg(FILE *, FILE *);
853 extern void bg_get_bbox(void);
854 extern void backgroundbbox(int);
855 extern void readbackground(FILE *);
856 extern void savebackground(FILE *, char *);
857 extern void register_bg(char *);
858 extern void loadbackground(void);
859 extern void send_to_gs(char *);
860 extern int renderbackground(void);
861 extern int copybackground(void);
862 extern int exit_gs(void);
863 extern int reset_gs(void);
864 void write_scale_position_and_run_gs(float norm, float xpos, float ypos,
865 const char *bgfile);
867 #ifndef TCL_WRAPPER
868 extern Boolean render_client(XEvent *);
869 #endif
871 /* from schema.c: */
873 extern objectptr NameToPageObject(char *, objinstptr *, int *);
874 extern objectptr NameToObject(char *, objinstptr *, Boolean);
875 extern int checkpagename(objectptr);
876 extern void callwritenet(xcWidget, pointertype, caddr_t);
877 extern void startconnect(xcWidget, caddr_t, caddr_t);
878 extern void connectivity(xcWidget, caddr_t, caddr_t);
879 extern Boolean setobjecttype(objectptr);
880 extern void pinconvert(labelptr, pointertype);
881 extern void dopintype(xcWidget, pointertype, caddr_t);
882 extern void setsymschem(void);
883 extern int findpageobj(objectptr);
884 extern void collectsubschems(int);
885 extern int findsubschems(int, objectptr, int, short *, Boolean);
886 extern void copypinlabel(labelptr);
887 extern int checkschem(objectptr, char *);
888 extern int checksym(objectptr, char *);
889 extern int changeotherpins(labelptr, stringpart *);
890 extern void swapschem(int, int, char *);
891 extern void dobeforeswap(xcWidget, caddr_t, caddr_t);
892 extern void schemdisassoc(void);
893 extern void startschemassoc(xcWidget, pointertype, caddr_t);
894 extern Boolean schemassoc(objectptr, objectptr);
895 #ifndef TCL_WRAPPER
896 extern void xlib_swapschem(xcWidget, pointertype, caddr_t);
897 #endif
899 /* from selection.c: */
901 extern void enable_selects(objectptr, short *, int);
902 extern void disable_selects(objectptr, short *, int);
903 extern void selectfilter(xcWidget, pointertype, caddr_t);
904 extern Boolean checkselect(short);
905 extern Boolean checkselect_draw(short, Boolean);
906 extern void geneasydraw(short, int, objectptr, objinstptr);
907 extern void gendrawselected(short *, objectptr, objinstptr);
908 extern selection *genselectelement(short, u_char, objectptr, objinstptr);
909 extern short *allocselect(void);
910 extern void setoptionmenu(void);
911 extern int test_insideness(int, int, XPoint *);
912 extern Boolean pathselect(genericptr *, short, float);
913 extern Boolean areaelement(genericptr *, XPoint *, Boolean, short);
914 extern Boolean selectarea(objectptr, XPoint *, short);
915 extern void startdesel(xcWidget, caddr_t, caddr_t);
916 extern void deselect(xcWidget, caddr_t, caddr_t);
917 extern void draw_normal_selected(objectptr, objinstptr);
918 extern void freeselects(void);
919 extern void draw_all_selected(void);
920 extern void clearselects_noundo(void);
921 extern void clearselects(void);
922 extern void unselect_all(void);
923 extern void select_connected_pins();
924 extern void reset_cycles();
925 extern selection *recurselect(short, u_char, pushlistptr *);
926 extern short *recurse_select_element(short, u_char);
927 extern void startselect(void);
928 extern void trackselarea(void);
929 extern void trackrescale(void);
930 extern Boolean compareselection(selection *, selection *);
931 extern pointselect *addcycle(genericptr *, short, u_char);
932 extern void addanticycle(pathptr, splineptr, short);
933 extern void copycycles(pointselect **, pointselect **);
934 extern void advancecycle(genericptr *, short);
935 extern void removecycle(genericptr *);
936 extern void removeothercycles(pathptr, genericptr);
937 extern Boolean checkforcycles(short *, int);
938 extern void makerefcycle(pointselect *, short);
940 /* from text.c: */
942 extern Boolean hasparameter(labelptr);
943 extern void joinlabels(void);
944 extern void drawparamlabels(labelptr, short);
945 extern stringpart *nextstringpart(stringpart *, objinstptr);
946 extern stringpart *nextstringpartrecompute(stringpart *, objinstptr);
947 extern stringpart *makesegment(stringpart **, stringpart *);
948 extern stringpart *splitstring(int, stringpart **, objinstptr);
949 extern stringpart *mergestring(stringpart *);
950 extern stringpart *linkstring(objinstptr, stringpart *, Boolean);
951 extern int findcurfont(int, stringpart *, objinstptr);
952 extern stringpart *findtextinstring(char *, int *, stringpart *, objinstptr);
953 extern stringpart *findstringpart(int, int *, stringpart *, objinstptr);
954 extern void charprint(char *, stringpart *, int);
955 extern void charprinttex(char *, stringpart *, int);
956 extern char *stringprint(stringpart *, objinstptr);
957 extern char *textprint(stringpart *, objinstptr);
958 extern char *textprinttex(stringpart *, objinstptr);
959 extern char *textprintsubnet(stringpart *, objinstptr, int);
960 extern char *textprintnet(char *, char *, Genericlist *);
961 extern int textcomp(stringpart *, char *, objinstptr);
962 extern int textncomp(stringpart *, char *, objinstptr);
963 extern int stringcomp(stringpart *, stringpart *);
964 extern Boolean issymbolfont(int);
965 extern Boolean issansfont(int);
966 extern Boolean isisolatin1(int);
967 extern int stringcomprelaxed(stringpart *, stringpart *, objinstptr);
968 extern int stringparts(stringpart *);
969 extern int stringlength(stringpart *, Boolean, objinstptr);
970 extern stringpart *stringcopy(stringpart *);
971 extern stringpart *stringcopyall(stringpart *, objinstptr);
972 extern stringpart *stringcopyback(stringpart *, objinstptr);
973 extern stringpart *deletestring(stringpart *, stringpart **, objinstptr);
974 extern Genericlist *break_up_bus(labelptr, objinstptr, Genericlist *);
975 extern int sub_bus_idx(labelptr, objinstptr);
976 extern Boolean pin_is_bus(labelptr, objinstptr);
977 extern int find_cardinal(int, labelptr, objinstptr);
978 extern int find_ordinal(int, labelptr, objinstptr);
980 void UDrawCharString(u_char *text, int start, int end, XfPoint *offset,
981 short styles, short ffont, int groupheight, int passcolor, float tmpscale);
982 extern void UDrawString(labelptr, int, objinstptr);
983 extern void UDrawStringNoX(labelptr, int, objinstptr);
984 extern void CheckMarginStop(labelptr, objinstptr, Boolean);
985 extern TextExtents ULength(labelptr, objinstptr, TextLinesInfo *);
986 extern void undrawtext(labelptr);
987 extern void redrawtext(labelptr);
988 extern void composefontlib(short);
989 extern void fontcat_op(int, int, int);
991 /* from xcircuit.c: */
993 extern void Wprintf(char *, ...);
994 extern void W1printf(char *, ...);
995 extern void W2printf(char *, ...);
996 extern void W3printf(char *, ...);
998 extern XCWindowData *create_new_window(void);
999 extern void pre_initialize(void);
1000 extern void post_initialize(void);
1001 extern void delete_window(XCWindowDataPtr);
1002 extern void printeventmode(void);
1003 extern void popupprompt(xcWidget, char *, char *, void (*function)(),
1004 buttonsave *, const char *);
1005 extern void getproptext(xcWidget, propstruct *, caddr_t);
1006 extern int rgb_alloccolor(int, int, int);
1007 extern void addtocolorlist(xcWidget, int);
1008 extern int addnewcolorentry(int);
1009 extern int xc_getlayoutcolor(int);
1010 void xc_get_color_rgb(unsigned long cidx, unsigned short *red,
1011 unsigned short *green, unsigned short *blue);
1012 extern int query_named_color(char *);
1013 extern caddr_t CvtStringToPixel(XrmValuePtr, int *, XrmValuePtr, XrmValuePtr);
1014 extern void outputpopup(xcWidget, caddr_t, caddr_t);
1015 extern void docommand(void);
1016 extern int getscreenDPI(void);
1017 extern int installowncmap(void); /* sometimes from xtgui.c */
1018 extern void destroypopup(xcWidget, popupstruct *, caddr_t);
1019 extern int xc_alloccolor(char *);
1020 extern void dointr(int);
1021 extern void DoNothing(xcWidget, caddr_t, caddr_t);
1022 extern u_short countchanges(char **);
1023 extern u_short getchanges(objectptr);
1024 extern int quitcheck(xcWidget, caddr_t, caddr_t);
1025 extern void quit(xcWidget, caddr_t);
1026 extern void resizetoolbar(void);
1027 extern void writescalevalues(char *, char *, char *);
1028 #ifdef TCL_WRAPPER
1029 extern Tcl_Obj *Tcl_NewHandleObj(void *);
1030 extern int Tcl_GetHandleFromObj(Tcl_Interp *, Tcl_Obj *, void **);
1031 #else
1032 extern void updatetext(xcWidget, xcWidgetList, caddr_t);
1033 extern void delwin(xcWidget, popupstruct *, XClientMessageEvent *);
1034 #endif
1037 extern void makecursors(void);
1039 /* from cairo.c */
1041 void xc_cairo_set_matrix(const Matrix *xcm);
1042 void xc_cairo_set_color(int coloridx);
1043 void xc_cairo_set_fontinfo(size_t fontidx);