summaryrefslogtreecommitdiffstats
path: root/generic/tkInt.h
diff options
context:
space:
mode:
authordas <das>2005-11-27 02:36:13 (GMT)
committerdas <das>2005-11-27 02:36:13 (GMT)
commit3dadea6fa58518be89d8e48e340285cd5d916887 (patch)
tree98dfe1d79c84fe0819c1b167cb9764496c2c9a72 /generic/tkInt.h
parentc0223b885cb724c64ed47ceefc90b7f883a6b4df (diff)
downloadtk-3dadea6fa58518be89d8e48e340285cd5d916887.zip
tk-3dadea6fa58518be89d8e48e340285cd5d916887.tar.gz
tk-3dadea6fa58518be89d8e48e340285cd5d916887.tar.bz2
* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tcl/unix/tcl.m4. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tcl/unix/configure.in. * unix/Makefile.in: add CFLAGS to wish/tktest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of wish and compiling of tkTestInit.o during parallel make, fix dependencies and flags for building tkMacOSXInit.o (checkstubs, checkexports): dependency and Darwin fixes (dist): add new macosx files. * macosx/tkMacOSXEvent.c (TkMacOSXProcessEvent): * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): * macosx/tkMacOSXCarbonEvents.c: install standard application event handler, add & call functions to start and stop carbon even timer that runs the tcl event loop periodically during a nested carbon event loop in the toolbox (e.g. during menutracking) to ensure tcl timers etc continue to fire, register app event handler for menu tracking and HI command carbon events, move menu event handling to new handlers for those carbon events, no longer register for/handle appleevent carbon event (now dealt with by standard application event handler), event debugging code dynamically acquires carbon event debugging functions to allow use on Tiger where they are no longer exported from HIToolbox. * macosx/tkMacOSXFont.c (TkMacOSXUseAntialiasedText): * macosx/tkMacOSXKeyEvent.c (GetKeyboardLayout): * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: abstract common code to dynamically acquire address of a named symbol (from a loaded dynamic library) into new function TkMacOSXGetNamedSymbol() and macro TkMacOSXInitNamedSymbol. * macosx/tkMacOSXMenu.c (TkpNewMenu): * macosx/tkMacOSXMenubutton.c (MenuButtonInitControl): * macosx/tkMacOSXMenus.c (TkMacOSXHandleMenuSelect): switch to modern utf8 aware menu manager API, remove obsolete code, add error handling. * macosx/tkMacOSXMouseEvent.c: define OSX 10.3 or later only constants if necessary to allow compilation on OSX 10.2 * macosx/tkMacOSXWm.c (UpdateSizeHints): remove code that is never executed. * xlib/xgc.c (XCreateGC): sync with core-8-4-branch change. * generic/tk.h: add/correct location of version numbers in macosx files. * generic/tkInt.h: clarify fat compile comment. * macosx/Wish.pbproj/default.pbxuser (new file): * macosx/Wish.pbproj/jingham.pbxuser: * macosx/Wish.pbproj/project.pbxproj: * macosx/Wish.xcode/default.pbxuser: * macosx/Wish.xcode/project.pbxproj: * macosx/Wish.xcodeproj/default.pbxuser (new file): * macosx/Wish.xcodeproj/project.pbxproj (new file): new/updated projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on 10.2, with native tktest targets and support for universal (fat) compiles. * macosx/Tk-Info.plist (removed): * macosx/Wish-Info.plist (removed): * macosx/buildTkConfig.tcl (removed): remove obsolete build files. * macosx/README: clarification/cleanup, document new Xcode projects and universal (fat) builds via CFLAGS (i.e. ppc and i386 at the same time). * unix/Makefile.in: * unix/aclocal.m4: * unix/configure.in: * macosx/configure.ac (new file): add support for inclusion of unix/configure.in by macosx/configure.ac, allows generation of a config headers enabled configure script in macosx (required by Xcode projects). * macosx/GNUmakefile: rename from Makefile to avoid overwriting by configure run in tk/macosx, add support for reusing configure cache, build target fixes. * generic/tk3d.h: * generic/tkButton.h: * generic/tkCanvas.c: * generic/tkCanvas.h: * generic/tkColor.h: * generic/tkEntry.h: * generic/tkFileFilter.h: * generic/tkFont.c: * generic/tkFont.h: * generic/tkImage.c: * generic/tkImgPhoto.c: * generic/tkInt.h: * generic/tkMenu.c: * generic/tkMenu.h: * generic/tkMenubutton.h: * generic/tkScale.h: * generic/tkScrollbar.h: * generic/tkSelect.h: * generic/tkStubInit.c: * generic/tkStubLib.c: * generic/tkText.h: * generic/tkUndo.h: * macosx/tkMacOSXButton.c: * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXSend.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * unix/tkUnixButton.c: * unix/tkUnixMenu.c: * xlib/xgc.c: ensure externally visible symbols not contained in stubs table are declared as MODULE_SCOPE (or as static if not used outside of own source file), #ifdef out a few Xlib and aqua functions that are never called. These changes allow 'make checkstubs' to complete without error on Darwin with gcc 4. * macosx/tkMacOSXTest.c: * macosx/tkMacOSXPort.h: * win/tkWinTest.c: * generic/tkInt.decls: add functions needed by tktest to internal stubs table, correct signature of TkMacOSXHandleMenuSelect, add XSync to aqua Xlib stubs. * unix/tkUnixSend.c: * generic/tkText.c: * generic/tkTest.c: #ifdef unix only declarations. (TestmetricsCmd): unify win and mac implementation. (TestsendCmd): move to tkUnixSend.c to avoid access to global var. (TesttextCmd): move to tkText.c to avoid having to put all the internal text functions it uses into the stubs table. * generic/tkTextDisp.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXXStubs.c: fix gcc 4 warnings. * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXScrlbr.c: sync with core-8-4-branch. * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkStubInit.c: * unix/configure: * unix/tkConfig.h.in: regen.
Diffstat (limited to 'generic/tkInt.h')
-rw-r--r--generic/tkInt.h197
1 files changed, 97 insertions, 100 deletions
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[]);