1 /*----------------------------------------------------------------------*/
3 /* Master list of function prototypes */
4 /*----------------------------------------------------------------------*/
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
*);
24 extern void undo_call(xcWidget
, caddr_t
, caddr_t
);
25 extern void redo_call(xcWidget
, caddr_t
, caddr_t
);
29 /* from tclxcircuit.c */
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);
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
);
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);
189 extern void makepress(ClientData
);
191 extern void makepress(XtPointer
, xcIntervalId
*);
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);
205 extern void xlib_makeobject(xcWidget
, caddr_t
);
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);
257 extern void importspice(void);
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();
322 extern void setfile(char *, int);
323 extern void savetemp(ClientData
);
325 extern void setfile(xcWidget
, xcWidget
, caddr_t
);
326 extern void savetemp(XtPointer
, xcIntervalId
*);
328 extern void incr_changes(objectptr
);
329 extern void savelibpopup(xcWidget
, char *, caddr_t
);
331 extern void savelibrary(xcWidget
, char *);
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
);
367 extern void initsplines(void);
368 extern void computecoeffs(splineptr
, float *, float *, 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,
408 extern void InvTransformPoints(XPoint
*, XPoint
*, short, XPoint
, 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);
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 *);
485 extern void mode_rebinding(int, int);
486 extern void mode_tempbinding(int, int);
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 *);
536 extern void renamepage(short);
537 extern void renamelib(short);
538 extern void setcolormark(int);
539 extern void setallstylemarks(u_short
);
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
);
554 extern void setcolor(xcWidget
, int);
555 extern void setfontmarks(short, short);
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 */
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
);
643 /* from netlist.c: */
646 extern Tcl_Obj
*tclglobals(objinstptr
);
647 extern Tcl_Obj
*tcltoplevel(objinstptr
);
648 void ratsnest(objinstptr
);
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
,
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
);
793 extern int python_key_command(int);
794 extern void init_interpreter(void);
795 extern void exit_interpreter(void);
799 extern xcWidget
*pytoolbuttons(int *);
804 extern short execcommand(short, char *);
806 extern int defaultscript(void);
807 extern int loadrcfile(void);
809 extern void defaultscript(void);
810 extern void loadrcfile(void);
812 extern void execscript(void);
814 extern short readcommand(short, FILE *);
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
,
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);
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
,
868 extern Boolean
render_client(XEvent
*);
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
);
896 extern void xlib_swapschem(xcWidget
, pointertype
, caddr_t
);
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);
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 *);
1029 extern Tcl_Obj
*Tcl_NewHandleObj(void *);
1030 extern int Tcl_GetHandleFromObj(Tcl_Interp
*, Tcl_Obj
*, void **);
1032 extern void updatetext(xcWidget
, xcWidgetList
, caddr_t
);
1033 extern void delwin(xcWidget
, popupstruct
*, XClientMessageEvent
*);
1037 extern void makecursors(void);
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
);