* 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.
/*----------------------------------------------------------------------
*----------------------------------------------------------------------
#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
#define TIX_DITEM_NORMAL 0
#define TIX_DITEM_ACTIVE 1
#define TIX_DITEM_SELECTED 2
#define TIX_DITEM_DISABLED 3
#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_((
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
,
typedef Tix_DItem
* Tix_DItemCreateProc
_ANSI_ARGS_((
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_((
typedef void Tix_DItemStyleChangedProc
_ANSI_ARGS_((
typedef void Tix_DItemLostStyleProc
_ANSI_ARGS_((
typedef int Tix_DItemStyleConfigureProc
_ANSI_ARGS_((
Tix_DItemStyle
* style
, int argc
, Tcl_Obj
**objv
,
typedef Tix_DItemStyle
* Tix_DItemStyleCreateProc
_ANSI_ARGS_((
Tcl_Interp
* interp
, Tk_Window tkwin
,
Tix_DItemInfo
* diTypePtr
, char * name
));
typedef void Tix_DItemStyleFreeProc
_ANSI_ARGS_((
typedef void Tix_DItemStyleSetTemplateProc
_ANSI_ARGS_((
Tix_StyleTemplate
* tmplPtr
));
* These are debugging routines
typedef int Tix_DItemRefCountProc
_ANSI_ARGS_(());
typedef int Tix_DItemStyleRefCountProc
_ANSI_ARGS_(());
/*----------------------------------------------------------------------
* This structure is used to register a new display item (call
*----------------------------------------------------------------------
* 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
;
/*----------------------------------------------------------------------
* Information needed by the display types to display the item in
*----------------------------------------------------------------------
Tix_DItemSizeChangedProc
* sizeChangedProc
;
/*----------------------------------------------------------------------
* 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 */
} colors
[4]; /* colors for the four basic modes*/
/* %bordercolor not used */
/*----------------------------------------------------------------------
*----------------------------------------------------------------------
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
;
/*----------------------------------------------------------------------
* This is the abstract base class for all display items. All
* display items should have the data members defined in the
*----------------------------------------------------------------------
#define ITEM_COMMON_MEMBERS \
Tix_DItemInfo * diTypePtr; \
int size[2] /* Size of this element */ \
/*----------------------------------------------------------------------
* 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
*----------------------------------------------------------------------
#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 */
/* %bordercolor not used */
XColor
* borderColor
; /* color of the border when it is displayed
#define STYLE_COLOR_MEMBERS \
} colors[4] /* colors and GC's for the four basic modes*/
#define TIX_STYLE_DELETED 1
#define TIX_STYLE_DEFAULT 2
* Abstract type for all styles that have a color element
/*----------------------------------------------------------------------
* Display an image together with a text string
*----------------------------------------------------------------------
struct TixImageTextItem
{
TixImageTextStyle
*stylePtr
;
/*-------------------------*/
/*-------------------------*/
int bitmapW
, bitmapH
; /* Size of bitmap */
/*-------------------------*/
/*-------------------------*/
char *imageString
; /* Name of image to display (malloc'ed), or
* NULL. If non-NULL, bitmap, text, and
* textVarName are ignored. */
int imageW
, imageH
; /* Size of image */
/*-------------------------*/
/*-------------------------*/
Arg text
; /* Show descriptive text */
size_t numChars
; /* Size of text */
Tk_Justify justify
; /* Justification to use for multi-line text. */
int underline
; /* Index of character to underline. < 0 means
* don't underline anything. */
struct TixImageTextStyle
{
Tk_Justify justify
; /* Justification to use for multi-line text. */
int gap
; /* Gap between text and image */
Tk_Anchor textanchor
; /* Text anchor information */
/*----------------------------------------------------------------------
*----------------------------------------------------------------------
/*-------------------------*/
/*-------------------------*/
char *imageString
; /* Name of image to display (malloc'ed), or
* NULL. If non-NULL, bitmap, text, and
* textVarName are ignored. */
int imageW
, imageH
; /* Size of image */
/*----------------------------------------------------------------------
* Displays a text string.
*----------------------------------------------------------------------
/*-------------------------*/
/*-------------------------*/
Arg text
; /* Show descriptive text */
size_t numChars
; /* Size of text */
int underline
; /* Index of character to underline. < 0 means
* don't underline anything. */
Tk_Justify justify
; /* Justification to use for multi-line text. */
/*----------------------------------------------------------------------
*----------------------------------------------------------------------
TixWindowStyle
*stylePtr
;
struct TixWindowItem
* next
;
/*----------------------------------------------------------------------
* 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.
*----------------------------------------------------------------------
TixImageTextItem imagetext
;
TixImageTextStyle imagetext
;
#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])
/*----------------------------------------------------------------------
* This data structure is used to split command arguments for
*----------------------------------------------------------------------
Tix_Argument preAlloc
[FIXED_SIZE
];
/*----------------------------------------------------------------------
* This data structure encapsulates all the necessary operations
*----------------------------------------------------------------------
#define TIX_SCROLL_DOUBLE 2
typedef struct Tix_ScrollInfo
{
int type
; /* TIX_SCROLL_INT or TIX_SCROLL_DOUBLE */
/* place holder for actual space - double must be mentioned
to force alignment for too-clever-by-half compilers
typedef struct Tix_IntScrollInfo
{
int type
; /* TIX_SCROLL_INT */
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? */
typedef struct Tix_DoubleScrollInfo
{
int type
; /* TIX_SCROLL_DOUBLE */
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? */
/*----------------------------------------------------------------------
* 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 tixColumnUid
;
/*----------------------------------------------------------------------
* MEGA-WIDGET CONFIG HANDLING
*----------------------------------------------------------------------
typedef struct _TixConfigSpec TixConfigSpec
;
typedef struct _TixConfigAlias TixConfigAlias
;
typedef struct _TixClassRecord TixClassRecord
;
unsigned int isAlias
: 1;
unsigned int readOnly
: 1;
unsigned int isStatic
: 1;
unsigned int forceCall
: 1;
char * dbName
; /* The additional parts of a */
char * dbClass
; /* TixWidgetConfigSpec structure */
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 restrictCmds
;
Tix_LinkList restrictOpts
;
typedef struct _Tix_SubWidgetSpec
{
struct _Tix_SubWidgetSpec
* next
;
typedef struct _Tix_StringLink
{
struct _Tix_StringLink
*next
;
typedef struct _Tix_SubwidgetDef
{
struct _TixSubwidgetDef
* next
;
typedef struct _TixClassParseStruct
{
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
unsigned int isWidget
; /* TRUE iff this class is created by
* the "tixWidgetClass" command */
char * className
; /* Instiantiation command */
char * ClassName
; /* used in TK option database */
Tk_Window mainWindow
; /* This variable is essentially
* a cached variable so that
int isVirtual
; /* is this a virtual base class
* (shouldn't be instantiated)*/
TixClassParseStruct
*parsePtr
; /* Information supplied by the
* tixClass or tixWidgetClass
Tix_LinkList unInitSubCls
; /* The subclasses that have not been
int initialized
; /* Is this class initialized? A class
* is not initialized if it has been
* defined but some its superclass
Tix_LinkList subWDefs
; /* the -defaults option */
Tix_ExportSpec exportSpec
; /* controls the export status
* of the commands and options
typedef struct _TixInterpState
{
/*----------------------------------------------------------------------
*----------------------------------------------------------------------
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_((
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
,
EXTERN
int Tix_GetChars
_ANSI_ARGS_((Tcl_Interp
*interp
,
char *string
, double *doublePtr
));
EXTERN
char * Tix_GetConfigSpecFullName
_ANSI_ARGS_((char *clasRec
,
EXTERN
char * Tix_GetContext
_ANSI_ARGS_((
Tcl_Interp
* interp
, char * widRec
));
EXTERN
char * Tix_GetMethodFullName
_ANSI_ARGS_((char *context
,
EXTERN
void Tix_GetPublicMethods
_ANSI_ARGS_((Tcl_Interp
*interp
,
char *widRec
, int *numMethods
,
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
,
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
,
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
,
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_((
EXTERN
char * Tix_DItemComponent
_ANSI_ARGS_((Tix_DItem
* diPtr
,
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
,
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_((
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_((
double * first_ret
, double * last_ret
));
EXTERN
void Tix_InitScrollInfo
_ANSI_ARGS_((
Tix_ScrollInfo
* siPtr
, int type
));
EXTERN
int Tix_MultiConfigureInfo
_ANSI_ARGS_((
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
,
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
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
,
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
,
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
,
/* 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
,
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
,
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.
extern char *tixStrDup
_ANSI_ARGS_(( CONST
char * s
));
* (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)