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