/usr/lib/perl5/Tk/pTk/tixInt.h is in perl-tk 1:804.030-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | /* $Id: tixInt.h,v 1.1.1.1 2000/05/17 11:08:42 idiscovery Exp $ */
/*
* tixInt.h --
*
* Defines internal data types and functions used by the Tix library.
*
* Copyright (c) 1996, Expert Interface Technologies
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
*/
#ifndef _TIX
#include "tix.h"
#endif
#ifndef _TIXINT
#define _TIXINT
#define _TIX_INT_H_
/*----------------------------------------------------------------------
*
* Tix Display Item Types
*
*----------------------------------------------------------------------
*/
#define TIX_DITEM_NONE 0
#define TIX_DITEM_TEXT 1
#define TIX_DITEM_IMAGETEXT 2
#define TIX_DITEM_WINDOW 3
#define TIX_DITEM_IMAGE 4
/*
* The flags for drawing DItems
*/
#define TIX_DITEM_NORMAL_BG (0x1 << 0)
#define TIX_DITEM_ACTIVE_BG (0x1 << 1)
#define TIX_DITEM_SELECTED_BG (0x1 << 2)
#define TIX_DITEM_DISABLED_BG (0x1 << 3)
#define TIX_DITEM_NORMAL_FG (0x1 << 4)
#define TIX_DITEM_ACTIVE_FG (0x1 << 5)
#define TIX_DITEM_SELECTED_FG (0x1 << 6)
#define TIX_DITEM_DISABLED_FG (0x1 << 7)
#define TIX_DITEM_FONT (0x1 << 8)
#define TIX_DITEM_PADX (0x1 << 9)
#define TIX_DITEM_PADY (0x1 << 10)
#define TIX_DONT_CALL_CONFIG TK_CONFIG_USER_BIT
/*
* These values are used ONLY for indexing the color array in
* Tix_StyleTemplate
*/
#define TIX_DITEM_NORMAL 0
#define TIX_DITEM_ACTIVE 1
#define TIX_DITEM_SELECTED 2
#define TIX_DITEM_DISABLED 3
/*
* Flags for MultiInfo
*/
#define TIX_CONFIG_INFO 1
#define TIX_CONFIG_VALUE 2
typedef union Tix_DItem Tix_DItem;
typedef union Tix_DItemStyle Tix_DItemStyle;
typedef struct Tix_DItemInfo Tix_DItemInfo;
typedef struct Tix_DispData Tix_DispData;
typedef struct Tix_StyleTemplate Tix_StyleTemplate;
typedef void Tix_DItemCalculateSizeProc _ANSI_ARGS_((
Tix_DItem * iPtr));
typedef char * Tix_DItemComponentProc _ANSI_ARGS_((
Tix_DItem * iPtr, int x, int y));
typedef int Tix_DItemConfigureProc _ANSI_ARGS_((
Tix_DItem * iPtr, int argc, Tcl_Obj *CONST *objv,
int flags));
typedef Tix_DItem * Tix_DItemCreateProc _ANSI_ARGS_((
Tix_DispData * ddPtr,
Tix_DItemInfo * diTypePtr));
typedef void Tix_DItemDisplayProc _ANSI_ARGS_((
Pixmap pixmap, GC gc, Tix_DItem * iPtr,
int x, int y, int width, int height, int flag));
typedef void Tix_DItemFreeProc _ANSI_ARGS_((Tix_DItem * diPtr));
typedef void Tix_DItemSizeChangedProc _ANSI_ARGS_((
Tix_DItem * iPtr));
typedef void Tix_DItemStyleChangedProc _ANSI_ARGS_((
Tix_DItem * iPtr));
typedef void Tix_DItemLostStyleProc _ANSI_ARGS_((
Tix_DItem * iPtr));
typedef int Tix_DItemStyleConfigureProc _ANSI_ARGS_((
Tix_DItemStyle* style, int argc, Tcl_Obj *CONST *objv,
int flags));
typedef Tix_DItemStyle* Tix_DItemStyleCreateProc _ANSI_ARGS_((
Tcl_Interp * interp, Tk_Window tkwin,
Tix_DItemInfo * diTypePtr, char * name));
typedef void Tix_DItemStyleFreeProc _ANSI_ARGS_((
Tix_DItemStyle* style));
typedef void Tix_DItemStyleSetTemplateProc _ANSI_ARGS_((
Tix_DItemStyle* style,
Tix_StyleTemplate * tmplPtr));
/*
* These are debugging routines
*/
typedef int Tix_DItemRefCountProc _ANSI_ARGS_(());
typedef int Tix_DItemStyleRefCountProc _ANSI_ARGS_(());
/*----------------------------------------------------------------------
* Tix_DItemInfo --
*
* This structure is used to register a new display item (call
* Tix_AddDItemType).
*----------------------------------------------------------------------
*/
struct Tix_DItemInfo {
char * name;
int type;
/*
* These procedures communicate with the items
*/
Tix_DItemCreateProc * createProc;
Tix_DItemConfigureProc * configureProc;
Tix_DItemCalculateSizeProc * calculateSizeProc;
Tix_DItemComponentProc * componentProc;
Tix_DItemDisplayProc * displayProc;
Tix_DItemFreeProc * freeProc;
Tix_DItemStyleChangedProc *styleChangedProc;
Tix_DItemLostStyleProc * lostStyleProc;
/*
* These procedures communicate with the styles
*/
Tix_DItemStyleCreateProc * styleCreateProc;
Tix_DItemStyleConfigureProc * styleConfigureProc;
Tix_DItemStyleFreeProc * styleFreeProc;
Tix_DItemStyleSetTemplateProc * styleSetTemplateProc;
Tk_ConfigSpec * itemConfigSpecs;
Tk_ConfigSpec * styleConfigSpecs;
struct Tix_DItemInfo * next;
};
/*----------------------------------------------------------------------
* Tix_DispData --
*
* Information needed by the display types to display the item in
* an X drawable.
*----------------------------------------------------------------------
*/
struct Tix_DispData {
Display * display;
Tcl_Interp * interp;
Tk_Window tkwin;
Tix_DItemSizeChangedProc * sizeChangedProc;
};
/*----------------------------------------------------------------------
* Tix_StyleTemplate --
*
* A StyleTemplate is used to set the values of the default styles
* associated with a widget
*----------------------------------------------------------------------
*/
struct Tix_StyleTemplate {
int flags; /* determines which field is valid */
struct {
XColor * bg;
XColor * fg;
} colors[4]; /* colors for the four basic modes*/
int pad[2];
#if 0
/* %bordercolor not used */
XColor * borderColor;
Tix_Relief relief;
int borderWidth;
#endif
TixFont font;
};
/*----------------------------------------------------------------------
*
*
* Display Item Types
*
*
*----------------------------------------------------------------------
*/
/*
* Display Styles
*/
typedef struct TixBaseStyle TixBaseStyle;
typedef struct TixImageTextStyle TixImageTextStyle;
typedef struct TixImageStyle TixImageStyle;
typedef struct TixTextStyle TixTextStyle;
typedef struct TixWindowStyle TixWindowStyle;
typedef struct TixBaseItem TixBaseItem;
typedef struct TixColorStyle TixColorStyle;
typedef struct TixImageTextItem TixImageTextItem;
typedef struct TixImageItem TixImageItem;
typedef struct TixTextItem TixTextItem;
typedef struct TixWindowItem TixWindowItem;
/*----------------------------------------------------------------------
* TixBaseItem --
*
* This is the abstract base class for all display items. All
* display items should have the data members defined in the
* BaseItem structure
*----------------------------------------------------------------------
*/
#define ITEM_COMMON_MEMBERS \
Tix_DItemInfo * diTypePtr; \
Tix_DispData * ddPtr; \
ClientData clientData; \
int size[2] /* Size of this element */ \
struct TixBaseItem {
ITEM_COMMON_MEMBERS;
TixBaseStyle * stylePtr;
};
/*----------------------------------------------------------------------
* TixBaseStyle --
*
* This is the abstract base class for all display styles. All
* display items should have the data members defined in the
* BaseStyle structure. The common members are initialized by
* tixDiStyle.c
*
*----------------------------------------------------------------------
*/
#define STYLE_COMMON_MEMBERS \
Tcl_Command styleCmd; /* Token for style's command. */ \
Tcl_HashTable items; /* Ditems affected by this style */ \
int refCount; /* Number of ditems affected by this style */\
int flags; /* Various attributes */ \
Tcl_Interp *interp; /* Interpreter associated with style. */ \
Tk_Window tkwin; /* Window associated with this style */ \
Tix_DItemInfo * diTypePtr; \
Tk_Anchor anchor; /* Anchor information */ \
char * name; /* Name of this style */ \
int pad[2] /* paddings */
#if 0
Tix_Relief relief
/* %bordercolor not used */
int borderWidth;
XColor * borderColor; /* color of the border when it is displayed
* in "flat border" mode
*/
GC borderGC
#endif
#define STYLE_COLOR_MEMBERS \
struct { \
XColor * bg; \
XColor * fg; \
GC foreGC; \
GC backGC; \
} colors[4] /* colors and GC's for the four basic modes*/
struct TixBaseStyle {
STYLE_COMMON_MEMBERS;
};
#define TIX_STYLE_DELETED 1
#define TIX_STYLE_DEFAULT 2
/*
* Abstract type for all styles that have a color element
*/
struct TixColorStyle {
STYLE_COMMON_MEMBERS;
STYLE_COLOR_MEMBERS;
};
/*----------------------------------------------------------------------
* ImageTextItem --
*
* Display an image together with a text string
*----------------------------------------------------------------------
*/
struct TixImageTextItem {
ITEM_COMMON_MEMBERS;
TixImageTextStyle *stylePtr;
/*-------------------------*/
/* Bitmap */
/*-------------------------*/
Pixmap bitmap;
int bitmapW, bitmapH; /* Size of bitmap */
/*-------------------------*/
/* Image */
/*-------------------------*/
char *imageString; /* Name of image to display (malloc'ed), or
* NULL. If non-NULL, bitmap, text, and
* textVarName are ignored. */
Tk_Image image;
int imageW, imageH; /* Size of image */
/*-------------------------*/
/* Text */
/*-------------------------*/
Tcl_Obj * text; /* Show descriptive text */
size_t numChars; /* Size of text */
int textW, textH;
int wrapLength;
Tk_Justify justify; /* Justification to use for multi-line text. */
int underline; /* Index of character to underline. < 0 means
* don't underline anything. */
int showImage, showText;
};
struct TixImageTextStyle {
STYLE_COMMON_MEMBERS;
STYLE_COLOR_MEMBERS;
int wrapLength;
Tk_Justify justify; /* Justification to use for multi-line text. */
TixFont font;
int gap; /* Gap between text and image */
Tk_Anchor textanchor; /* Text anchor information */
};
/*----------------------------------------------------------------------
* ImageItem --
*
* Displays an image
*----------------------------------------------------------------------
*/
struct TixImageItem {
ITEM_COMMON_MEMBERS;
TixImageStyle *stylePtr;
/*-------------------------*/
/* Image */
/*-------------------------*/
char *imageString; /* Name of image to display (malloc'ed), or
* NULL. If non-NULL, bitmap, text, and
* textVarName are ignored. */
Tk_Image image;
int imageW, imageH; /* Size of image */
};
struct TixImageStyle {
STYLE_COMMON_MEMBERS;
STYLE_COLOR_MEMBERS;
};
/*----------------------------------------------------------------------
* TextItem --
*
* Displays a text string.
*----------------------------------------------------------------------
*/
struct TixTextItem {
ITEM_COMMON_MEMBERS;
TixTextStyle *stylePtr;
/*-------------------------*/
/* Text */
/*-------------------------*/
Tcl_Obj * text; /* Show descriptive text */
size_t numChars; /* Size of text */
int textW, textH;
int underline; /* Index of character to underline. < 0 means
* don't underline anything. */
};
struct TixTextStyle {
STYLE_COMMON_MEMBERS;
STYLE_COLOR_MEMBERS;
int wrapLength;
Tk_Justify justify; /* Justification to use for multi-line text. */
TixFont font;
};
/*----------------------------------------------------------------------
* WindowItem --
*
* Displays a window.
*----------------------------------------------------------------------
*/
struct TixWindowItem {
ITEM_COMMON_MEMBERS;
TixWindowStyle *stylePtr;
Tk_Window tkwin;
struct TixWindowItem * next;
int serial;
};
struct TixWindowStyle {
STYLE_COMMON_MEMBERS;
};
/*----------------------------------------------------------------------
* Tix_DItem and Tix_DItemStyle --
*
* These unions just make it easy to address the internals of the
* structures of the display items and styles. If you create a new
* display item, you will need to do you type casting yourself.
*----------------------------------------------------------------------
*/
union Tix_DItem {
TixBaseItem base;
TixImageTextItem imagetext;
TixTextItem text;
TixWindowItem window;
TixImageItem image;
};
union Tix_DItemStyle {
TixBaseStyle base;
TixColorStyle color;
TixImageTextStyle imagetext;
TixTextStyle text;
TixWindowStyle window;
TixImageStyle image;
};
#define Tix_DItemType(x) ((x)->base.diTypePtr->type)
#define Tix_DItemTypeName(x) ((x)->base.diTypePtr->name)
#define Tix_DItemWidth(x) ((x)->base.size[0])
#define Tix_DItemHeight(x) ((x)->base.size[1])
#define Tix_DItemConfigSpecs(x) ((x)->base.diTypePtr->itemConfigSpecs)
#define Tix_DItemPadX(x) ((x)->base.stylePtr->pad[0])
#define Tix_DItemPadY(x) ((x)->base.stylePtr->pad[1])
#define TIX_WIDTH 0
#define TIX_HEIGHT 1
/*----------------------------------------------------------------------
* Tix_ArgumentList --
*
* This data structure is used to split command arguments for
* the display item types
*----------------------------------------------------------------------
*/
#define FIXED_SIZE 4
typedef struct {
int argc;
Tcl_Obj **objv;
} Tix_Argument;
typedef struct {
Tix_Argument * arg;
int numLists;
Tix_Argument preAlloc[FIXED_SIZE];
} Tix_ArgumentList;
/*----------------------------------------------------------------------
* Tix_ScrollInfo --
*
* This data structure encapsulates all the necessary operations
* for scrolling widgets
*----------------------------------------------------------------------
*/
#define TIX_SCROLL_INT 1
#define TIX_SCROLL_DOUBLE 2
/* abstract type */
typedef struct Tix_ScrollInfo {
int type; /* TIX_SCROLL_INT or TIX_SCROLL_DOUBLE */
LangCallback *command;
/* place holder for actual space - double must be mentioned
to force alignment for too-clever-by-half compilers
*/
union {
int iscroll[4];
double dscroll[4];
} info;
} Tix_ScrollInfo;
typedef struct Tix_IntScrollInfo {
int type; /* TIX_SCROLL_INT */
LangCallback *command;
int total; /* total size (width or height) of the widget*/
int window; /* visible size */
int offset; /* The top/left side of the scrolled widget */
int unit; /* How much should we scroll when the user
* press the arrow on a scrollbar? */
} Tix_IntScrollInfo;
typedef struct Tix_DoubleScrollInfo {
int type; /* TIX_SCROLL_DOUBLE */
LangCallback *command;
double total; /* total size (width or height) of the widget*/
double window; /* visible size */
double offset; /* The top/left side of the scrolled widget */
double unit; /* How much should we scroll when the user
* press the arrow on a scrollbar? */
} Tix_DoubleScrollInfo;
/*----------------------------------------------------------------------
*
* Global variables
*
* Should be used only in the Tix library. Some systems don't support
* exporting of global variables from shared libraries.
*
*----------------------------------------------------------------------
*/
EXTERN Tk_Uid tixNormalUid;
EXTERN Tk_Uid tixDisabledUid;
EXTERN Tk_Uid tixCellUid;
EXTERN Tk_Uid tixRowUid;
EXTERN Tk_Uid tixColumnUid;
#define FLAG_READONLY 0
#define FLAG_STATIC 1
#define FLAG_FORCECALL 2
/*----------------------------------------------------------------------
*
*
* MEGA-WIDGET CONFIG HANDLING
*
*
*----------------------------------------------------------------------
*/
typedef struct _TixConfigSpec TixConfigSpec;
typedef struct _TixConfigAlias TixConfigAlias;
typedef struct _TixClassRecord TixClassRecord;
struct _TixConfigSpec {
unsigned int isAlias : 1;
unsigned int readOnly : 1;
unsigned int isStatic : 1;
unsigned int forceCall : 1;
char * argvName;
char * defValue;
char * dbName; /* The additional parts of a */
char * dbClass; /* TixWidgetConfigSpec structure */
char *verifyCmd;
TixConfigSpec * realPtr; /* valid only if this option is an alias */
};
/*
* Controls the access of root widget and subwidget commands and options
*/
typedef struct _Tix_ExportSpec {
Tix_LinkList exportCmds;
Tix_LinkList restrictCmds;
Tix_LinkList exportOpts;
Tix_LinkList restrictOpts;
} Tix_ExportSpec;
typedef struct _Tix_SubWidgetSpec {
struct _Tix_SubWidgetSpec * next;
char * name;
Tix_ExportSpec export;
} Tix_SubWidgetSpec;
typedef struct _Tix_StringLink {
struct _Tix_StringLink *next;
char * string;
} Tix_StringLink;
typedef struct _Tix_SubwidgetDef {
struct _TixSubwidgetDef * next;
char * spec;
char * value;
} Tix_SubwidgetDef;
typedef struct _TixClassParseStruct {
char * alias;
char * ClassName;
char * configSpec;
char * def;
char * flag;
char * forceCall;
char * method;
char * readOnly;
char * isStatic;
char * superClass;
char * subWidget;
char * isVirtual;
int optArgc;
char ** optArgv;
} TixClassParseStruct;
struct _TixClassRecord {
TixClassRecord * next; /* Chains to the next class record in
* a superClass's unInitSubCls list */
TixClassRecord * superClass; /* The superclass of this class. Is
* NULL if this class does not have
* a superclass. */
unsigned int isWidget; /* TRUE iff this class is created by
* the "tixWidgetClass" command */
char * className; /* Instiantiation command */
char * ClassName; /* used in TK option database */
int nSpecs;
TixConfigSpec ** specs;
int nMethods;
char ** methods;
Tk_Window mainWindow; /* This variable is essentially
* a cached variable so that
* we can advoid calling
* Tk_MainWindow() */
int isVirtual; /* is this a virtual base class
* (shouldn't be instantiated)*/
TixClassParseStruct*parsePtr; /* Information supplied by the
* tixClass or tixWidgetClass
* commands */
Tix_LinkList unInitSubCls; /* The subclasses that have not been
* initialized. */
int initialized; /* Is this class initialized? A class
* is not initialized if it has been
* defined but some its superclass
* is not initialized.
*/
Tix_LinkList subWDefs; /* the -defaults option */
#if USE_ACCESS_CONTROL
Tix_LinkList subWidgets;
Tix_ExportSpec exportSpec; /* controls the export status
* of the commands and options
* of the root widget */
#endif
};
typedef struct _TixInterpState {
char * result;
char * errorInfo;
char * errorCode;
} TixInterpState;
/*----------------------------------------------------------------------
*
* Internal procedures
*
*----------------------------------------------------------------------
*/
EXTERN int Tix_CallConfigMethod _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord *cPtr,
char * widRec, TixConfigSpec *spec, char * value));
EXTERN int Tix_CallMethod _ANSI_ARGS_((Tcl_Interp *interp,
char *context, char *widRec, char *method,
int argc, Tcl_Obj *CONST *objv));
EXTERN int Tix_ChangeOneOption _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord *cPtr,
char * widRec, TixConfigSpec *spec, char * value,
int isDefault, int isInit));
EXTERN int Tix_ChangeOptions _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord *cPtr,
char * widRec, int argc, Tcl_Obj *CONST *objv));
EXTERN TixConfigSpec * Tix_FindConfigSpecByName _ANSI_ARGS_((
Tcl_Interp * interp,
TixClassRecord * cPtr, char * name));
EXTERN char * Tix_FindMethod _ANSI_ARGS_((Tcl_Interp *interp,
char *context, char *method));
EXTERN char * Tix_FindPublicMethod _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord * cPtr,
char * method));
EXTERN int Tix_GetChars _ANSI_ARGS_((Tcl_Interp *interp,
char *string, double *doublePtr));
EXTERN char * Tix_GetConfigSpecFullName _ANSI_ARGS_((char *clasRec,
char *flag));
EXTERN char * Tix_GetContext _ANSI_ARGS_((
Tcl_Interp * interp, char * widRec));
EXTERN char * Tix_GetMethodFullName _ANSI_ARGS_((char *context,
char *method));
EXTERN void Tix_GetPublicMethods _ANSI_ARGS_((Tcl_Interp *interp,
char *widRec, int *numMethods,
char *** validMethods));
EXTERN int Tix_GetWidgetOption _ANSI_ARGS_((
Tcl_Interp *interp, Tk_Window tkwin,
char *argvName, char *dbName, char *dbClass,
char *defValue, int argc, Tcl_Obj *CONST *objv,
int type, char *ptr));
EXTERN int Tix_GetVar _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord *cPtr,
char * widRec, char * flag));
EXTERN int Tix_QueryAllOptions _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord * cPtr,
char *widRec));
EXTERN int Tix_QueryOneOption _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord *cPtr,
char *widRec, char *flag));
EXTERN int Tix_SuperClass _ANSI_ARGS_((Tcl_Interp *interp,
char *widClass, char ** superClass_ret));
EXTERN int Tix_UnknownPublicMethodError _ANSI_ARGS_((
Tcl_Interp *interp, TixClassRecord * cPtr,
char * widRec, char * method));
EXTERN int Tix_ValueMissingError _ANSI_ARGS_((Tcl_Interp *interp,
char *spec));
EXTERN void Tix_AddDItemType _ANSI_ARGS_((
Tix_DItemInfo * diTypePtr));
EXTERN int Tix_ConfigureInfo2 _ANSI_ARGS_((
Tcl_Interp *interp, Tk_Window tkwin,
char *entRec, Tk_ConfigSpec *entConfigSpecs,
Tix_DItem * iPtr, char *argvName, int flags));
EXTERN int Tix_ConfigureValue2 _ANSI_ARGS_((Tcl_Interp *interp,
Tk_Window tkwin, char * entRec,
Tk_ConfigSpec *entConfigSpecs, Tix_DItem * iPtr,
char *argvName, int flags));
EXTERN void Tix_DItemCalculateSize _ANSI_ARGS_((
Tix_DItem * iPtr));
EXTERN char * Tix_DItemComponent _ANSI_ARGS_((Tix_DItem * diPtr,
int x, int y));
EXTERN int Tix_DItemConfigure _ANSI_ARGS_((
Tix_DItem * diPtr, int argc,
Tcl_Obj *CONST *objv, int flags));
EXTERN Tix_DItem * Tix_DItemCreate _ANSI_ARGS_((Tix_DispData * ddPtr,
char * type));
EXTERN void Tix_DItemDrawBackground _ANSI_ARGS_((
Pixmap pixmap, GC gc, Tix_DItem * iPtr,
int x, int y, int width, int height, int flags));
EXTERN void Tix_DItemDisplay _ANSI_ARGS_((
Pixmap pixmap, GC gc, Tix_DItem * iPtr,
int x, int y, int width, int height, int flag));
EXTERN void Tix_DItemFree _ANSI_ARGS_((
Tix_DItem * iPtr));
EXTERN void TixDItemStyleChanged _ANSI_ARGS_((
Tix_DItemInfo * diTypePtr,
Tix_DItemStyle * stylePtr));
EXTERN void TixDItemStyleFree _ANSI_ARGS_((Tix_DItem *iPtr,
Tix_DItemStyle * stylePtr));
EXTERN void TixDItemGetAnchor _ANSI_ARGS_((Tk_Anchor anchor,
int x, int y, int cav_w, int cav_h,
int width, int height, int * x_ret, int * y_ret));
EXTERN void Tix_FreeArgumentList _ANSI_ARGS_((
Tix_ArgumentList *argListPtr));
EXTERN void TixGetColorDItemGC _ANSI_ARGS_((
Tix_DItem * iPtr, GC * backGC_ret,
GC * foreGC_ret, int flags));
EXTERN Tix_DItemStyle* TixGetDefaultDItemStyle _ANSI_ARGS_((
Tix_DispData * ddPtr, Tix_DItemInfo * diTypePtr,
Tix_DItem *iPtr, Tix_DItemStyle* oldStylePtr));
EXTERN Tix_DItemInfo * Tix_GetDItemType _ANSI_ARGS_((
Tcl_Interp * interp, char *type));
EXTERN void Tix_GetScrollFractions _ANSI_ARGS_((
Tix_ScrollInfo * siPtr,
double * first_ret, double * last_ret));
EXTERN void Tix_InitScrollInfo _ANSI_ARGS_((
Tix_ScrollInfo * siPtr, int type));
EXTERN int Tix_MultiConfigureInfo _ANSI_ARGS_((
Tcl_Interp * interp,
Tk_Window tkwin, Tk_ConfigSpec **specsList,
int numLists, char **widgRecList, char *argvName,
int flags, int request));
EXTERN void Tix_SetDefaultStyleTemplate _ANSI_ARGS_((
Tk_Window tkwin, Tix_StyleTemplate * tmplPtr));
EXTERN int Tix_SetScrollBarView _ANSI_ARGS_((
Tcl_Interp *interp, Tix_ScrollInfo * siPtr,
int argc, Tcl_Obj *CONST *objv, int compat));
EXTERN void Tix_SetWindowItemSerial _ANSI_ARGS_((
Tix_LinkList * lPtr, Tix_DItem * iPtr,
int serial));
EXTERN int Tix_SplitConfig _ANSI_ARGS_((Tcl_Interp * interp,
Tk_Window tkwin, Tk_ConfigSpec ** specsList,
int numLists, int argc, Tcl_Obj *CONST *objv,
Tix_ArgumentList * argListPtr));
EXTERN void Tix_UnmapInvisibleWindowItems _ANSI_ARGS_((
Tix_LinkList * lPtr, int serial));
EXTERN void Tix_UpdateScrollBar _ANSI_ARGS_((
Tcl_Interp *interp, Tix_ScrollInfo * siPtr));
EXTERN int Tix_WidgetConfigure2 _ANSI_ARGS_((
Tcl_Interp *interp, Tk_Window tkwin, char * entRec,
Tk_ConfigSpec *entConfigSpecs,
Tix_DItem * iPtr, int argc, Tcl_Obj *CONST *objv,
int flags, int forced, int * sizeChanged_ret));
EXTERN void Tix_WindowItemListRemove _ANSI_ARGS_((
Tix_LinkList * lPtr, Tix_DItem * iPtr));
typedef struct _TixpSubRegion TixpSubRegion;
struct _TixpSubRegion {
Pixmap pixmap;
int origX, origY;
int x, y;
int width, height;
};
/*
* Functions that should be used by Tix only. Functions prefixed by "Tix"
* are generic functions that has one implementation for all platforms.
* Functions prefixed with "Tixp" requires one implementation on each
* platform.
*/
extern int TixInitSam _ANSI_ARGS_((Tcl_Interp * interp));
extern int TixLoadLibrary _ANSI_ARGS_((Tcl_Interp * interp));
extern void TixRestoreInterpState _ANSI_ARGS_((
Tcl_Interp * interp, TixInterpState * statePtr));
extern void TixSaveInterpState _ANSI_ARGS_((Tcl_Interp * interp,
TixInterpState * statePtr));
extern void TixpDrawAnchorLines _ANSI_ARGS_((Display *display,
Drawable drawable, GC gc, int x, int y,
int w, int h));
extern void TixpDrawTmpLine _ANSI_ARGS_((int x1, int y1,
int x2, int y2, Tk_Window tkwin));
extern void TixpEndSubRegionDraw _ANSI_ARGS_((Display *display,
Drawable drawable, GC gc,
TixpSubRegion * subRegPtr));
extern int TixpSetWindowParent _ANSI_ARGS_((Tcl_Interp * interp,
Tk_Window tkwin, Tk_Window newParent,
int parentId));
extern void TixpStartSubRegionDraw _ANSI_ARGS_((Tix_DispData *ddPtr,
Drawable drawable, GC gc,
TixpSubRegion * subRegPtr, int origX,
int origY, int x, int y, int width, int height,
int needWidth, int needHeight));
extern void TixpSubRegDisplayText _ANSI_ARGS_((Display *display,
Drawable drawable, GC gc,
TixpSubRegion * subRegPtr,
TixFont font, char *string,
int numChars, int x, int y, int length,
Tk_Justify justify, int underline));
extern void TixpSubRegDrawBitmap _ANSI_ARGS_((Display *display,
Drawable drawable, GC gc,
TixpSubRegion * subRegPtr, Pixmap bitmap,
int src_x, int src_y, int width, int height,
int dest_x, int dest_y, unsigned long plane));
extern void TixpSubRegDrawImage _ANSI_ARGS_((
TixpSubRegion * subRegPtr, Tk_Image image,
int imageX, int imageY, int width, int height,
Drawable drawable, int drawableX, int drawableY));
extern void TixpSubRegFillRectangle _ANSI_ARGS_((Display *display,
Drawable drawable, GC gc,
TixpSubRegion * subRegPtr, int x, int y,
int width, int height));
/* These functions are also, and originaly declared in tixPort.h but
* that would mean even more Vtables
*/
EXTERN void TixComputeTextGeometry _ANSI_ARGS_((
TixFont fontStructPtr, char *string,
int numChars, int wrapLength, int *widthPtr,
int *heightPtr));
EXTERN void TixDisplayText _ANSI_ARGS_((Display *display,
Drawable drawable, TixFont font,
char *string, int numChars, int x, int y,
int length, Tk_Justify justify, int underline,
GC gc));
EXTERN Tcl_HashTable * TixGetHashTable _ANSI_ARGS_((Tcl_Interp * interp,
char * name, Tcl_InterpDeleteProc *deleteProc));
/*
* built-in strdup is not compatible with the tcl memory allocator. We
* replace all strdup calls with tixStrDup.
*/
#define NO_STRDUP 1
extern char *tixStrDup _ANSI_ARGS_(( CONST char * s));
/*
* Console Stuff
* (these are declared with the EXTERN in win/winMain.c but without it
* in generic/tkConsole.c)
*/
EXTERN void TkConsoleCreate _ANSI_ARGS_((void));
EXTERN int TkConsoleInit _ANSI_ARGS_((Tcl_Interp *interp));
#define TixConsoleCreate(x) TkConsoleCreate()
#define TixConsoleInit(x) TkConsoleInit(x)
#endif /* _TIXINT */
|