diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Tk/pTk/tixInt.h')
-rw-r--r-- | Master/tlpkg/tlperl/lib/Tk/pTk/tixInt.h | 886 |
1 files changed, 0 insertions, 886 deletions
diff --git a/Master/tlpkg/tlperl/lib/Tk/pTk/tixInt.h b/Master/tlpkg/tlperl/lib/Tk/pTk/tixInt.h deleted file mode 100644 index d1dad2b88e6..00000000000 --- a/Master/tlpkg/tlperl/lib/Tk/pTk/tixInt.h +++ /dev/null @@ -1,886 +0,0 @@ - -/* $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 */ - |