summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
Diffstat (limited to 'generic')
-rw-r--r--generic/tk.h10
-rw-r--r--generic/tk3d.h8
-rw-r--r--generic/tkButton.h18
-rw-r--r--generic/tkCanvas.c10
-rw-r--r--generic/tkCanvas.h13
-rw-r--r--generic/tkColor.h8
-rw-r--r--generic/tkEntry.h4
-rw-r--r--generic/tkFileFilter.h8
-rw-r--r--generic/tkFont.c4
-rw-r--r--generic/tkFont.h26
-rw-r--r--generic/tkImage.c7
-rw-r--r--generic/tkImgPhoto.c4
-rw-r--r--generic/tkInt.decls30
-rw-r--r--generic/tkInt.h197
-rw-r--r--generic/tkIntDecls.h29
-rw-r--r--generic/tkIntPlatDecls.h40
-rw-r--r--generic/tkIntXlibDecls.h12
-rw-r--r--generic/tkMenu.c16
-rw-r--r--generic/tkMenu.h82
-rw-r--r--generic/tkMenubutton.h14
-rw-r--r--generic/tkScale.h24
-rw-r--r--generic/tkScrollbar.h22
-rw-r--r--generic/tkSelect.h14
-rw-r--r--generic/tkStubInit.c15
-rw-r--r--generic/tkStubLib.c12
-rw-r--r--generic/tkTest.c258
-rw-r--r--generic/tkText.c86
-rw-r--r--generic/tkText.h192
-rw-r--r--generic/tkTextDisp.c4
-rw-r--r--generic/tkUndo.h34
30 files changed, 596 insertions, 605 deletions
diff --git a/generic/tk.h b/generic/tk.h
index beef98b..831c905 100644
--- a/generic/tk.h
+++ b/generic/tk.h
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tk.h,v 1.84 2005/06/07 14:20:17 dkf Exp $
+ * RCS: @(#) $Id: tk.h,v 1.85 2005/11/27 02:36:13 das Exp $
*/
#ifndef _TK
@@ -34,12 +34,10 @@ extern "C" {
* unix/configure.in (2 LOC Major, 2 LOC minor, 1 LOC patch)
* win/configure.in (as above)
* README (sections 0 and 1)
- * macosx/Wish.pbproj/project.pbxproj
- * (12 LOC Major/Minor, 4 LOC patch)
* macosx/Wish.xcode/project.pbxproj
- * (5 LOC Major/Minor, not patchlevel)
- * macosx/Wish-Info.plist (3 LOC Major/Minor, 2 LOC patch)
- * macosx/Tk-Info.plist (4 LOC Major/Minor, 2 LOC patch)
+ * (1 LOC Major/Minor, not patchlevel)
+ * macosx/Wish.xcodeproj/project.pbxproj
+ * (4 LOC Major/Minor, not patchlevel)
* win/README (not patchlevel)
* unix/README (not patchlevel)
* unix/tk.spec (3 LOC Major/Minor, 2 LOC patch)
diff --git a/generic/tk3d.h b/generic/tk3d.h
index 100908b..c3fac00 100644
--- a/generic/tk3d.h
+++ b/generic/tk3d.h
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tk3d.h,v 1.6 2005/11/04 15:23:05 dkf Exp $
+ * RCS: @(#) $Id: tk3d.h,v 1.7 2005/11/27 02:36:13 das Exp $
*/
#ifndef _TK3D
@@ -86,9 +86,9 @@ typedef struct TkBorder {
* Declarations for platform specific interfaces used by this module.
*/
-EXTERN TkBorder * TkpGetBorder(void);
-EXTERN void TkpGetShadows(TkBorder *borderPtr, Tk_Window tkwin);
-EXTERN void TkpFreeBorder(TkBorder *borderPtr);
+MODULE_SCOPE TkBorder *TkpGetBorder(void);
+MODULE_SCOPE void TkpGetShadows(TkBorder *borderPtr, Tk_Window tkwin);
+MODULE_SCOPE void TkpFreeBorder(TkBorder *borderPtr);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkButton.h b/generic/tkButton.h
index 01a30e8..def38c2 100644
--- a/generic/tkButton.h
+++ b/generic/tkButton.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkButton.h,v 1.12 2005/11/04 15:23:05 dkf Exp $
+ * RCS: @(#) $Id: tkButton.h,v 1.13 2005/11/27 02:36:13 das Exp $
*/
#ifndef _TKBUTTON
@@ -297,25 +297,25 @@ typedef struct {
* Declaration of variables shared between the files in the button module.
*/
-extern Tk_ClassProcs tkpButtonProcs;
+MODULE_SCOPE Tk_ClassProcs tkpButtonProcs;
/*
* Declaration of functions used in the implementation of the button widget.
*/
#ifndef TkpButtonSetDefaults
-EXTERN void TkpButtonSetDefaults(Tk_OptionSpec *specPtr);
+MODULE_SCOPE void TkpButtonSetDefaults(Tk_OptionSpec *specPtr);
#endif
-EXTERN void TkButtonWorldChanged(ClientData instanceData);
-EXTERN void TkpComputeButtonGeometry(TkButton *butPtr);
-EXTERN TkButton * TkpCreateButton(Tk_Window tkwin);
+MODULE_SCOPE void TkButtonWorldChanged(ClientData instanceData);
+MODULE_SCOPE void TkpComputeButtonGeometry(TkButton *butPtr);
+MODULE_SCOPE TkButton *TkpCreateButton(Tk_Window tkwin);
#ifndef TkpDestroyButton
-EXTERN void TkpDestroyButton(TkButton *butPtr);
+MODULE_SCOPE void TkpDestroyButton(TkButton *butPtr);
#endif
#ifndef TkpDisplayButton
-EXTERN void TkpDisplayButton(ClientData clientData);
+MODULE_SCOPE void TkpDisplayButton(ClientData clientData);
#endif
-EXTERN int TkInvokeButton(TkButton *butPtr);
+MODULE_SCOPE int TkInvokeButton(TkButton *butPtr);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkCanvas.c b/generic/tkCanvas.c
index c183830..ac1b4f0 100644
--- a/generic/tkCanvas.c
+++ b/generic/tkCanvas.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkCanvas.c,v 1.39 2005/11/17 10:57:35 dkf Exp $
+ * RCS: @(#) $Id: tkCanvas.c,v 1.40 2005/11/27 02:36:13 das Exp $
*/
/* #define USE_OLD_TAG_SEARCH 1 */
@@ -239,14 +239,6 @@ static SearchUids * GetStaticUids(void);
#endif /* USE_OLD_TAG_SEARCH */
/*
- * Standard item types provided by Tk:
- */
-
-extern Tk_ItemType tkArcType, tkBitmapType, tkImageType, tkLineType;
-extern Tk_ItemType tkOvalType, tkPolygonType;
-extern Tk_ItemType tkRectangleType, tkTextType, tkWindowType;
-
-/*
* Prototypes for functions defined later in this file:
*/
diff --git a/generic/tkCanvas.h b/generic/tkCanvas.h
index 5e27558..de1aaf2 100644
--- a/generic/tkCanvas.h
+++ b/generic/tkCanvas.h
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkCanvas.h,v 1.8 2005/11/04 15:30:59 dkf Exp $
+ * RCS: @(#) $Id: tkCanvas.h,v 1.9 2005/11/27 02:36:13 das Exp $
*/
#ifndef _TKCANVAS
@@ -290,10 +290,17 @@ typedef struct TkCanvas {
* to the outside world:
*/
-extern int TkCanvPostscriptCmd(TkCanvas *canvasPtr,
+MODULE_SCOPE int TkCanvPostscriptCmd(TkCanvas *canvasPtr,
Tcl_Interp *interp, int argc, CONST char **argv);
-extern int TkCanvTranslatePath(TkCanvas *canvPtr,
+MODULE_SCOPE int TkCanvTranslatePath(TkCanvas *canvPtr,
int numVertex, double *coordPtr, int closed,
XPoint *outPtr);
+/*
+ * Standard item types provided by Tk:
+ */
+
+MODULE_SCOPE Tk_ItemType tkArcType, tkBitmapType, tkImageType, tkLineType;
+MODULE_SCOPE Tk_ItemType tkOvalType, tkPolygonType;
+MODULE_SCOPE Tk_ItemType tkRectangleType, tkTextType, tkWindowType;
#endif /* _TKCANVAS */
diff --git a/generic/tkColor.h b/generic/tkColor.h
index f662ebe..71e02ee 100644
--- a/generic/tkColor.h
+++ b/generic/tkColor.h
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkColor.h,v 1.7 2005/11/11 23:51:27 dkf Exp $
+ * RCS: @(#) $Id: tkColor.h,v 1.8 2005/11/27 02:36:13 das Exp $
*/
#ifndef _TKCOLOR
@@ -74,10 +74,10 @@ typedef struct TkColor {
*/
#ifndef TkpFreeColor
-EXTERN void TkpFreeColor(TkColor *tkColPtr);
+MODULE_SCOPE void TkpFreeColor(TkColor *tkColPtr);
#endif
-EXTERN TkColor * TkpGetColor(Tk_Window tkwin, Tk_Uid name);
-EXTERN TkColor * TkpGetColorByValue(Tk_Window tkwin, XColor *colorPtr);
+MODULE_SCOPE TkColor * TkpGetColor(Tk_Window tkwin, Tk_Uid name);
+MODULE_SCOPE TkColor * TkpGetColorByValue(Tk_Window tkwin, XColor *colorPtr);
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkEntry.h b/generic/tkEntry.h
index 636aefc..7f8aa1f 100644
--- a/generic/tkEntry.h
+++ b/generic/tkEntry.h
@@ -296,9 +296,9 @@ enum selelement {
* the Entry widget.
*/
-int TkpDrawEntryBorderAndFocus(Entry *entryPtr,
+MODULE_SCOPE int TkpDrawEntryBorderAndFocus(Entry *entryPtr,
Drawable d, int isSpinbox);
-int TkpDrawSpinboxButtons(Spinbox *sbPtr, Drawable d);
+MODULE_SCOPE int TkpDrawSpinboxButtons(Spinbox *sbPtr, Drawable d);
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkFileFilter.h b/generic/tkFileFilter.h
index dad9772..c6680df 100644
--- a/generic/tkFileFilter.h
+++ b/generic/tkFileFilter.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkFileFilter.h,v 1.7 2005/11/15 15:18:21 dkf Exp $
+ * RCS: @(#) $Id: tkFileFilter.h,v 1.8 2005/11/27 02:36:13 das Exp $
*
*/
@@ -77,9 +77,9 @@ typedef struct FileFilterList {
int numFilters; /* number of filters in the list */
} FileFilterList;
-EXTERN void TkFreeFileFilters(FileFilterList *flistPtr);
-EXTERN void TkInitFileFilters(FileFilterList *flistPtr);
-EXTERN int TkGetFileFilters(Tcl_Interp *interp,
+MODULE_SCOPE void TkFreeFileFilters(FileFilterList *flistPtr);
+MODULE_SCOPE void TkInitFileFilters(FileFilterList *flistPtr);
+MODULE_SCOPE int TkGetFileFilters(Tcl_Interp *interp,
FileFilterList *flistPtr, Tcl_Obj *valuePtr,
int isWindows);
diff --git a/generic/tkFont.c b/generic/tkFont.c
index cff54b0..5166e04 100644
--- a/generic/tkFont.c
+++ b/generic/tkFont.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkFont.c,v 1.26 2005/11/22 11:59:04 dkf Exp $
+ * RCS: @(#) $Id: tkFont.c,v 1.27 2005/11/27 02:36:13 das Exp $
*/
#include "tkPort.h"
@@ -343,6 +343,8 @@ static int SetFontFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr);
static void TheWorldHasChanged(ClientData clientData);
static void UpdateDependentFonts(TkFontInfo *fiPtr,
Tk_Window tkwin, Tcl_HashEntry *namedHashPtr);
+MODULE_SCOPE int TkFontGetFirstTextLayout(Tk_TextLayout layout,
+ Tk_Font *font, char *dst);
/*
* The following structure defines the implementation of the "font" Tcl
diff --git a/generic/tkFont.h b/generic/tkFont.h
index c573750..3b6489a 100644
--- a/generic/tkFont.h
+++ b/generic/tkFont.h
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkFont.h,v 1.6 2005/11/07 15:43:51 dkf Exp $
+ * RCS: @(#) $Id: tkFont.h,v 1.7 2005/11/27 02:36:13 das Exp $
*/
#ifndef _TKFONT
@@ -195,26 +195,26 @@ typedef struct TkXLFDAttributes {
#define TkInitFontAttributes(fa) memset((fa), 0, sizeof(TkFontAttributes));
#define TkInitXLFDAttributes(xa) memset((xa), 0, sizeof(TkXLFDAttributes));
-EXTERN int TkFontParseXLFD(CONST char *string,
+MODULE_SCOPE int TkFontParseXLFD(CONST char *string,
TkFontAttributes *faPtr, TkXLFDAttributes *xaPtr);
-EXTERN char ** TkFontGetAliasList(CONST char *faceName);
-EXTERN char *** TkFontGetFallbacks(void);
-EXTERN int TkFontGetPixels(Tk_Window tkwin, int size);
-EXTERN int TkFontGetPoints(Tk_Window tkwin, int size);
-EXTERN char ** TkFontGetGlobalClass(void);
-EXTERN char ** TkFontGetSymbolClass(void);
+MODULE_SCOPE char ** TkFontGetAliasList(CONST char *faceName);
+MODULE_SCOPE char *** TkFontGetFallbacks(void);
+MODULE_SCOPE int TkFontGetPixels(Tk_Window tkwin, int size);
+MODULE_SCOPE int TkFontGetPoints(Tk_Window tkwin, int size);
+MODULE_SCOPE char ** TkFontGetGlobalClass(void);
+MODULE_SCOPE char ** TkFontGetSymbolClass(void);
/*
* Low-level API exported by platform-specific code to generic code.
*/
-EXTERN void TkpDeleteFont(TkFont *tkFontPtr);
-EXTERN void TkpFontPkgInit(TkMainInfo *mainPtr);
-EXTERN TkFont * TkpGetFontFromAttributes(TkFont *tkFontPtr,
+MODULE_SCOPE void TkpDeleteFont(TkFont *tkFontPtr);
+MODULE_SCOPE void TkpFontPkgInit(TkMainInfo *mainPtr);
+MODULE_SCOPE TkFont * TkpGetFontFromAttributes(TkFont *tkFontPtr,
Tk_Window tkwin, CONST TkFontAttributes *faPtr);
-EXTERN void TkpGetFontFamilies(Tcl_Interp *interp,
+MODULE_SCOPE void TkpGetFontFamilies(Tcl_Interp *interp,
Tk_Window tkwin);
-EXTERN TkFont * TkpGetNativeFont(Tk_Window tkwin, CONST char *name);
+MODULE_SCOPE TkFont * TkpGetNativeFont(Tk_Window tkwin, CONST char *name);
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkImage.c b/generic/tkImage.c
index 0ae7046..4580f0c 100644
--- a/generic/tkImage.c
+++ b/generic/tkImage.c
@@ -10,12 +10,17 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkImage.c,v 1.27 2005/11/17 16:21:55 dkf Exp $
+ * RCS: @(#) $Id: tkImage.c,v 1.28 2005/11/27 02:36:13 das Exp $
*/
#include "tkInt.h"
#include "tkPort.h"
+#ifndef USE_OLD_IMAGE
+MODULE_SCOPE void Tk_CreateOldImageType(Tk_ImageType *typePtr);
+MODULE_SCOPE void Tk_CreateOldPhotoImageFormat(Tk_PhotoImageFormat *formatPtr);
+#endif
+
/*
* Each call to Tk_GetImage returns a pointer to one of the following
* structures, which is used as a token by clients (widgets) that
diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c
index 2e41606..2e890d0 100644
--- a/generic/tkImgPhoto.c
+++ b/generic/tkImgPhoto.c
@@ -17,7 +17,7 @@
* Department of Computer Science,
* Australian National University.
*
- * RCS: @(#) $Id: tkImgPhoto.c,v 1.59 2005/11/17 16:21:55 dkf Exp $
+ * RCS: @(#) $Id: tkImgPhoto.c,v 1.60 2005/11/27 02:36:13 das Exp $
*/
#include "tkInt.h"
@@ -5929,7 +5929,7 @@ PhotoOptionCleanupProc(
*--------------------------------------------------------------
*/
-void
+MODULE_SCOPE void
Tk_CreatePhotoOption(
Tcl_Interp *interp, /* Interpreter */
CONST char *name, /* Option name */
diff --git a/generic/tkInt.decls b/generic/tkInt.decls
index e80bb61..b360c0c 100644
--- a/generic/tkInt.decls
+++ b/generic/tkInt.decls
@@ -9,7 +9,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: tkInt.decls,v 1.40 2005/09/21 10:54:40 dkf Exp $
+# RCS: @(#) $Id: tkInt.decls,v 1.41 2005/11/27 02:36:13 das Exp $
library tk
@@ -510,6 +510,16 @@ declare 154 generic {
void TkDeleteThreadExitHandler(Tcl_ExitProc *proc, ClientData clientData)
}
+# entries needed only by tktest:
+declare 156 generic {
+ int TkpTestembedCmd(ClientData clientData, Tcl_Interp *interp, int argc,
+ CONST char **argv)
+}
+declare 157 generic {
+ int TkpTesttextCmd(ClientData dummy, Tcl_Interp *interp, int argc,
+ CONST char **argv)
+}
+
##############################################################################
# Define the platform specific internal Tcl interface. These functions are
@@ -559,6 +569,11 @@ declare 11 x11 {
declare 12 x11 {
int TkpWmSetState(TkWindow *winPtr, int state)
}
+# only needed by tktest:
+declare 13 x11 {
+ int TkpTestsendCmd(ClientData clientData, Tcl_Interp *interp, int argc,
+ CONST char **argv)
+}
############################
# Windows specific functions
@@ -678,6 +693,10 @@ declare 34 win {
declare 35 win {
int TkWinGetPlatformTheme(void)
}
+# only needed by tktest:
+declare 36 win {
+ int TkplatformtestInit(Tcl_Interp *interp)
+}
########################
# Mac OS X specific functions
@@ -747,7 +766,7 @@ declare 17 aqua {
int TkMacOSXGrowToplevel(WindowRef whichWindow, Point start)
}
declare 18 aqua {
- void TkMacOSXHandleMenuSelect(long mResult, int optionKeyPressed)
+ void TkMacOSXHandleMenuSelect(MenuID theMenu, MenuItemIndex theItem, int optionKeyPressed)
}
# removed duplicates from tkPlat table(tk.decls)
@@ -860,6 +879,10 @@ declare 51 aqua {
declare 53 aqua {
unsigned long TkpGetMS(void)
}
+# only needed by tktest:
+declare 54 aqua {
+ int TkplatformtestInit(Tcl_Interp *interp)
+}
##############################################################################
@@ -1561,3 +1584,6 @@ declare 90 {aqua} {
Status XQueryTree(Display *d, Window w1, Window *w2, Window *w3,
Window **w4, unsigned int *ui)
}
+declare 91 {aqua} {
+ int XSync(Display *display, Bool flag)
+}
diff --git a/generic/tkInt.h b/generic/tkInt.h
index cafe4a3..a468c4b 100644
--- a/generic/tkInt.h
+++ b/generic/tkInt.h
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: $Id: tkInt.h,v 1.68 2005/10/10 20:29:49 hobbs Exp $
+ * RCS: $Id: tkInt.h,v 1.69 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKINT
@@ -24,13 +24,13 @@
#include "tcl.h"
#endif
#ifndef _TKPORT
-#include <tkPort.h>
+#include "tkPort.h"
#endif
/*
* Ensure WORDS_BIGENDIAN is defined correcly:
* Needs to happen here in addition to configure to work with fat compiles on
- * Darwin (i.e. ppc and i386 at the same time).
+ * Darwin (where configure runs only once for multiple architectures).
*/
#ifdef HAVE_SYS_TYPES_H
@@ -911,29 +911,28 @@ extern TkDisplay *tkDisplayList;
* be properly registered with Tcl:
*/
-extern Tcl_ObjType tkBorderObjType;
-extern Tcl_ObjType tkBitmapObjType;
-extern Tcl_ObjType tkColorObjType;
-extern Tcl_ObjType tkCursorObjType;
-extern Tcl_ObjType tkFontObjType;
-extern Tcl_ObjType tkOptionObjType;
-extern Tcl_ObjType tkStateKeyObjType;
-extern Tcl_ObjType tkTextIndexType;
+MODULE_SCOPE Tcl_ObjType tkBorderObjType;
+MODULE_SCOPE Tcl_ObjType tkBitmapObjType;
+MODULE_SCOPE Tcl_ObjType tkColorObjType;
+MODULE_SCOPE Tcl_ObjType tkCursorObjType;
+MODULE_SCOPE Tcl_ObjType tkFontObjType;
+MODULE_SCOPE Tcl_ObjType tkOptionObjType;
+MODULE_SCOPE Tcl_ObjType tkStateKeyObjType;
+MODULE_SCOPE Tcl_ObjType tkTextIndexType;
/*
* Miscellaneous variables shared among Tk modules but not exported to the
* outside world:
*/
-extern Tk_SmoothMethod tkBezierSmoothMethod;
-extern Tk_ImageType tkBitmapImageType;
-extern Tk_PhotoImageFormat tkImgFmtGIF;
-extern void (*tkHandleEventProc) (XEvent* eventPtr);
-extern Tk_PhotoImageFormat tkImgFmtPPM;
-extern TkMainInfo *tkMainWindowList;
-extern Tk_ImageType tkPhotoImageType;
-extern Tcl_HashTable tkPredefBitmapTable;
-extern int tkSendSerial;
+MODULE_SCOPE Tk_SmoothMethod tkBezierSmoothMethod;
+MODULE_SCOPE Tk_ImageType tkBitmapImageType;
+MODULE_SCOPE Tk_PhotoImageFormat tkImgFmtGIF;
+MODULE_SCOPE void (*tkHandleEventProc) (XEvent* eventPtr);
+MODULE_SCOPE Tk_PhotoImageFormat tkImgFmtPPM;
+MODULE_SCOPE TkMainInfo *tkMainWindowList;
+MODULE_SCOPE Tk_ImageType tkPhotoImageType;
+MODULE_SCOPE Tcl_HashTable tkPredefBitmapTable;
#include "tkIntDecls.h"
@@ -947,218 +946,216 @@ extern int tkSendSerial;
* world:
*/
-EXTERN int Tk_BellObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_BellObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_BindObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_BindObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_BindtagsObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_BindtagsObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ButtonObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ButtonObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_CanvasObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_CanvasObjCmd(ClientData clientData,
Tcl_Interp *interp, int argc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_CheckbuttonObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_CheckbuttonObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ClipboardObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ClipboardObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ChooseColorObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ChooseColorObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ChooseDirectoryObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ChooseDirectoryObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ChooseFontObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ChooseFontObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_DestroyObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_DestroyObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_EntryObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_EntryObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_EventObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_EventObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_FrameObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_FrameObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_FocusObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_FocusObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_FontObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_FontObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_GetOpenFileObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_GetOpenFileObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_GetSaveFileObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_GetSaveFileObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_GrabObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_GrabObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_GridObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_GridObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ImageObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ImageObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_LabelObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_LabelObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_LabelframeObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_LabelframeObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ListboxObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ListboxObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_LowerObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_LowerObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_MenubuttonObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_MenubuttonObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_MessageBoxObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_MessageBoxObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_MessageObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_MessageObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_PanedWindowObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_PanedWindowObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_OptionObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_OptionObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_PackObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_PackObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_PlaceObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_PlaceObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_RadiobuttonObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_RadiobuttonObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_RaiseObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_RaiseObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ScaleObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ScaleObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ScrollbarCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ScrollbarCmd(ClientData clientData,
Tcl_Interp *interp, int argc, CONST char **argv);
-EXTERN int Tk_SelectionObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_SelectionObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_SendCmd(ClientData clientData,
+MODULE_SCOPE int Tk_SendCmd(ClientData clientData,
Tcl_Interp *interp, int argc, CONST char **argv);
-EXTERN int Tk_SendObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_SendObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_SpinboxObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_SpinboxObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_TextObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_TextObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_TkObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_TkObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_TkwaitObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_TkwaitObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_ToplevelObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_ToplevelObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_UpdateObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_UpdateObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_WinfoObjCmd(ClientData clientData,
+MODULE_SCOPE int Tk_WinfoObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj *CONST objv[]);
-EXTERN int Tk_WmObjCmd(ClientData clientData, Tcl_Interp *interp,
+MODULE_SCOPE int Tk_WmObjCmd(ClientData clientData, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN void TkConsolePrint(Tcl_Interp *interp,
+MODULE_SCOPE void TkConsolePrint(Tcl_Interp *interp,
int devId, CONST char *buffer, long size);
-EXTERN void TkEventInit(void);
-EXTERN void TkRegisterObjTypes(void);
-EXTERN int TkCreateMenuCmd(Tcl_Interp *interp);
-EXTERN int TkDeadAppCmd(ClientData clientData,
+MODULE_SCOPE void TkEventInit(void);
+MODULE_SCOPE void TkRegisterObjTypes(void);
+MODULE_SCOPE int TkCreateMenuCmd(Tcl_Interp *interp);
+MODULE_SCOPE int TkDeadAppCmd(ClientData clientData,
Tcl_Interp *interp, int argc, CONST char **argv);
-EXTERN int TkpTestembedCmd(ClientData clientData,
- Tcl_Interp *interp, int argc, CONST char **argv);
-EXTERN int TkCanvasGetCoordObj(Tcl_Interp *interp,
+MODULE_SCOPE int TkCanvasGetCoordObj(Tcl_Interp *interp,
Tk_Canvas canvas, Tcl_Obj *obj,
double *doublePtr);
-EXTERN int TkCanvasDashParseProc(ClientData clientData,
+MODULE_SCOPE int TkCanvasDashParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *widgRec, int offset);
-EXTERN char * TkCanvasDashPrintProc(ClientData clientData,
+MODULE_SCOPE char * TkCanvasDashPrintProc(ClientData clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN int TkGetDoublePixels(Tcl_Interp *interp, Tk_Window tkwin,
+MODULE_SCOPE int TkGetDoublePixels(Tcl_Interp *interp, Tk_Window tkwin,
CONST char *string, double *doublePtr);
-EXTERN int TkOffsetParseProc(ClientData clientData,
+MODULE_SCOPE int TkOffsetParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *widgRec, int offset);
-EXTERN char * TkOffsetPrintProc(ClientData clientData,
+MODULE_SCOPE char * TkOffsetPrintProc(ClientData clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN int TkOrientParseProc(ClientData clientData,
+MODULE_SCOPE int TkOrientParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *widgRec, int offset);
-EXTERN char * TkOrientPrintProc(ClientData clientData,
+MODULE_SCOPE char * TkOrientPrintProc(ClientData clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN int TkPixelParseProc(ClientData clientData,
+MODULE_SCOPE int TkPixelParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *widgRec, int offset);
-EXTERN char * TkPixelPrintProc(ClientData clientData,
+MODULE_SCOPE char * TkPixelPrintProc(ClientData clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN int TkPostscriptImage(Tcl_Interp *interp, Tk_Window tkwin,
+MODULE_SCOPE int TkPostscriptImage(Tcl_Interp *interp, Tk_Window tkwin,
Tk_PostscriptInfo psInfo, XImage *ximage,
int x, int y, int width, int height);
-EXTERN int TkSmoothParseProc(ClientData clientData,
+MODULE_SCOPE int TkSmoothParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *recordPtr, int offset);
-EXTERN char * TkSmoothPrintProc(ClientData clientData,
+MODULE_SCOPE char * TkSmoothPrintProc(ClientData clientData,
Tk_Window tkwin, char *recordPtr, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN int TkStateParseProc(ClientData clientData,
+MODULE_SCOPE int TkStateParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *widgRec, int offset);
-EXTERN char * TkStatePrintProc(ClientData clientData,
+MODULE_SCOPE char * TkStatePrintProc(ClientData clientData,
Tk_Window tkwin, char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN int TkTileParseProc(ClientData clientData,
+MODULE_SCOPE int TkTileParseProc(ClientData clientData,
Tcl_Interp *interp, Tk_Window tkwin,
CONST char *value, char *widgRec, int offset);
-EXTERN char * TkTilePrintProc(ClientData clientData, Tk_Window tkwin,
+MODULE_SCOPE char * TkTilePrintProc(ClientData clientData, Tk_Window tkwin,
char *widgRec, int offset,
Tcl_FreeProc **freeProcPtr);
-EXTERN XEvent * TkpGetBindingXEvent(Tcl_Interp *interp);
-EXTERN void TkCreateExitHandler(Tcl_ExitProc *proc,
+MODULE_SCOPE XEvent * TkpGetBindingXEvent(Tcl_Interp *interp);
+MODULE_SCOPE void TkCreateExitHandler(Tcl_ExitProc *proc,
ClientData clientData);
-EXTERN void TkDeleteExitHandler(Tcl_ExitProc *proc,
+MODULE_SCOPE void TkDeleteExitHandler(Tcl_ExitProc *proc,
ClientData clientData);
-EXTERN Tcl_ExitProc TkFinalize;
-EXTERN Tcl_ExitProc TkFinalizeThread;
-EXTERN void TkpBuildRegionFromAlphaData(TkRegion region,
+MODULE_SCOPE Tcl_ExitProc TkFinalize;
+MODULE_SCOPE Tcl_ExitProc TkFinalizeThread;
+MODULE_SCOPE void TkpBuildRegionFromAlphaData(TkRegion region,
unsigned x, unsigned y, unsigned width,
unsigned height, unsigned char *dataPtr,
unsigned pixelStride, unsigned lineStride);
-EXTERN void TkPrintPadAmount(Tcl_Interp *interp,
+MODULE_SCOPE void TkPrintPadAmount(Tcl_Interp *interp,
char *buffer, int pad1, int pad2);
-EXTERN int TkParsePadAmount(Tcl_Interp *interp,
+MODULE_SCOPE int TkParsePadAmount(Tcl_Interp *interp,
Tk_Window tkwin, Tcl_Obj *objPtr,
int *pad1Ptr, int *pad2Ptr);
@@ -1166,7 +1163,7 @@ EXTERN int TkParsePadAmount(Tcl_Interp *interp,
* Unsupported commands.
*/
-EXTERN int TkUnsupported1ObjCmd(ClientData clientData,
+MODULE_SCOPE int TkUnsupported1ObjCmd(ClientData clientData,
Tcl_Interp *interp, int objc,
Tcl_Obj * CONST objv[]);
diff --git a/generic/tkIntDecls.h b/generic/tkIntDecls.h
index 428fbee..6fd696d 100644
--- a/generic/tkIntDecls.h
+++ b/generic/tkIntDecls.h
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkIntDecls.h,v 1.27 2005/09/21 10:56:32 dkf Exp $
+ * RCS: @(#) $Id: tkIntDecls.h,v 1.28 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKINTDECLS
@@ -978,6 +978,21 @@ EXTERN void TkCreateThreadExitHandler _ANSI_ARGS_((
EXTERN void TkDeleteThreadExitHandler _ANSI_ARGS_((
Tcl_ExitProc * proc, ClientData clientData));
#endif
+/* Slot 155 is reserved */
+#ifndef TkpTestembedCmd_TCL_DECLARED
+#define TkpTestembedCmd_TCL_DECLARED
+/* 156 */
+EXTERN int TkpTestembedCmd _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp * interp, int argc,
+ CONST char ** argv));
+#endif
+#ifndef TkpTesttextCmd_TCL_DECLARED
+#define TkpTesttextCmd_TCL_DECLARED
+/* 157 */
+EXTERN int TkpTesttextCmd _ANSI_ARGS_((ClientData dummy,
+ Tcl_Interp * interp, int argc,
+ CONST char ** argv));
+#endif
typedef struct TkIntStubs {
int magic;
@@ -1226,6 +1241,9 @@ typedef struct TkIntStubs {
void (*tkpDrawFrame) _ANSI_ARGS_((Tk_Window tkwin, Tk_3DBorder border, int highlightWidth, int borderWidth, int relief)); /* 152 */
void (*tkCreateThreadExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 153 */
void (*tkDeleteThreadExitHandler) _ANSI_ARGS_((Tcl_ExitProc * proc, ClientData clientData)); /* 154 */
+ void *reserved155;
+ int (*tkpTestembedCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, CONST char ** argv)); /* 156 */
+ int (*tkpTesttextCmd) _ANSI_ARGS_((ClientData dummy, Tcl_Interp * interp, int argc, CONST char ** argv)); /* 157 */
} TkIntStubs;
#ifdef __cplusplus
@@ -1893,6 +1911,15 @@ extern TkIntStubs *tkIntStubsPtr;
#define TkDeleteThreadExitHandler \
(tkIntStubsPtr->tkDeleteThreadExitHandler) /* 154 */
#endif
+/* Slot 155 is reserved */
+#ifndef TkpTestembedCmd
+#define TkpTestembedCmd \
+ (tkIntStubsPtr->tkpTestembedCmd) /* 156 */
+#endif
+#ifndef TkpTesttextCmd
+#define TkpTesttextCmd \
+ (tkIntStubsPtr->tkpTesttextCmd) /* 157 */
+#endif
#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */
diff --git a/generic/tkIntPlatDecls.h b/generic/tkIntPlatDecls.h
index 1cffb59..2a04ad1 100644
--- a/generic/tkIntPlatDecls.h
+++ b/generic/tkIntPlatDecls.h
@@ -9,7 +9,7 @@
* Copyright (c) 1998-1999 by Scriptics Corporation.
* All rights reserved.
*
- * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.24 2005/09/21 10:56:32 dkf Exp $
+ * RCS: @(#) $Id: tkIntPlatDecls.h,v 1.25 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKINTPLATDECLS
@@ -230,6 +230,11 @@ EXTERN void TkWinSetHINSTANCE _ANSI_ARGS_((HINSTANCE hInstance));
/* 35 */
EXTERN int TkWinGetPlatformTheme _ANSI_ARGS_((void));
#endif
+#ifndef TkplatformtestInit_TCL_DECLARED
+#define TkplatformtestInit_TCL_DECLARED
+/* 36 */
+EXTERN int TkplatformtestInit _ANSI_ARGS_((Tcl_Interp * interp));
+#endif
#endif /* __WIN32__ */
#ifdef MAC_OSX_TK
#ifndef TkGenerateActivateEvents_TCL_DECLARED
@@ -315,8 +320,8 @@ EXTERN int TkMacOSXGrowToplevel _ANSI_ARGS_((
#ifndef TkMacOSXHandleMenuSelect_TCL_DECLARED
#define TkMacOSXHandleMenuSelect_TCL_DECLARED
/* 18 */
-EXTERN void TkMacOSXHandleMenuSelect _ANSI_ARGS_((long mResult,
- int optionKeyPressed));
+EXTERN void TkMacOSXHandleMenuSelect _ANSI_ARGS_((MenuID theMenu,
+ MenuItemIndex theItem, int optionKeyPressed));
#endif
/* Slot 19 is reserved */
/* Slot 20 is reserved */
@@ -495,6 +500,11 @@ EXTERN void TkGenWMDestroyEvent _ANSI_ARGS_((Tk_Window tkwin));
/* 53 */
EXTERN unsigned long TkpGetMS _ANSI_ARGS_((void));
#endif
+#ifndef TkplatformtestInit_TCL_DECLARED
+#define TkplatformtestInit_TCL_DECLARED
+/* 54 */
+EXTERN int TkplatformtestInit _ANSI_ARGS_((Tcl_Interp * interp));
+#endif
#endif /* MAC_OSX_TK */
#if !(defined(__WIN32__) || defined(MAC_OSX_TK)) /* X11 */
#ifndef TkCreateXEventSource_TCL_DECLARED
@@ -567,6 +577,13 @@ EXTERN void TkFreeXId _ANSI_ARGS_((TkDisplay * dispPtr));
EXTERN int TkpWmSetState _ANSI_ARGS_((TkWindow * winPtr,
int state));
#endif
+#ifndef TkpTestsendCmd_TCL_DECLARED
+#define TkpTestsendCmd_TCL_DECLARED
+/* 13 */
+EXTERN int TkpTestsendCmd _ANSI_ARGS_((ClientData clientData,
+ Tcl_Interp * interp, int argc,
+ CONST char ** argv));
+#endif
#endif /* X11 */
typedef struct TkIntPlatStubs {
@@ -610,6 +627,7 @@ typedef struct TkIntPlatStubs {
int (*tkWinGetPlatformId) _ANSI_ARGS_((void)); /* 33 */
void (*tkWinSetHINSTANCE) _ANSI_ARGS_((HINSTANCE hInstance)); /* 34 */
int (*tkWinGetPlatformTheme) _ANSI_ARGS_((void)); /* 35 */
+ int (*tkplatformtestInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 36 */
#endif /* __WIN32__ */
#ifdef MAC_OSX_TK
void (*tkGenerateActivateEvents) _ANSI_ARGS_((TkWindow * winPtr, int active)); /* 0 */
@@ -630,7 +648,7 @@ typedef struct TkIntPlatStubs {
void *reserved15;
Window (*tkMacOSXGetXWindow) _ANSI_ARGS_((WindowRef macWinPtr)); /* 16 */
int (*tkMacOSXGrowToplevel) _ANSI_ARGS_((WindowRef whichWindow, Point start)); /* 17 */
- void (*tkMacOSXHandleMenuSelect) _ANSI_ARGS_((long mResult, int optionKeyPressed)); /* 18 */
+ void (*tkMacOSXHandleMenuSelect) _ANSI_ARGS_((MenuID theMenu, MenuItemIndex theItem, int optionKeyPressed)); /* 18 */
void *reserved19;
void *reserved20;
void (*tkMacOSXInvalidateWindow) _ANSI_ARGS_((MacDrawable * macWin, int flag)); /* 21 */
@@ -666,6 +684,7 @@ typedef struct TkIntPlatStubs {
void (*tkGenWMDestroyEvent) _ANSI_ARGS_((Tk_Window tkwin)); /* 51 */
void *reserved52;
unsigned long (*tkpGetMS) _ANSI_ARGS_((void)); /* 53 */
+ int (*tkplatformtestInit) _ANSI_ARGS_((Tcl_Interp * interp)); /* 54 */
#endif /* MAC_OSX_TK */
#if !(defined(__WIN32__) || defined(MAC_OSX_TK)) /* X11 */
void (*tkCreateXEventSource) _ANSI_ARGS_((void)); /* 0 */
@@ -681,6 +700,7 @@ typedef struct TkIntPlatStubs {
void (*tkSendCleanup) _ANSI_ARGS_((TkDisplay * dispPtr)); /* 10 */
void (*tkFreeXId) _ANSI_ARGS_((TkDisplay * dispPtr)); /* 11 */
int (*tkpWmSetState) _ANSI_ARGS_((TkWindow * winPtr, int state)); /* 12 */
+ int (*tkpTestsendCmd) _ANSI_ARGS_((ClientData clientData, Tcl_Interp * interp, int argc, CONST char ** argv)); /* 13 */
#endif /* X11 */
} TkIntPlatStubs;
@@ -840,6 +860,10 @@ extern TkIntPlatStubs *tkIntPlatStubsPtr;
#define TkWinGetPlatformTheme \
(tkIntPlatStubsPtr->tkWinGetPlatformTheme) /* 35 */
#endif
+#ifndef TkplatformtestInit
+#define TkplatformtestInit \
+ (tkIntPlatStubsPtr->tkplatformtestInit) /* 36 */
+#endif
#endif /* __WIN32__ */
#ifdef MAC_OSX_TK
#ifndef TkGenerateActivateEvents
@@ -1034,6 +1058,10 @@ extern TkIntPlatStubs *tkIntPlatStubsPtr;
#define TkpGetMS \
(tkIntPlatStubsPtr->tkpGetMS) /* 53 */
#endif
+#ifndef TkplatformtestInit
+#define TkplatformtestInit \
+ (tkIntPlatStubsPtr->tkplatformtestInit) /* 54 */
+#endif
#endif /* MAC_OSX_TK */
#if !(defined(__WIN32__) || defined(MAC_OSX_TK)) /* X11 */
#ifndef TkCreateXEventSource
@@ -1088,6 +1116,10 @@ extern TkIntPlatStubs *tkIntPlatStubsPtr;
#define TkpWmSetState \
(tkIntPlatStubsPtr->tkpWmSetState) /* 12 */
#endif
+#ifndef TkpTestsendCmd
+#define TkpTestsendCmd \
+ (tkIntPlatStubsPtr->tkpTestsendCmd) /* 13 */
+#endif
#endif /* X11 */
#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */
diff --git a/generic/tkIntXlibDecls.h b/generic/tkIntXlibDecls.h
index a024f0b..8ce02c6 100644
--- a/generic/tkIntXlibDecls.h
+++ b/generic/tkIntXlibDecls.h
@@ -9,7 +9,7 @@
* Copyright (c) 1998-1999 by Scriptics Corporation.
* All rights reserved.
*
- * RCS: @(#) $Id: tkIntXlibDecls.h,v 1.19 2005/09/21 10:56:33 dkf Exp $
+ * RCS: @(#) $Id: tkIntXlibDecls.h,v 1.20 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKINTXLIBDECLS
@@ -1250,6 +1250,11 @@ EXTERN Status XQueryTree _ANSI_ARGS_((Display * d, Window w1,
Window * w2, Window * w3, Window ** w4,
unsigned int * ui));
#endif
+#ifndef XSync_TCL_DECLARED
+#define XSync_TCL_DECLARED
+/* 91 */
+EXTERN int XSync _ANSI_ARGS_((Display * display, Bool flag));
+#endif
#endif /* MAC_OSX_TK */
typedef struct TkIntXlibStubs {
@@ -1457,6 +1462,7 @@ typedef struct TkIntXlibStubs {
void (*xQueryColor) _ANSI_ARGS_((Display * display, Colormap colormap, XColor * def_in_out)); /* 88 */
void (*xQueryColors) _ANSI_ARGS_((Display * display, Colormap colormap, XColor * defs_in_out, int ncolors)); /* 89 */
Status (*xQueryTree) _ANSI_ARGS_((Display * d, Window w1, Window * w2, Window * w3, Window ** w4, unsigned int * ui)); /* 90 */
+ int (*xSync) _ANSI_ARGS_((Display * display, Bool flag)); /* 91 */
#endif /* MAC_OSX_TK */
} TkIntXlibStubs;
@@ -2266,6 +2272,10 @@ extern TkIntXlibStubs *tkIntXlibStubsPtr;
#define XQueryTree \
(tkIntXlibStubsPtr->xQueryTree) /* 90 */
#endif
+#ifndef XSync
+#define XSync \
+ (tkIntXlibStubsPtr->xSync) /* 91 */
+#endif
#endif /* MAC_OSX_TK */
#endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */
diff --git a/generic/tkMenu.c b/generic/tkMenu.c
index 998d5cc..8f55f45 100644
--- a/generic/tkMenu.c
+++ b/generic/tkMenu.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMenu.c,v 1.33 2005/11/17 16:21:55 dkf Exp $
+ * RCS: @(#) $Id: tkMenu.c,v 1.34 2005/11/27 02:36:14 das Exp $
*/
/*
@@ -114,7 +114,7 @@ static char *compoundStrings[] = {
"bottom", "center", "left", "none", "right", "top", NULL
};
-Tk_OptionSpec tkBasicMenuEntryConfigSpecs[] = {
+static Tk_OptionSpec tkBasicMenuEntryConfigSpecs[] = {
{TK_OPTION_BORDER, "-activebackground", NULL, NULL,
DEF_MENU_ENTRY_ACTIVE_BG, Tk_Offset(TkMenuEntry, activeBorderPtr), -1,
TK_OPTION_NULL_OK},
@@ -163,14 +163,14 @@ Tk_OptionSpec tkBasicMenuEntryConfigSpecs[] = {
{TK_OPTION_END}
};
-Tk_OptionSpec tkSeparatorEntryConfigSpecs[] = {
+static Tk_OptionSpec tkSeparatorEntryConfigSpecs[] = {
{TK_OPTION_BORDER, "-background", NULL, NULL,
DEF_MENU_ENTRY_BG,
Tk_Offset(TkMenuEntry, borderPtr), -1, TK_OPTION_NULL_OK},
{TK_OPTION_END}
};
-Tk_OptionSpec tkCheckButtonEntryConfigSpecs[] = {
+static Tk_OptionSpec tkCheckButtonEntryConfigSpecs[] = {
{TK_OPTION_BOOLEAN, "-indicatoron", NULL, NULL,
DEF_MENU_ENTRY_INDICATOR,
-1, Tk_Offset(TkMenuEntry, indicatorOn)},
@@ -193,7 +193,7 @@ Tk_OptionSpec tkCheckButtonEntryConfigSpecs[] = {
NULL, 0, -1, 0, (ClientData) tkBasicMenuEntryConfigSpecs}
};
-Tk_OptionSpec tkRadioButtonEntryConfigSpecs[] = {
+static Tk_OptionSpec tkRadioButtonEntryConfigSpecs[] = {
{TK_OPTION_BOOLEAN, "-indicatoron", NULL, NULL,
DEF_MENU_ENTRY_INDICATOR,
-1, Tk_Offset(TkMenuEntry, indicatorOn)},
@@ -213,7 +213,7 @@ Tk_OptionSpec tkRadioButtonEntryConfigSpecs[] = {
NULL, 0, -1, 0, (ClientData) tkBasicMenuEntryConfigSpecs}
};
-Tk_OptionSpec tkCascadeEntryConfigSpecs[] = {
+static Tk_OptionSpec tkCascadeEntryConfigSpecs[] = {
{TK_OPTION_STRING, "-menu", NULL, NULL,
DEF_MENU_ENTRY_MENU,
Tk_Offset(TkMenuEntry, namePtr), -1, TK_OPTION_NULL_OK},
@@ -221,7 +221,7 @@ Tk_OptionSpec tkCascadeEntryConfigSpecs[] = {
NULL, 0, -1, 0, (ClientData) tkBasicMenuEntryConfigSpecs}
};
-Tk_OptionSpec tkTearoffEntryConfigSpecs[] = {
+static Tk_OptionSpec tkTearoffEntryConfigSpecs[] = {
{TK_OPTION_BORDER, "-background", NULL, NULL,
DEF_MENU_ENTRY_BG,
Tk_Offset(TkMenuEntry, borderPtr), -1, TK_OPTION_NULL_OK},
@@ -245,7 +245,7 @@ static CONST char *menuTypeStrings[] = {
"normal", "tearoff", "menubar", NULL
};
-Tk_OptionSpec tkMenuConfigSpecs[] = {
+static Tk_OptionSpec tkMenuConfigSpecs[] = {
{TK_OPTION_BORDER, "-activebackground", "activeBackground",
"Foreground", DEF_MENU_ACTIVE_BG_COLOR,
Tk_Offset(TkMenu, activeBorderPtr), -1, 0,
diff --git a/generic/tkMenu.h b/generic/tkMenu.h
index 630e748..1863c9d 100644
--- a/generic/tkMenu.h
+++ b/generic/tkMenu.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMenu.h,v 1.10 2005/11/14 22:44:11 dkf Exp $
+ * RCS: @(#) $Id: tkMenu.h,v 1.11 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKMENU
@@ -241,7 +241,7 @@ typedef struct TkMenuEntry {
* Menu states
*/
-EXTERN char *tkMenuStateStrings[];
+MODULE_SCOPE char *tkMenuStateStrings[];
#define ENTRY_ACTIVE 0
#define ENTRY_NORMAL 1
@@ -491,70 +491,70 @@ typedef struct TkMenuOptionTables {
* the outside world:
*/
-EXTERN int TkActivateMenuEntry(TkMenu *menuPtr, int index);
-EXTERN void TkBindMenu(Tk_Window tkwin, TkMenu *menuPtr);
-EXTERN TkMenuReferences*TkCreateMenuReferences(Tcl_Interp *interp,
+MODULE_SCOPE int TkActivateMenuEntry(TkMenu *menuPtr, int index);
+MODULE_SCOPE void TkBindMenu(Tk_Window tkwin, TkMenu *menuPtr);
+MODULE_SCOPE TkMenuReferences*TkCreateMenuReferences(Tcl_Interp *interp,
char *name);
-EXTERN void TkDestroyMenu(TkMenu *menuPtr);
-EXTERN void TkEventuallyRecomputeMenu(TkMenu *menuPtr);
-EXTERN void TkEventuallyRedrawMenu(TkMenu *menuPtr,
+MODULE_SCOPE void TkDestroyMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkEventuallyRecomputeMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkEventuallyRedrawMenu(TkMenu *menuPtr,
TkMenuEntry *mePtr);
-EXTERN TkMenuReferences*TkFindMenuReferences(Tcl_Interp *interp, char *name);
-EXTERN TkMenuReferences*TkFindMenuReferencesObj(Tcl_Interp *interp,
+MODULE_SCOPE TkMenuReferences*TkFindMenuReferences(Tcl_Interp *interp, char *name);
+MODULE_SCOPE TkMenuReferences*TkFindMenuReferencesObj(Tcl_Interp *interp,
Tcl_Obj *namePtr);
-EXTERN int TkFreeMenuReferences(TkMenuReferences *menuRefPtr);
-EXTERN Tcl_HashTable * TkGetMenuHashTable(Tcl_Interp *interp);
-EXTERN int TkGetMenuIndex(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE int TkFreeMenuReferences(TkMenuReferences *menuRefPtr);
+MODULE_SCOPE Tcl_HashTable *TkGetMenuHashTable(Tcl_Interp *interp);
+MODULE_SCOPE int TkGetMenuIndex(Tcl_Interp *interp, TkMenu *menuPtr,
Tcl_Obj *objPtr, int lastOK, int *indexPtr);
-EXTERN void TkMenuInitializeDrawingFields(TkMenu *menuPtr);
-EXTERN void TkMenuInitializeEntryDrawingFields(TkMenuEntry *mePtr);
-EXTERN int TkInvokeMenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE void TkMenuInitializeDrawingFields(TkMenu *menuPtr);
+MODULE_SCOPE void TkMenuInitializeEntryDrawingFields(TkMenuEntry *mePtr);
+MODULE_SCOPE int TkInvokeMenu(Tcl_Interp *interp, TkMenu *menuPtr,
int index);
-EXTERN void TkMenuConfigureDrawOptions(TkMenu *menuPtr);
-EXTERN int TkMenuConfigureEntryDrawOptions(
+MODULE_SCOPE void TkMenuConfigureDrawOptions(TkMenu *menuPtr);
+MODULE_SCOPE int TkMenuConfigureEntryDrawOptions(
TkMenuEntry *mePtr, int index);
-EXTERN void TkMenuFreeDrawOptions(TkMenu *menuPtr);
-EXTERN void TkMenuEntryFreeDrawOptions(TkMenuEntry *mePtr);
-EXTERN void TkMenuEventProc(ClientData clientData,
+MODULE_SCOPE void TkMenuFreeDrawOptions(TkMenu *menuPtr);
+MODULE_SCOPE void TkMenuEntryFreeDrawOptions(TkMenuEntry *mePtr);
+MODULE_SCOPE void TkMenuEventProc(ClientData clientData,
XEvent *eventPtr);
-EXTERN void TkMenuImageProc(ClientData clientData, int x, int y,
+MODULE_SCOPE void TkMenuImageProc(ClientData clientData, int x, int y,
int width, int height, int imgWidth,
int imgHeight);
-EXTERN void TkMenuInit(void);
-EXTERN void TkMenuSelectImageProc(ClientData clientData, int x,
+MODULE_SCOPE void TkMenuInit(void);
+MODULE_SCOPE void TkMenuSelectImageProc(ClientData clientData, int x,
int y, int width, int height, int imgWidth,
int imgHeight);
-EXTERN Tcl_Obj * TkNewMenuName(Tcl_Interp *interp,
+MODULE_SCOPE Tcl_Obj * TkNewMenuName(Tcl_Interp *interp,
Tcl_Obj *parentNamePtr, TkMenu *menuPtr);
-EXTERN int TkPostCommand(TkMenu *menuPtr);
-EXTERN int TkPostSubmenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE int TkPostCommand(TkMenu *menuPtr);
+MODULE_SCOPE int TkPostSubmenu(Tcl_Interp *interp, TkMenu *menuPtr,
TkMenuEntry *mePtr);
-EXTERN int TkPostTearoffMenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE int TkPostTearoffMenu(Tcl_Interp *interp, TkMenu *menuPtr,
int x, int y);
-EXTERN int TkPreprocessMenu(TkMenu *menuPtr);
-EXTERN void TkRecomputeMenu(TkMenu *menuPtr);
+MODULE_SCOPE int TkPreprocessMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkRecomputeMenu(TkMenu *menuPtr);
/*
* These routines are the platform-dependent routines called by the common
* code.
*/
-EXTERN void TkpComputeMenubarGeometry(TkMenu *menuPtr);
-EXTERN void TkpComputeStandardMenuGeometry(TkMenu *menuPtr);
-EXTERN int TkpConfigureMenuEntry(TkMenuEntry *mePtr);
-EXTERN void TkpDestroyMenu(TkMenu *menuPtr);
-EXTERN void TkpDestroyMenuEntry(TkMenuEntry *mEntryPtr);
-EXTERN void TkpDrawMenuEntry(TkMenuEntry *mePtr,
+MODULE_SCOPE void TkpComputeMenubarGeometry(TkMenu *menuPtr);
+MODULE_SCOPE void TkpComputeStandardMenuGeometry(TkMenu *menuPtr);
+MODULE_SCOPE int TkpConfigureMenuEntry(TkMenuEntry *mePtr);
+MODULE_SCOPE void TkpDestroyMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkpDestroyMenuEntry(TkMenuEntry *mEntryPtr);
+MODULE_SCOPE void TkpDrawMenuEntry(TkMenuEntry *mePtr,
Drawable d, Tk_Font tkfont,
CONST Tk_FontMetrics *menuMetricsPtr, int x,
int y, int width, int height, int strictMotif,
int drawArrow);
-EXTERN void TkpMenuInit(void);
-EXTERN int TkpMenuNewEntry(TkMenuEntry *mePtr);
-EXTERN int TkpNewMenu(TkMenu *menuPtr);
-EXTERN int TkpPostMenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE void TkpMenuInit(void);
+MODULE_SCOPE int TkpMenuNewEntry(TkMenuEntry *mePtr);
+MODULE_SCOPE int TkpNewMenu(TkMenu *menuPtr);
+MODULE_SCOPE int TkpPostMenu(Tcl_Interp *interp, TkMenu *menuPtr,
int x, int y);
-EXTERN void TkpSetWindowMenuBar(Tk_Window tkwin, TkMenu *menuPtr);
+MODULE_SCOPE void TkpSetWindowMenuBar(Tk_Window tkwin, TkMenu *menuPtr);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkMenubutton.h b/generic/tkMenubutton.h
index 4a7d340..087db07 100644
--- a/generic/tkMenubutton.h
+++ b/generic/tkMenubutton.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMenubutton.h,v 1.10 2005/11/15 15:18:22 dkf Exp $
+ * RCS: @(#) $Id: tkMenubutton.h,v 1.11 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKMENUBUTTON
@@ -209,17 +209,17 @@ typedef struct {
* Declaration of variables shared between the files in the button module.
*/
-extern Tk_ClassProcs tkpMenubuttonClass;
+MODULE_SCOPE Tk_ClassProcs tkpMenubuttonClass;
/*
* Declaration of procedures used in the implementation of the button widget.
*/
-EXTERN void TkpComputeMenuButtonGeometry(TkMenuButton *mbPtr);
-EXTERN TkMenuButton * TkpCreateMenuButton(Tk_Window tkwin);
-EXTERN void TkpDisplayMenuButton(ClientData clientData);
-EXTERN void TkpDestroyMenuButton(TkMenuButton *mbPtr);
-EXTERN void TkMenuButtonWorldChanged(ClientData instanceData);
+MODULE_SCOPE void TkpComputeMenuButtonGeometry(TkMenuButton *mbPtr);
+MODULE_SCOPE TkMenuButton *TkpCreateMenuButton(Tk_Window tkwin);
+MODULE_SCOPE void TkpDisplayMenuButton(ClientData clientData);
+MODULE_SCOPE void TkpDestroyMenuButton(TkMenuButton *mbPtr);
+MODULE_SCOPE void TkMenuButtonWorldChanged(ClientData instanceData);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkScale.h b/generic/tkScale.h
index 200ac08..d73d378 100644
--- a/generic/tkScale.h
+++ b/generic/tkScale.h
@@ -10,14 +10,14 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkScale.h,v 1.9 2005/11/15 15:18:22 dkf Exp $
+ * RCS: @(#) $Id: tkScale.h,v 1.10 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKSCALE
#define _TKSCALE
-#ifndef _TK
-#include "tk.h"
+#ifndef _TKINT
+#include "tkInt.h"
#endif
#ifdef BUILD_tk
@@ -231,16 +231,16 @@ typedef struct TkScale {
* Declaration of procedures used in the implementation of the scale widget.
*/
-EXTERN void TkEventuallyRedrawScale(TkScale *scalePtr, int what);
-EXTERN double TkRoundToResolution(TkScale *scalePtr, double value);
-EXTERN TkScale * TkpCreateScale(Tk_Window tkwin);
-EXTERN void TkpDestroyScale(TkScale *scalePtr);
-EXTERN void TkpDisplayScale(ClientData clientData);
-EXTERN int TkpScaleElement(TkScale *scalePtr, int x, int y);
-EXTERN void TkScaleSetValue(TkScale *scalePtr, double value,
+MODULE_SCOPE void TkEventuallyRedrawScale(TkScale *scalePtr, int what);
+MODULE_SCOPE double TkRoundToResolution(TkScale *scalePtr, double value);
+MODULE_SCOPE TkScale * TkpCreateScale(Tk_Window tkwin);
+MODULE_SCOPE void TkpDestroyScale(TkScale *scalePtr);
+MODULE_SCOPE void TkpDisplayScale(ClientData clientData);
+MODULE_SCOPE int TkpScaleElement(TkScale *scalePtr, int x, int y);
+MODULE_SCOPE void TkScaleSetValue(TkScale *scalePtr, double value,
int setVar, int invokeCommand);
-EXTERN double TkScalePixelToValue(TkScale *scalePtr, int x, int y);
-EXTERN int TkScaleValueToPixel(TkScale *scalePtr, double value);
+MODULE_SCOPE double TkScalePixelToValue(TkScale *scalePtr, int x, int y);
+MODULE_SCOPE int TkScaleValueToPixel(TkScale *scalePtr, double value);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tkScrollbar.h b/generic/tkScrollbar.h
index 7c07c7e..70acab2 100644
--- a/generic/tkScrollbar.h
+++ b/generic/tkScrollbar.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkScrollbar.h,v 1.7 2005/11/13 00:45:47 dkf Exp $
+ * RCS: @(#) $Id: tkScrollbar.h,v 1.8 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKSCROLLBAR
@@ -167,28 +167,28 @@ typedef struct TkScrollbar {
* Declaration of scrollbar class functions structure.
*/
-extern Tk_ClassProcs tkpScrollbarProcs;
+MODULE_SCOPE Tk_ClassProcs tkpScrollbarProcs;
/*
* Declaration of scrollbar configuration options.
*/
-extern Tk_ConfigSpec tkpScrollbarConfigSpecs[];
+MODULE_SCOPE Tk_ConfigSpec tkpScrollbarConfigSpecs[];
/*
* Declaration of functions used in the implementation of the scrollbar
* widget.
*/
-EXTERN void TkScrollbarEventProc(ClientData clientData,
+MODULE_SCOPE void TkScrollbarEventProc(ClientData clientData,
XEvent *eventPtr);
-EXTERN void TkScrollbarEventuallyRedraw(TkScrollbar *scrollPtr);
-EXTERN void TkpComputeScrollbarGeometry(TkScrollbar *scrollPtr);
-EXTERN TkScrollbar * TkpCreateScrollbar(Tk_Window tkwin);
-EXTERN void TkpDestroyScrollbar(TkScrollbar *scrollPtr);
-EXTERN void TkpDisplayScrollbar(ClientData clientData);
-EXTERN void TkpConfigureScrollbar(TkScrollbar *scrollPtr);
-EXTERN int TkpScrollbarPosition(TkScrollbar *scrollPtr,
+MODULE_SCOPE void TkScrollbarEventuallyRedraw(TkScrollbar *scrollPtr);
+MODULE_SCOPE void TkpComputeScrollbarGeometry(TkScrollbar *scrollPtr);
+MODULE_SCOPE TkScrollbar *TkpCreateScrollbar(Tk_Window tkwin);
+MODULE_SCOPE void TkpDestroyScrollbar(TkScrollbar *scrollPtr);
+MODULE_SCOPE void TkpDisplayScrollbar(ClientData clientData);
+MODULE_SCOPE void TkpConfigureScrollbar(TkScrollbar *scrollPtr);
+MODULE_SCOPE int TkpScrollbarPosition(TkScrollbar *scrollPtr,
int x, int y);
# undef TCL_STORAGE_CLASS
diff --git a/generic/tkSelect.h b/generic/tkSelect.h
index c2ab33f..784dedf 100644
--- a/generic/tkSelect.h
+++ b/generic/tkSelect.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkSelect.h,v 1.5 2005/11/15 15:18:22 dkf Exp $
+ * RCS: @(#) $Id: tkSelect.h,v 1.6 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKSELECT
@@ -156,17 +156,17 @@ typedef struct TkSelInProgress {
* but shouldn't be used anywhere else in Tk (or by Tk clients):
*/
-extern TkSelInProgress *TkSelGetInProgress(void);
-extern void TkSelSetInProgress(TkSelInProgress *pendingPtr);
-extern void TkSelClearSelection(Tk_Window tkwin, XEvent *eventPtr);
-extern int TkSelDefaultSelection(TkSelectionInfo *infoPtr,
+MODULE_SCOPE TkSelInProgress *TkSelGetInProgress(void);
+MODULE_SCOPE void TkSelSetInProgress(TkSelInProgress *pendingPtr);
+MODULE_SCOPE void TkSelClearSelection(Tk_Window tkwin, XEvent *eventPtr);
+MODULE_SCOPE int TkSelDefaultSelection(TkSelectionInfo *infoPtr,
Atom target, char *buffer, int maxBytes,
Atom *typePtr);
-extern int TkSelGetSelection(Tcl_Interp *interp, Tk_Window tkwin,
+MODULE_SCOPE int TkSelGetSelection(Tcl_Interp *interp, Tk_Window tkwin,
Atom selection, Atom target, Tk_GetSelProc *proc,
ClientData clientData);
#ifndef TkSelUpdateClipboard
-extern void TkSelUpdateClipboard(TkWindow *winPtr,
+MODULE_SCOPE void TkSelUpdateClipboard(TkWindow *winPtr,
TkClipboardTarget *targetPtr);
#endif
diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c
index 2cfa16c..fb75f6a 100644
--- a/generic/tkStubInit.c
+++ b/generic/tkStubInit.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkStubInit.c,v 1.53 2005/11/17 16:21:56 dkf Exp $
+ * RCS: @(#) $Id: tkStubInit.c,v 1.54 2005/11/27 02:36:14 das Exp $
*/
#include "tkInt.h"
@@ -43,6 +43,12 @@
#define Tk_GetCanvasVisitor \
((VOID * (*)(Tcl_Interp * interp, CONST char * name)) NULL)
+MODULE_SCOPE TkIntStubs tkIntStubs;
+MODULE_SCOPE TkIntPlatStubs tkIntPlatStubs;
+MODULE_SCOPE TkIntXlibStubs tkIntXlibStubs;
+MODULE_SCOPE TkPlatStubs tkPlatStubs;
+MODULE_SCOPE TkStubs tkStubs;
+
/*
* WARNING: The contents of this file is automatically generated by the
* tools/genStubs.tcl script. Any modifications to the function declarations
@@ -297,6 +303,9 @@ TkIntStubs tkIntStubs = {
TkpDrawFrame, /* 152 */
TkCreateThreadExitHandler, /* 153 */
TkDeleteThreadExitHandler, /* 154 */
+ NULL, /* 155 */
+ TkpTestembedCmd, /* 156 */
+ TkpTesttextCmd, /* 157 */
};
TkIntPlatStubs tkIntPlatStubs = {
@@ -339,6 +348,7 @@ TkIntPlatStubs tkIntPlatStubs = {
TkWinGetPlatformId, /* 33 */
TkWinSetHINSTANCE, /* 34 */
TkWinGetPlatformTheme, /* 35 */
+ TkplatformtestInit, /* 36 */
#endif /* __WIN32__ */
#ifdef MAC_OSX_TK
TkGenerateActivateEvents, /* 0 */
@@ -395,6 +405,7 @@ TkIntPlatStubs tkIntPlatStubs = {
TkGenWMDestroyEvent, /* 51 */
NULL, /* 52 */
TkpGetMS, /* 53 */
+ TkplatformtestInit, /* 54 */
#endif /* MAC_OSX_TK */
#if !(defined(__WIN32__) || defined(MAC_OSX_TK)) /* X11 */
TkCreateXEventSource, /* 0 */
@@ -410,6 +421,7 @@ TkIntPlatStubs tkIntPlatStubs = {
TkSendCleanup, /* 10 */
TkFreeXId, /* 11 */
TkpWmSetState, /* 12 */
+ TkpTestsendCmd, /* 13 */
#endif /* X11 */
};
@@ -617,6 +629,7 @@ TkIntXlibStubs tkIntXlibStubs = {
XQueryColor, /* 88 */
XQueryColors, /* 89 */
XQueryTree, /* 90 */
+ XSync, /* 91 */
#endif /* MAC_OSX_TK */
};
diff --git a/generic/tkStubLib.c b/generic/tkStubLib.c
index 0fa5d11..ddfe8cf 100644
--- a/generic/tkStubLib.c
+++ b/generic/tkStubLib.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkStubLib.c,v 1.9 2004/03/17 18:15:44 das Exp $
+ * RCS: @(#) $Id: tkStubLib.c,v 1.10 2005/11/27 02:36:14 das Exp $
*/
@@ -50,12 +50,18 @@
/*
* Ensure that Tk_InitStubs is built as an exported symbol. The other stub
- * functions should be built as non-exported symbols.
+ * symbols should be built as non-exported symbols.
*/
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLEXPORT
+MODULE_SCOPE TkStubs *tkStubsPtr;
+MODULE_SCOPE TkPlatStubs *tkPlatStubsPtr;
+MODULE_SCOPE TkIntStubs *tkIntStubsPtr;
+MODULE_SCOPE TkIntPlatStubs *tkIntPlatStubsPtr;
+MODULE_SCOPE TkIntXlibStubs *tkIntXlibStubsPtr;
+
TkStubs *tkStubsPtr;
TkPlatStubs *tkPlatStubsPtr;
TkIntStubs *tkIntStubsPtr;
@@ -85,7 +91,7 @@ TkIntXlibStubs *tkIntXlibStubsPtr;
#undef Tk_InitStubs
#endif
-CONST char *
+MODULE_SCOPE CONST char *
Tk_InitStubs(interp, version, exact)
Tcl_Interp *interp;
char *version;
diff --git a/generic/tkTest.c b/generic/tkTest.c
index f2b6700..1999117 100644
--- a/generic/tkTest.c
+++ b/generic/tkTest.c
@@ -13,7 +13,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkTest.c,v 1.28 2005/11/18 10:18:27 dkf Exp $
+ * RCS: @(#) $Id: tkTest.c,v 1.29 2005/11/27 02:36:14 das Exp $
*/
#include "tkInt.h"
@@ -25,6 +25,7 @@
#endif
#if defined(MAC_OSX_TK)
+#include "tkMacOSXInt.h"
#include "tkScrollbar.h"
#endif
@@ -173,8 +174,10 @@ static int TestfontObjCmd(ClientData dummy,
Tcl_Obj *CONST objv[]);
static int TestmakeexistCmd(ClientData dummy,
Tcl_Interp *interp, int argc, CONST char **argv);
+#if !(defined(__WIN32__) || defined(MAC_OSX_TK))
static int TestmenubarCmd(ClientData dummy,
Tcl_Interp *interp, int argc, CONST char **argv);
+#endif
#if defined(__WIN32__) || defined(MAC_OSX_TK)
static int TestmetricsCmd(ClientData dummy,
Tcl_Interp *interp, int argc, CONST char **argv);
@@ -197,10 +200,6 @@ static void CustomOptionFree(ClientData clientData,
Tk_Window tkwin, char *internalPtr);
static int TestpropCmd(ClientData dummy,
Tcl_Interp *interp, int argc, CONST char **argv);
-static int TestsendCmd(ClientData dummy,
- Tcl_Interp *interp, int argc, CONST char **argv);
-static int TesttextCmd(ClientData dummy,
- Tcl_Interp *interp, int argc, CONST char **argv);
#if !(defined(__WIN32__) || defined(MAC_OSX_TK))
static int TestwrapperCmd(ClientData dummy,
Tcl_Interp *interp, int argc, CONST char **argv);
@@ -216,8 +215,6 @@ static void TrivialEventProc(ClientData clientData,
* External (platform specific) initialization routine:
*/
-extern int TkplatformtestInit(Tcl_Interp *interp);
-
#if !(defined(__WIN32__) || defined(MAC_OSX_TK))
#define TkplatformtestInit(x) TCL_OK
#endif
@@ -277,7 +274,7 @@ Tktest_Init(
(ClientData) Tk_MainWindow(interp), NULL);
Tcl_CreateCommand(interp, "testprop", TestpropCmd,
(ClientData) Tk_MainWindow(interp), NULL);
- Tcl_CreateCommand(interp, "testtext", TesttextCmd,
+ Tcl_CreateCommand(interp, "testtext", TkpTesttextCmd,
(ClientData) Tk_MainWindow(interp), NULL);
#if defined(__WIN32__) || defined(MAC_OSX_TK)
@@ -286,7 +283,7 @@ Tktest_Init(
#else
Tcl_CreateCommand(interp, "testmenubar", TestmenubarCmd,
(ClientData) Tk_MainWindow(interp), NULL);
- Tcl_CreateCommand(interp, "testsend", TestsendCmd,
+ Tcl_CreateCommand(interp, "testsend", TkpTestsendCmd,
(ClientData) Tk_MainWindow(interp), NULL);
Tcl_CreateCommand(interp, "testwrapper", TestwrapperCmd,
(ClientData) Tk_MainWindow(interp), NULL);
@@ -1835,6 +1832,7 @@ TestmakeexistCmd(
*/
/* ARGSUSED */
+#if !(defined(__WIN32__) || defined(MAC_OSX_TK))
static int
TestmenubarCmd(
ClientData clientData, /* Main window for application. */
@@ -1884,6 +1882,7 @@ TestmenubarCmd(
return TCL_ERROR;
#endif
}
+#endif
/*
*----------------------------------------------------------------------
@@ -1902,7 +1901,7 @@ TestmenubarCmd(
*----------------------------------------------------------------------
*/
-#ifdef __WIN32__
+#if defined(__WIN32__) || defined(MAC_OSX_TK)
static int
TestmetricsCmd(
ClientData clientData, /* Main window for application. */
@@ -1911,38 +1910,17 @@ TestmetricsCmd(
CONST char **argv) /* Argument strings. */
{
char buf[TCL_INTEGER_SPACE];
+ int val;
+#ifdef __WIN32__
if (argc < 2) {
Tcl_AppendResult(interp, "wrong # args; must be \"", argv[0],
" option ?arg ...?\"", NULL);
return TCL_ERROR;
}
-
- if (strcmp(argv[1], "cyvscroll") == 0) {
- sprintf(buf, "%d", GetSystemMetrics(SM_CYVSCROLL));
- Tcl_AppendResult(interp, buf, NULL);
- } else if (strcmp(argv[1], "cxhscroll") == 0) {
- sprintf(buf, "%d", GetSystemMetrics(SM_CXHSCROLL));
- Tcl_AppendResult(interp, buf, NULL);
- } else {
- Tcl_AppendResult(interp, "bad option \"", argv[1],
- "\": must be cxhscroll or cyvscroll", NULL);
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-#endif
-#if defined(MAC_OSX_TK)
-static int
-TestmetricsCmd(
- ClientData clientData, /* Main window for application. */
- Tcl_Interp *interp, /* Current interpreter. */
- int argc, /* Number of arguments. */
- CONST char **argv) /* Argument strings. */
-{
+#else
Tk_Window tkwin = (Tk_Window) clientData;
TkWindow *winPtr;
- char buf[TCL_INTEGER_SPACE];
if (argc != 3) {
Tcl_AppendResult(interp, "wrong # args; must be \"", argv[0],
@@ -1954,18 +1932,27 @@ TestmetricsCmd(
if (winPtr == NULL) {
return TCL_ERROR;
}
+#endif
if (strcmp(argv[1], "cyvscroll") == 0) {
- sprintf(buf, "%d", ((TkScrollbar *) winPtr->instanceData)->width);
- Tcl_AppendResult(interp, buf, NULL);
+#ifdef __WIN32__
+ val = GetSystemMetrics(SM_CYVSCROLL);
+#else
+ val = ((TkScrollbar *) winPtr->instanceData)->width;
+#endif
} else if (strcmp(argv[1], "cxhscroll") == 0) {
- sprintf(buf, "%d", ((TkScrollbar *) winPtr->instanceData)->width);
- Tcl_AppendResult(interp, buf, NULL);
+#ifdef __WIN32__
+ val = GetSystemMetrics(SM_CXHSCROLL);
+#else
+ val = ((TkScrollbar *) winPtr->instanceData)->width;
+#endif
} else {
Tcl_AppendResult(interp, "bad option \"", argv[1],
"\": must be cxhscroll or cyvscroll", NULL);
return TCL_ERROR;
}
+ sprintf(buf, "%d", val);
+ Tcl_AppendResult(interp, buf, NULL);
return TCL_OK;
}
#endif
@@ -2047,201 +2034,6 @@ TestpropCmd(
return TCL_OK;
}
-/*
- *----------------------------------------------------------------------
- *
- * TestsendCmd --
- *
- * This function implements the "testsend" command. It provides a set of
- * functions for testing the "send" command and support function in
- * tkSend.c.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Depends on option; see below.
- *
- *----------------------------------------------------------------------
- */
-
- /* ARGSUSED */
-#if !(defined(__WIN32__) || defined(MAC_OSX_TK))
-static int
-TestsendCmd(
- ClientData clientData, /* Main window for application. */
- Tcl_Interp *interp, /* Current interpreter. */
- int argc, /* Number of arguments. */
- CONST char **argv) /* Argument strings. */
-{
- TkWindow *winPtr = (TkWindow *) clientData;
-
- if (argc < 2) {
- Tcl_AppendResult(interp, "wrong # args; must be \"", argv[0],
- " option ?arg ...?\"", NULL);
- return TCL_ERROR;
- }
-
- if (strcmp(argv[1], "bogus") == 0) {
- XChangeProperty(winPtr->dispPtr->display,
- RootWindow(winPtr->dispPtr->display, 0),
- winPtr->dispPtr->registryProperty, XA_INTEGER, 32,
- PropModeReplace,
- (unsigned char *) "This is bogus information", 6);
- } else if (strcmp(argv[1], "prop") == 0) {
- int result, actualFormat;
- unsigned long length, bytesAfter;
- Atom actualType, propName;
- char *property, *p, *end;
- Window w;
-
- if ((argc != 4) && (argc != 5)) {
- Tcl_AppendResult(interp, "wrong # args; must be \"", argv[0],
- " prop window name ?value ?\"", NULL);
- return TCL_ERROR;
- }
- if (strcmp(argv[2], "root") == 0) {
- w = RootWindow(winPtr->dispPtr->display, 0);
- } else if (strcmp(argv[2], "comm") == 0) {
- w = Tk_WindowId(winPtr->dispPtr->commTkwin);
- } else {
- w = strtoul(argv[2], &end, 0);
- }
- propName = Tk_InternAtom((Tk_Window) winPtr, argv[3]);
- if (argc == 4) {
- property = NULL;
- result = XGetWindowProperty(winPtr->dispPtr->display,
- w, propName, 0, 100000, False, XA_STRING,
- &actualType, &actualFormat, &length,
- &bytesAfter, (unsigned char **) &property);
- if ((result == Success) && (actualType != None)
- && (actualFormat == 8) && (actualType == XA_STRING)) {
- for (p = property; (p-property) < length; p++) {
- if (*p == 0) {
- *p = '\n';
- }
- }
- Tcl_SetResult(interp, property, TCL_VOLATILE);
- }
- if (property != NULL) {
- XFree(property);
- }
- } else if (argv[4][0] == 0) {
- XDeleteProperty(winPtr->dispPtr->display, w, propName);
- } else {
- Tcl_DString tmp;
-
- Tcl_DStringInit(&tmp);
- for (p = Tcl_DStringAppend(&tmp, argv[4],
- (int) strlen(argv[4])); *p != 0; p++) {
- if (*p == '\n') {
- *p = 0;
- }
- }
-
- XChangeProperty(winPtr->dispPtr->display, w, propName, XA_STRING,
- 8, PropModeReplace, (unsigned char*)Tcl_DStringValue(&tmp),
- p-Tcl_DStringValue(&tmp));
- Tcl_DStringFree(&tmp);
- }
- } else if (strcmp(argv[1], "serial") == 0) {
- char buf[TCL_INTEGER_SPACE];
-
- sprintf(buf, "%d", tkSendSerial+1);
- Tcl_SetResult(interp, buf, TCL_VOLATILE);
- } else {
- Tcl_AppendResult(interp, "bad option \"", argv[1],
- "\": must be bogus, prop, or serial", NULL);
- return TCL_ERROR;
- }
- return TCL_OK;
-}
-#endif
-
-/*
- *----------------------------------------------------------------------
- *
- * TesttextCmd --
- *
- * This function implements the "testtext" command. It provides a set of
- * functions for testing text widgets and the associated functions in
- * tkText*.c.
- *
- * Results:
- * A standard Tcl result.
- *
- * Side effects:
- * Depends on option; see below.
- *
- *----------------------------------------------------------------------
- */
-
-static int
-TesttextCmd(
- ClientData clientData, /* Main window for application. */
- Tcl_Interp *interp, /* Current interpreter. */
- int argc, /* Number of arguments. */
- CONST char **argv) /* Argument strings. */
-{
- TkText *textPtr;
- size_t len;
- int lineIndex, byteIndex, byteOffset;
- TkTextIndex index;
- char buf[64];
- Tcl_CmdInfo info;
-
- if (argc < 3) {
- return TCL_ERROR;
- }
-
- if (Tcl_GetCommandInfo(interp, argv[1], &info) == 0) {
- return TCL_ERROR;
- }
- if (info.isNativeObjectProc) {
- textPtr = (TkText *) info.objClientData;
- } else {
- textPtr = (TkText *) info.clientData;
- }
- len = strlen(argv[2]);
- if (strncmp(argv[2], "byteindex", len) == 0) {
- if (argc != 5) {
- return TCL_ERROR;
- }
- lineIndex = atoi(argv[3]) - 1;
- byteIndex = atoi(argv[4]);
-
- TkTextMakeByteIndex(textPtr->sharedTextPtr->tree, textPtr, lineIndex,
- byteIndex, &index);
- } else if (strncmp(argv[2], "forwbytes", len) == 0) {
- if (argc != 5) {
- return TCL_ERROR;
- }
- if (TkTextGetIndex(interp, textPtr, argv[3], &index) != TCL_OK) {
- return TCL_ERROR;
- }
- byteOffset = atoi(argv[4]);
- TkTextIndexForwBytes(textPtr, &index, byteOffset, &index);
- } else if (strncmp(argv[2], "backbytes", len) == 0) {
- if (argc != 5) {
- return TCL_ERROR;
- }
- if (TkTextGetIndex(interp, textPtr, argv[3], &index) != TCL_OK) {
- return TCL_ERROR;
- }
- byteOffset = atoi(argv[4]);
- TkTextIndexBackBytes(textPtr, &index, byteOffset, &index);
- } else {
- return TCL_ERROR;
- }
-
- TkTextSetMark(textPtr, "insert", &index);
- TkTextPrintIndex(textPtr, &index, buf);
- sprintf(buf + strlen(buf), " %d", index.byteIndex);
- Tcl_AppendResult(interp, buf, NULL);
-
- return TCL_OK;
-}
-
#if !(defined(__WIN32__) || defined(MAC_OSX_TK))
/*
*----------------------------------------------------------------------
diff --git a/generic/tkText.c b/generic/tkText.c
index 870555e..f99ce02 100644
--- a/generic/tkText.c
+++ b/generic/tkText.c
@@ -13,7 +13,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkText.c,v 1.63 2005/11/17 16:21:56 dkf Exp $
+ * RCS: @(#) $Id: tkText.c,v 1.64 2005/11/27 02:36:14 das Exp $
*/
#include "default.h"
@@ -6346,3 +6346,87 @@ ObjectIsEmpty(objPtr)
Tcl_GetStringFromObj(objPtr, &length);
return (length == 0);
}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TkpTesttextCmd --
+ *
+ * This function implements the "testtext" command. It provides a set of
+ * functions for testing text widgets and the associated functions in
+ * tkText*.c.
+ *
+ * Results:
+ * A standard Tcl result.
+ *
+ * Side effects:
+ * Depends on option; see below.
+ *
+ *----------------------------------------------------------------------
+ */
+
+int
+TkpTesttextCmd(
+ ClientData clientData, /* Main window for application. */
+ Tcl_Interp *interp, /* Current interpreter. */
+ int argc, /* Number of arguments. */
+ CONST char **argv) /* Argument strings. */
+{
+ TkText *textPtr;
+ size_t len;
+ int lineIndex, byteIndex, byteOffset;
+ TkTextIndex index;
+ char buf[64];
+ Tcl_CmdInfo info;
+
+ if (argc < 3) {
+ return TCL_ERROR;
+ }
+
+ if (Tcl_GetCommandInfo(interp, argv[1], &info) == 0) {
+ return TCL_ERROR;
+ }
+ if (info.isNativeObjectProc) {
+ textPtr = (TkText *) info.objClientData;
+ } else {
+ textPtr = (TkText *) info.clientData;
+ }
+ len = strlen(argv[2]);
+ if (strncmp(argv[2], "byteindex", len) == 0) {
+ if (argc != 5) {
+ return TCL_ERROR;
+ }
+ lineIndex = atoi(argv[3]) - 1;
+ byteIndex = atoi(argv[4]);
+
+ TkTextMakeByteIndex(textPtr->sharedTextPtr->tree, textPtr, lineIndex,
+ byteIndex, &index);
+ } else if (strncmp(argv[2], "forwbytes", len) == 0) {
+ if (argc != 5) {
+ return TCL_ERROR;
+ }
+ if (TkTextGetIndex(interp, textPtr, argv[3], &index) != TCL_OK) {
+ return TCL_ERROR;
+ }
+ byteOffset = atoi(argv[4]);
+ TkTextIndexForwBytes(textPtr, &index, byteOffset, &index);
+ } else if (strncmp(argv[2], "backbytes", len) == 0) {
+ if (argc != 5) {
+ return TCL_ERROR;
+ }
+ if (TkTextGetIndex(interp, textPtr, argv[3], &index) != TCL_OK) {
+ return TCL_ERROR;
+ }
+ byteOffset = atoi(argv[4]);
+ TkTextIndexBackBytes(textPtr, &index, byteOffset, &index);
+ } else {
+ return TCL_ERROR;
+ }
+
+ TkTextSetMark(textPtr, "insert", &index);
+ TkTextPrintIndex(textPtr, &index, buf);
+ sprintf(buf + strlen(buf), " %d", index.byteIndex);
+ Tcl_AppendResult(interp, buf, NULL);
+
+ return TCL_OK;
+}
diff --git a/generic/tkText.h b/generic/tkText.h
index 3fd92ab..1357055 100644
--- a/generic/tkText.h
+++ b/generic/tkText.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkText.h,v 1.28 2005/11/17 16:21:56 dkf Exp $
+ * RCS: @(#) $Id: tkText.h,v 1.29 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKTEXT
@@ -940,13 +940,13 @@ typedef struct TkTextElideInfo {
* Declarations for variables shared among the text-related files:
*/
-EXTERN int tkBTreeDebug;
-EXTERN int tkTextDebug;
-EXTERN Tk_SegType tkTextCharType;
-EXTERN Tk_SegType tkTextLeftMarkType;
-EXTERN Tk_SegType tkTextRightMarkType;
-EXTERN Tk_SegType tkTextToggleOnType;
-EXTERN Tk_SegType tkTextToggleOffType;
+MODULE_SCOPE int tkBTreeDebug;
+MODULE_SCOPE int tkTextDebug;
+MODULE_SCOPE Tk_SegType tkTextCharType;
+MODULE_SCOPE Tk_SegType tkTextLeftMarkType;
+MODULE_SCOPE Tk_SegType tkTextRightMarkType;
+MODULE_SCOPE Tk_SegType tkTextToggleOnType;
+MODULE_SCOPE Tk_SegType tkTextToggleOffType;
/*
* Convenience macros for use by B-tree clients which want to access pixel
@@ -963,194 +963,194 @@ EXTERN Tk_SegType tkTextToggleOffType;
* shouldn't be used anywhere else in Tk (or by Tk clients):
*/
-EXTERN int TkBTreeAdjustPixelHeight(CONST TkText *textPtr,
+MODULE_SCOPE int TkBTreeAdjustPixelHeight(CONST TkText *textPtr,
TkTextLine *linePtr, int newPixelHeight,
int mergedLogicalLines);
-EXTERN int TkBTreeCharTagged(CONST TkTextIndex *indexPtr,
+MODULE_SCOPE int TkBTreeCharTagged(CONST TkTextIndex *indexPtr,
TkTextTag *tagPtr);
-EXTERN void TkBTreeCheck(TkTextBTree tree);
-EXTERN TkTextBTree TkBTreeCreate(TkSharedText *sharedTextPtr);
-EXTERN void TkBTreeAddClient(TkTextBTree tree, TkText *textPtr,
+MODULE_SCOPE void TkBTreeCheck(TkTextBTree tree);
+MODULE_SCOPE TkTextBTree TkBTreeCreate(TkSharedText *sharedTextPtr);
+MODULE_SCOPE void TkBTreeAddClient(TkTextBTree tree, TkText *textPtr,
int defaultHeight);
-EXTERN void TkBTreeClientRangeChanged(TkText *textPtr,
+MODULE_SCOPE void TkBTreeClientRangeChanged(TkText *textPtr,
int defaultHeight);
-EXTERN void TkBTreeRemoveClient(TkTextBTree tree,
+MODULE_SCOPE void TkBTreeRemoveClient(TkTextBTree tree,
TkText *textPtr);
-EXTERN void TkBTreeDestroy(TkTextBTree tree);
-EXTERN void TkBTreeDeleteIndexRange(TkTextBTree tree,
+MODULE_SCOPE void TkBTreeDestroy(TkTextBTree tree);
+MODULE_SCOPE void TkBTreeDeleteIndexRange(TkTextBTree tree,
TkTextIndex *index1Ptr, TkTextIndex *index2Ptr);
-EXTERN TkTextLine * TkBTreeFindLine(TkTextBTree tree,
+MODULE_SCOPE TkTextLine *TkBTreeFindLine(TkTextBTree tree,
CONST TkText *textPtr, int line);
-EXTERN TkTextLine * TkBTreeFindPixelLine(TkTextBTree tree,
+MODULE_SCOPE TkTextLine *TkBTreeFindPixelLine(TkTextBTree tree,
CONST TkText *textPtr, int pixels,
int *pixelOffset);
-EXTERN TkTextTag ** TkBTreeGetTags(CONST TkTextIndex *indexPtr,
+MODULE_SCOPE TkTextTag **TkBTreeGetTags(CONST TkTextIndex *indexPtr,
CONST TkText *textPtr, int *numTagsPtr);
-EXTERN void TkBTreeInsertChars(TkTextBTree tree,
+MODULE_SCOPE void TkBTreeInsertChars(TkTextBTree tree,
TkTextIndex *indexPtr, CONST char *string);
-EXTERN int TkBTreeLinesTo(CONST TkText *textPtr,
+MODULE_SCOPE int TkBTreeLinesTo(CONST TkText *textPtr,
TkTextLine *linePtr);
-EXTERN int TkBTreePixelsTo(CONST TkText *textPtr,
+MODULE_SCOPE int TkBTreePixelsTo(CONST TkText *textPtr,
TkTextLine *linePtr);
-EXTERN void TkBTreeLinkSegment(TkTextSegment *segPtr,
+MODULE_SCOPE void TkBTreeLinkSegment(TkTextSegment *segPtr,
TkTextIndex *indexPtr);
-EXTERN TkTextLine * TkBTreeNextLine(CONST TkText *textPtr,
+MODULE_SCOPE TkTextLine *TkBTreeNextLine(CONST TkText *textPtr,
TkTextLine *linePtr);
-EXTERN int TkBTreeNextTag(TkTextSearch *searchPtr);
-EXTERN int TkBTreeNumLines(TkTextBTree tree,
+MODULE_SCOPE int TkBTreeNextTag(TkTextSearch *searchPtr);
+MODULE_SCOPE int TkBTreeNumLines(TkTextBTree tree,
CONST TkText *textPtr);
-EXTERN int TkBTreeNumPixels(TkTextBTree tree,
+MODULE_SCOPE int TkBTreeNumPixels(TkTextBTree tree,
CONST TkText *textPtr);
-EXTERN TkTextLine * TkBTreePreviousLine(TkText *textPtr,
+MODULE_SCOPE TkTextLine *TkBTreePreviousLine(TkText *textPtr,
TkTextLine *linePtr);
-EXTERN int TkBTreePrevTag(TkTextSearch *searchPtr);
-EXTERN void TkBTreeStartSearch(TkTextIndex *index1Ptr,
+MODULE_SCOPE int TkBTreePrevTag(TkTextSearch *searchPtr);
+MODULE_SCOPE void TkBTreeStartSearch(TkTextIndex *index1Ptr,
TkTextIndex *index2Ptr, TkTextTag *tagPtr,
TkTextSearch *searchPtr);
-EXTERN void TkBTreeStartSearchBack(TkTextIndex *index1Ptr,
+MODULE_SCOPE void TkBTreeStartSearchBack(TkTextIndex *index1Ptr,
TkTextIndex *index2Ptr, TkTextTag *tagPtr,
TkTextSearch *searchPtr);
-EXTERN int TkBTreeTag(TkTextIndex *index1Ptr,
+MODULE_SCOPE int TkBTreeTag(TkTextIndex *index1Ptr,
TkTextIndex *index2Ptr, TkTextTag *tagPtr,
int add);
-EXTERN void TkBTreeUnlinkSegment(TkTextSegment *segPtr,
+MODULE_SCOPE void TkBTreeUnlinkSegment(TkTextSegment *segPtr,
TkTextLine *linePtr);
-EXTERN void TkTextBindProc(ClientData clientData,
+MODULE_SCOPE void TkTextBindProc(ClientData clientData,
XEvent *eventPtr);
-EXTERN void TkTextSelectionEvent(TkText *textPtr);
-EXTERN void TkTextChanged(TkSharedText *sharedTextPtr,
+MODULE_SCOPE void TkTextSelectionEvent(TkText *textPtr);
+MODULE_SCOPE void TkTextChanged(TkSharedText *sharedTextPtr,
TkText *textPtr, CONST TkTextIndex *index1Ptr,
CONST TkTextIndex *index2Ptr);
-EXTERN int TkTextIndexBbox(TkText *textPtr,
+MODULE_SCOPE int TkTextIndexBbox(TkText *textPtr,
CONST TkTextIndex *indexPtr, int *xPtr, int *yPtr,
int *widthPtr, int *heightPtr, int *charWidthPtr);
-EXTERN int TkTextCharLayoutProc(TkText *textPtr,
+MODULE_SCOPE int TkTextCharLayoutProc(TkText *textPtr,
TkTextIndex *indexPtr, TkTextSegment *segPtr,
int offset, int maxX, int maxChars, int noBreakYet,
TkWrapMode wrapMode, TkTextDispChunk *chunkPtr);
-EXTERN void TkTextCreateDInfo(TkText *textPtr);
-EXTERN int TkTextDLineInfo(TkText *textPtr,
+MODULE_SCOPE void TkTextCreateDInfo(TkText *textPtr);
+MODULE_SCOPE int TkTextDLineInfo(TkText *textPtr,
CONST TkTextIndex *indexPtr, int *xPtr, int *yPtr,
int *widthPtr, int *heightPtr, int *basePtr);
-EXTERN void TkTextEmbWinDisplayProc(TkText *textPtr,
+MODULE_SCOPE void TkTextEmbWinDisplayProc(TkText *textPtr,
TkTextDispChunk *chunkPtr, int x, int y,
int lineHeight, int baseline, Display *display,
Drawable dst, int screenY);
-EXTERN TkTextTag * TkTextCreateTag(TkText *textPtr,
+MODULE_SCOPE TkTextTag *TkTextCreateTag(TkText *textPtr,
CONST char *tagName, int *newTag);
-EXTERN void TkTextFreeDInfo(TkText *textPtr);
-EXTERN void TkTextDeleteTag(TkText *textPtr, TkTextTag *tagPtr);
-EXTERN void TkTextFreeTag(TkText *textPtr, TkTextTag *tagPtr);
-EXTERN int TkTextGetIndex(Tcl_Interp *interp, TkText *textPtr,
+MODULE_SCOPE void TkTextFreeDInfo(TkText *textPtr);
+MODULE_SCOPE void TkTextDeleteTag(TkText *textPtr, TkTextTag *tagPtr);
+MODULE_SCOPE void TkTextFreeTag(TkText *textPtr, TkTextTag *tagPtr);
+MODULE_SCOPE int TkTextGetIndex(Tcl_Interp *interp, TkText *textPtr,
CONST char *string, TkTextIndex *indexPtr);
-EXTERN int TkTextGetObjIndex(Tcl_Interp *interp, TkText *textPtr,
+MODULE_SCOPE int TkTextGetObjIndex(Tcl_Interp *interp, TkText *textPtr,
Tcl_Obj *idxPtr, TkTextIndex *indexPtr);
-EXTERN int TkTextSharedGetObjIndex(Tcl_Interp *interp,
+MODULE_SCOPE int TkTextSharedGetObjIndex(Tcl_Interp *interp,
TkSharedText *sharedTextPtr, Tcl_Obj *idxPtr,
TkTextIndex *indexPtr);
-EXTERN CONST TkTextIndex* TkTextGetIndexFromObj(Tcl_Interp *interp,
+MODULE_SCOPE CONST TkTextIndex *TkTextGetIndexFromObj(Tcl_Interp *interp,
TkText *textPtr, Tcl_Obj *objPtr);
-EXTERN TkTextTabArray * TkTextGetTabs(Tcl_Interp *interp,
+MODULE_SCOPE TkTextTabArray *TkTextGetTabs(Tcl_Interp *interp,
TkText *textPtr, Tcl_Obj *stringPtr);
-EXTERN void TkTextFindDisplayLineEnd(TkText *textPtr,
+MODULE_SCOPE void TkTextFindDisplayLineEnd(TkText *textPtr,
TkTextIndex *indexPtr, int end, int *xOffset);
-EXTERN int TkTextIndexBackBytes(CONST TkText *textPtr,
+MODULE_SCOPE int TkTextIndexBackBytes(CONST TkText *textPtr,
CONST TkTextIndex *srcPtr, int count,
TkTextIndex *dstPtr);
-EXTERN void TkTextIndexBackChars(CONST TkText *textPtr,
+MODULE_SCOPE void TkTextIndexBackChars(CONST TkText *textPtr,
CONST TkTextIndex *srcPtr, int count,
TkTextIndex *dstPtr, TkTextCountType type);
-EXTERN int TkTextIndexCmp(CONST TkTextIndex *index1Ptr,
+MODULE_SCOPE int TkTextIndexCmp(CONST TkTextIndex *index1Ptr,
CONST TkTextIndex *index2Ptr);
-EXTERN int TkTextIndexCount(CONST TkText *textPtr,
+MODULE_SCOPE int TkTextIndexCount(CONST TkText *textPtr,
CONST TkTextIndex *index1Ptr,
CONST TkTextIndex *index2Ptr,
TkTextCountType type);
-EXTERN int TkTextIndexForwBytes(CONST TkText *textPtr,
+MODULE_SCOPE int TkTextIndexForwBytes(CONST TkText *textPtr,
CONST TkTextIndex *srcPtr, int count,
TkTextIndex *dstPtr);
-EXTERN void TkTextIndexForwChars(CONST TkText *textPtr,
+MODULE_SCOPE void TkTextIndexForwChars(CONST TkText *textPtr,
CONST TkTextIndex *srcPtr, int count,
TkTextIndex *dstPtr, TkTextCountType type);
-EXTERN void TkTextIndexOfX(TkText *textPtr, int x,
+MODULE_SCOPE void TkTextIndexOfX(TkText *textPtr, int x,
TkTextIndex *indexPtr);
-EXTERN int TkTextIndexYPixels(TkText *textPtr,
+MODULE_SCOPE int TkTextIndexYPixels(TkText *textPtr,
CONST TkTextIndex *indexPtr);
-EXTERN TkTextSegment * TkTextIndexToSeg(CONST TkTextIndex *indexPtr,
+MODULE_SCOPE TkTextSegment *TkTextIndexToSeg(CONST TkTextIndex *indexPtr,
int *offsetPtr);
-EXTERN void TkTextInsertDisplayProc(TkText *textPtr,
+MODULE_SCOPE void TkTextInsertDisplayProc(TkText *textPtr,
TkTextDispChunk *chunkPtr, int x, int y,
int height, int baseline, Display *display,
Drawable dst, int screenY);
-EXTERN void TkTextLostSelection(ClientData clientData);
-EXTERN TkTextIndex * TkTextMakeCharIndex(TkTextBTree tree, TkText *textPtr,
+MODULE_SCOPE void TkTextLostSelection(ClientData clientData);
+MODULE_SCOPE TkTextIndex *TkTextMakeCharIndex(TkTextBTree tree, TkText *textPtr,
int lineIndex, int charIndex,
TkTextIndex *indexPtr);
-EXTERN int TkTextMeasureDown(TkText *textPtr,
+MODULE_SCOPE int TkTextMeasureDown(TkText *textPtr,
TkTextIndex *srcPtr, int distance);
-EXTERN void TkTextFreeElideInfo(TkTextElideInfo *infoPtr);
-EXTERN int TkTextIsElided(CONST TkText *textPtr,
+MODULE_SCOPE void TkTextFreeElideInfo(TkTextElideInfo *infoPtr);
+MODULE_SCOPE int TkTextIsElided(CONST TkText *textPtr,
CONST TkTextIndex *indexPtr,
TkTextElideInfo *infoPtr);
-EXTERN TkTextIndex * TkTextMakeByteIndex(TkTextBTree tree,
+MODULE_SCOPE TkTextIndex *TkTextMakeByteIndex(TkTextBTree tree,
CONST TkText *textPtr, int lineIndex,
int byteIndex, TkTextIndex *indexPtr);
-EXTERN int TkTextMakePixelIndex(TkText *textPtr,
+MODULE_SCOPE int TkTextMakePixelIndex(TkText *textPtr,
int pixelIndex, TkTextIndex *indexPtr);
-EXTERN void TkTextInvalidateLineMetrics(
+MODULE_SCOPE void TkTextInvalidateLineMetrics(
TkSharedText *sharedTextPtr, TkText *textPtr,
TkTextLine *linePtr, int lineCount, int action);
-EXTERN int TkTextUpdateLineMetrics(TkText *textPtr, int lineNum,
+MODULE_SCOPE int TkTextUpdateLineMetrics(TkText *textPtr, int lineNum,
int endLine, int doThisMuch);
-EXTERN int TkTextUpdateOneLine(TkText *textPtr,
+MODULE_SCOPE int TkTextUpdateOneLine(TkText *textPtr,
TkTextLine *linePtr, int pixelHeight,
TkTextIndex *indexPtr, int partialCalc);
-EXTERN int TkTextMarkCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextMarkCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextMarkNameToIndex(TkText *textPtr,
+MODULE_SCOPE int TkTextMarkNameToIndex(TkText *textPtr,
CONST char *name, TkTextIndex *indexPtr);
-EXTERN void TkTextMarkSegToIndex(TkText *textPtr,
+MODULE_SCOPE void TkTextMarkSegToIndex(TkText *textPtr,
TkTextSegment *markPtr, TkTextIndex *indexPtr);
-EXTERN void TkTextEventuallyRepick(TkText *textPtr);
-EXTERN void TkTextPickCurrent(TkText *textPtr, XEvent *eventPtr);
-EXTERN void TkTextPixelIndex(TkText *textPtr, int x, int y,
+MODULE_SCOPE void TkTextEventuallyRepick(TkText *textPtr);
+MODULE_SCOPE void TkTextPickCurrent(TkText *textPtr, XEvent *eventPtr);
+MODULE_SCOPE void TkTextPixelIndex(TkText *textPtr, int x, int y,
TkTextIndex *indexPtr, int *nearest);
-EXTERN int TkTextPrintIndex(CONST TkText *textPtr,
+MODULE_SCOPE int TkTextPrintIndex(CONST TkText *textPtr,
CONST TkTextIndex *indexPtr, char *string);
-EXTERN Tcl_Obj* TkTextNewIndexObj(TkText *textPtr,
+MODULE_SCOPE Tcl_Obj* TkTextNewIndexObj(TkText *textPtr,
CONST TkTextIndex *indexPtr);
-EXTERN void TkTextRedrawRegion(TkText *textPtr, int x, int y,
+MODULE_SCOPE void TkTextRedrawRegion(TkText *textPtr, int x, int y,
int width, int height);
-EXTERN void TkTextRedrawTag(TkSharedText *sharedTextPtr,
+MODULE_SCOPE void TkTextRedrawTag(TkSharedText *sharedTextPtr,
TkText *textPtr, TkTextIndex *index1Ptr,
TkTextIndex *index2Ptr, TkTextTag *tagPtr,
int withTag);
-EXTERN void TkTextRelayoutWindow(TkText *textPtr, int mask);
-EXTERN int TkTextScanCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE void TkTextRelayoutWindow(TkText *textPtr, int mask);
+MODULE_SCOPE int TkTextScanCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextSeeCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextSeeCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextSegToOffset(CONST TkTextSegment *segPtr,
+MODULE_SCOPE int TkTextSegToOffset(CONST TkTextSegment *segPtr,
CONST TkTextLine *linePtr);
-EXTERN TkTextSegment * TkTextSetMark(TkText *textPtr,
+MODULE_SCOPE TkTextSegment *TkTextSetMark(TkText *textPtr,
CONST char *name, TkTextIndex *indexPtr);
-EXTERN void TkTextSetYView(TkText *textPtr,
+MODULE_SCOPE void TkTextSetYView(TkText *textPtr,
TkTextIndex *indexPtr, int pickPlace);
-EXTERN int TkTextTagCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextTagCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextImageCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextImageCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextImageIndex(TkText *textPtr,
+MODULE_SCOPE int TkTextImageIndex(TkText *textPtr,
CONST char *name, TkTextIndex *indexPtr);
-EXTERN int TkTextWindowCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextWindowCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextWindowIndex(TkText *textPtr, CONST char *name,
+MODULE_SCOPE int TkTextWindowIndex(TkText *textPtr, CONST char *name,
TkTextIndex *indexPtr);
-EXTERN int TkTextXviewCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextXviewCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN int TkTextYviewCmd(TkText *textPtr, Tcl_Interp *interp,
+MODULE_SCOPE int TkTextYviewCmd(TkText *textPtr, Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[]);
-EXTERN void TkTextWinFreeClient(Tcl_HashEntry *hPtr,
+MODULE_SCOPE void TkTextWinFreeClient(Tcl_HashEntry *hPtr,
TkTextEmbWindowClient *client);
# undef TCL_STORAGE_CLASS
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index df0230f..13c6b24 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkTextDisp.c,v 1.54 2005/11/17 10:57:35 dkf Exp $
+ * RCS: @(#) $Id: tkTextDisp.c,v 1.55 2005/11/27 02:36:14 das Exp $
*/
#include "tkPort.h"
@@ -5590,7 +5590,7 @@ TkTextYviewCmd(
TextDInfo *dInfoPtr = textPtr->dInfoPtr;
int pickPlace, type;
int pixels, count;
- size_t switchLength;
+ int switchLength;
double fraction;
TkTextIndex index;
diff --git a/generic/tkUndo.h b/generic/tkUndo.h
index a8b053e..5d50edd 100644
--- a/generic/tkUndo.h
+++ b/generic/tkUndo.h
@@ -8,14 +8,14 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkUndo.h,v 1.4 2005/11/15 15:18:22 dkf Exp $
+ * RCS: @(#) $Id: tkUndo.h,v 1.5 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKUNDO
#define _TKUNDO
-#ifndef _TK
-#include "tk.h"
+#ifndef _TKINT
+#include "tkInt.h"
#endif
#ifdef BUILD_tk
@@ -92,29 +92,29 @@ typedef struct TkUndoRedoStack {
* Basic functions.
*/
-EXTERN void TkUndoPushStack(TkUndoAtom **stack, TkUndoAtom *elem);
-EXTERN TkUndoAtom * TkUndoPopStack(TkUndoAtom **stack);
-EXTERN int TkUndoInsertSeparator(TkUndoAtom **stack);
-EXTERN void TkUndoClearStack(TkUndoAtom **stack);
+MODULE_SCOPE void TkUndoPushStack(TkUndoAtom **stack, TkUndoAtom *elem);
+MODULE_SCOPE TkUndoAtom *TkUndoPopStack(TkUndoAtom **stack);
+MODULE_SCOPE int TkUndoInsertSeparator(TkUndoAtom **stack);
+MODULE_SCOPE void TkUndoClearStack(TkUndoAtom **stack);
/*
* Functions for working on an undo/redo stack.
*/
-EXTERN TkUndoRedoStack *TkUndoInitStack(Tcl_Interp *interp, int maxdepth);
-EXTERN void TkUndoSetDepth(TkUndoRedoStack *stack, int maxdepth);
-EXTERN void TkUndoClearStacks(TkUndoRedoStack *stack);
-EXTERN void TkUndoFreeStack(TkUndoRedoStack *stack);
-EXTERN void TkUndoInsertUndoSeparator(TkUndoRedoStack *stack);
-EXTERN TkUndoSubAtom * TkUndoMakeCmdSubAtom(Tcl_Command command,
+MODULE_SCOPE TkUndoRedoStack *TkUndoInitStack(Tcl_Interp *interp, int maxdepth);
+MODULE_SCOPE void TkUndoSetDepth(TkUndoRedoStack *stack, int maxdepth);
+MODULE_SCOPE void TkUndoClearStacks(TkUndoRedoStack *stack);
+MODULE_SCOPE void TkUndoFreeStack(TkUndoRedoStack *stack);
+MODULE_SCOPE void TkUndoInsertUndoSeparator(TkUndoRedoStack *stack);
+MODULE_SCOPE TkUndoSubAtom *TkUndoMakeCmdSubAtom(Tcl_Command command,
Tcl_Obj *actionScript, TkUndoSubAtom *subAtomList);
-EXTERN TkUndoSubAtom * TkUndoMakeSubAtom(TkUndoProc *funcPtr,
+MODULE_SCOPE TkUndoSubAtom *TkUndoMakeSubAtom(TkUndoProc *funcPtr,
ClientData clientData, Tcl_Obj *actionScript,
TkUndoSubAtom *subAtomList);
-EXTERN void TkUndoPushAction(TkUndoRedoStack *stack,
+MODULE_SCOPE void TkUndoPushAction(TkUndoRedoStack *stack,
TkUndoSubAtom *apply, TkUndoSubAtom *revert);
-EXTERN int TkUndoRevert(TkUndoRedoStack *stack);
-EXTERN int TkUndoApply(TkUndoRedoStack *stack);
+MODULE_SCOPE int TkUndoRevert(TkUndoRedoStack *stack);
+MODULE_SCOPE int TkUndoApply(TkUndoRedoStack *stack);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT