Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / sun4-solaris / Tk / pTk / tixInt.h
/*
* 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 **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 **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 */
/*-------------------------*/
Arg 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 */
/*-------------------------*/
Arg 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 **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 **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 **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 **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 **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 **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 **objv,
int flags, int forced, int * sizeChanged_ret));
EXTERN void Tix_WindowItemListRemove _ANSI_ARGS_((
Tix_LinkList * lPtr, Tix_DItem * iPtr));
typedef struct _TixpSubRegion TixpSubRegion;
/*
* 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_((Display *display,
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 */