| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
and Tk_GetBitmapFromData signature problem
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the constraint that every Tk_ImageType can only
be passed to this function once. This allows
tkImg to be loaded in multiple interpreters
in a thread-enabled build of Tk.
This CONSTification complies with TIP #27. It is
binary compatible with the old interface, but not
fully source compatible (although tkImg does not suffer).
|
|
|
|
| |
in Tk_CreatePhotoImageFormat
|
|
|
|
| |
in Tk_CreateSmoothMethod.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
name constness change.
Although dkf's solution (simply adding a type cast)
is correct as well, changing the return value (as das
suggested) has the advantage that
all Tk_OptionPrintProc implementations don't
need a type cast any more in its code. This
makes all those functions robust against
the -Wwrite-strings warning option.
Further on, the customPtr field of Tk_ConfigSpec
can be a constant, without any danger of
source incompatibility.
|
|
|
|
|
| |
and Tk_ParseArgv. move TkSelGetSelection to internal stub table
(needed in tkWinTest.c)
|
|
|
|
| |
broken since 8.4 and no-one complained about it.
|
|
|
|
| |
only in libtkstub and no longer in libtk.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* generic/tkInt.decls: mark exported symbols not in stubs
table [FR 1716117]; cleanup formatting.
|
| |
|
|
|
|
|
|
|
| |
tkStubLib.c MODULE_SCOPE revert. [Bug 1716117]
* macosx/Wish.xcodeproj/project.pbxproj: add tkOldTest.c and remove
tkStubImg.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/Makefile.in: Updates to account for new and deleted files
* win/Makefile.in: tkStubImg.c and tkOldTest.c.
* win/makefile.bc:
* win/makefile.vc:
* generic/tkOldTest.c (new): New file used to create testing
* generic/tkTest.c: commands for testing various Tk
* tests/constraints.tcl: legacy interfaces where a separate
* tests/image.test: compilation unit is needed in order
to #define suitable macros during compilation. Only the effect of
USE_OLD_IMAGE on Tk_CreateImageType() is currently tested, but more
similar testing commands can be added to this same file. New
constraint defined to detect presence of the image type provided by
the new testing code, and a few tests added to exercise it. Having
USE_OLD_IMAGE support tested by the default test suite should reduce
chance of a recurrence of this bug.
* doc/CrtImgType.3: Revised docs to better indicate the legacy
* doc/CrtPhImgFmt.3: nature of the interfaces supported by
USE_OLD_IMAGE.
* generic/tkDecls.h: make genstubs
* generic/tkStubInit.c:
* generic/tk.decls: Reworked USE_OLD_IMAGE support to use
* generic/tk.h: the same support mechanisms both with
* generic/tkStubImg.c (deleted):and without a stub-enabled build. In
each case, route the legacy calls to Tk_CreateImageType and
Tk_CreatePhotoImageFormat through the Tk_CreateOldImageType and
Tk_CreateOldPhotoImageFormat routines. Add those routines to the
public stub table so they're available to a stub-enabled extension.
Remove the definition of Tk_InitImageArgs() and use a macro to
convert any calls to it in source code into a comment.
* generic/tkImage.c: Removed the MODULE_SCOPE declarations that
* generic/tkImgPhoto.c: broke USE_OLD_IMAGE support.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkPlatDecls.h: to use Tk_Window instead of internal
* macosx/tkMacOSXSubwindows.c: type TkWindow (which led to any include
* macosx/tkMacOSXWindowEvent.c: of public header tkMacOSX.h requiring
* macosx/tkMacOSXWm.c: prior include of tkInt.h).
* generic/tk.h: move TkAqua specific REDO_KEYSYM_LOOKUP define
* macosx/tkMacOSXPort.h: out of tk.h into platform header.
|
| |
|
| |
|
|
|
|
|
| |
they could never be done portably as they'd inevitably depend on the total
amount of memory available to the process... :^(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tk.decls:
* generic/tkInt.decls: added new "aqua" specific entries to the
stubs tables. Changed all "unix" entries to "x11" to allow us to
distinguish and build both "aqua" on MacOSX and "x11" on MacOSX.
* generic/tk.h: added a #ifnded RESOURCE_INCLUDED so that tk.h can
be passed to the resource compiler.
* generic/tkCmds.c (Tk_TkObjCmd): added [tk windowingsystem]
subcommand: returns "x11" when running on X11, "win32" on Windows,
"classic" on MacOS9 and "aqua" on MacOSX Aqua (i.e. Carbon)
* generic/tkFont.c (TkFontGetFirstTextLayout): new private function
returning the first chunk of a Tk_TextLayout, i.e. until the first
font change on the first line (or the whole first line if there is
no such font change).
* generic/tkMain.c: made Tcl_ThreadDataKey static
* library/demos/puzzle.tcl: fixed button metrics for aqua
* tests/cursor.test: check for presence of arrow cursor instead of
heart cursor
* xlib/xcolors.c: changed xColors static initialization to more
standard C
* macosx/Wish.pbproj/jingham.pbxuser (new):
* macosx/Wish.pbproj/project.pbxproj (new): project for Apple's
ProjectBuilder IDE.
* macosx/Makefile (new): simple makefile for building the project
from the command line via the ProjectBuilder tool 'pbxbuild'.
* macosx/tkMacOSXAppInit.c (new): macosx specific AppInit looking
for a AppMain.tcl file in its bundled Resources/Scripts folder. If
present, argv[1] is set to that file and the Scripts folder is
added to the auto_path. This allows tk apps to embed scripts within
their bundle directory structure.
* macosx/tkMacOSXInit.c (new): macosx adapted version of
tkUnixInit.c: we initialize & cache the Carbon native encoding
(e.g. 'macRoman') and try to find the tk script library files
inside Tk packaged as a framework.
* macosx/tkMacOSXNotify.c (new): new macosx specific merged
Carbon/select-based notifier.
* macosx/tkMacOSXEvent.c (new):
* macosx/tkMacOSXEvent.h (new):
* macosx/tkMacOSXKeyEvent.c (new):
* macosx/tkMacOSXMouseEvent.c (new):
* macosx/tkMacOSXWindowEvent.c (new): new macosx specific event
handling functionality.
* macosx/tkMacOSX.h (new):
* macosx/tkMacOSXBitmap.c (new):
* macosx/tkMacOSXButton.c (new):
* macosx/tkMacOSXClipboard.c (new):
* macosx/tkMacOSXColor.c (new):
* macosx/tkMacOSXConfig.c (new):
* macosx/tkMacOSXCursor.c (new):
* macosx/tkMacOSXDefault.h (new):
* macosx/tkMacOSXDialog.c (new):
* macosx/tkMacOSXDraw.c (new):
* macosx/tkMacOSXEmbed.c (new):
* macosx/tkMacOSXFont.c (new):
* macosx/tkMacOSXHLEvents.c (new):
* macosx/tkMacOSXInt.h (new):
* macosx/tkMacOSXKeyboard.c (new):
* macosx/tkMacOSXMenu.c (new):
* macosx/tkMacOSXMenubutton.c (new):
* macosx/tkMacOSXMenus.c (new):
* macosx/tkMacOSXPort.h (new):
* macosx/tkMacOSXRegion.c (new):
* macosx/tkMacOSXScale.c (new):
* macosx/tkMacOSXScrlbr.c (new):
* macosx/tkMacOSXSubwindows.c (new):
* macosx/tkMacOSXTest.c (new):
* macosx/tkMacOSXUtil.c (new):
* macosx/tkMacOSXUtil.h (new):
* macosx/tkMacOSXWm.c (new):
* macosx/tkMacOSXWm.h (new):
* macosx/tkMacOSXXStubs.c (new): macosx ports of classic mac Tk
implementation in tk/mac.
* macosx/tkMacOSXSend.c (new): only send to local interp
implemented currently.
* macosx/tkMacOSXDebug.h (new):
* macosx/tkMacOSXDebug.c (new): new macosx specific functions for
debugging MacOS events, regions, etc.
* macosx/tkAboutDlg.r (new):
* macosx/tkMacOSXApplication.r (new):
* macosx/tkMacOSXCursors.r (new):
* macosx/tkMacOSXLibrary.r (new):
* macosx/tkMacOSXMenu.r (new):
* macosx/tkMacOSXResource.r (new):
* macosx/tkMacOSXXCursors.r (new):
* macosx/tclets.r (new): sources for Rez resource compiler.
* macosx/Wish.icns (new): Wish application icon.
* generic/tk.h:
* generic/default.h:
* generic/tkBind.c:
* generic/tkCmds.c:
* generic/tkGrab.c:
* generic/tkPointer.c:
* generic/tkPort.h:
* generic/tkSelect.c:
* generic/tkStubLib.c:
* generic/tkTest.c:
* generic/tkText.c:
* generic/tkWindow.c:
* unix/tkUnix3d.c:
* xlib/xgc.c:
* xlib/X11/X.h:
* xlib/X11/Xlib.h:
* xlib/X11/Xutil.h: added #includes and #ifdefs for macosx
* library/bgerror.tcl:
* library/button.tcl:
* library/console.tcl:
* library/dialog.tcl:
* library/entry.tcl:
* library/listbox.tcl:
* library/menu.tcl:
* library/msgbox.tcl:
* library/scrlbar.tcl:
* library/spinbox.tcl:
* library/text.tcl:
* library/tk.tcl:
* library/demos/menu.tcl:
* library/demos/menubu.tcl:
* library/demos/widget: check [tk windowingsystem] instead of
and/or in addition to $tcl_platform(platform).
* generic/tkInt.h:
* mac/tkMacBitmap.c:
* mac/tkMacWm.c: added missing CONSTification
* generic/tkIntDecls.h:
* generic/tkIntPlatDecls.h:
* generic/tkIntXlibDecls.h:
* generic/tkPlatDecls.h:
* generic/tkStubInit.c: regen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
updating Tk to use Tcl 8.4's fully CONST-ified
interface, and fully CONSTifying Tk at the
same time.
This patch includes purging Tk of its last
direct access to interp->result. [Bug 589853]
The substantial changes include copying
event sequence strings into Tcl_DStrings
in tkBind.c, and copying [text] indices into
Tcl_DStrings because parsing them involved
overwriting them. If this causes performance
trouble, that can be resolved by further
converting them to Tcl_Obj's.
The #defines USE_NON_CONST and USE_COMPAT_CONST
have the same effect for Tk as they do for Tcl.
(They actually change tcl.h)
|
|
|
|
| |
Frederic Bonnet to supply docs+tests as soon as possible.
|
|
|
|
|
|
|
|
|
| |
* generic/tkDecls.h: Tk_CollapseMotionEvents API which controls
* generic/tkEvent.c: Tk's collapsing of incoming motion events
* generic/tkInt.h: on its windows. The default remains to do
* generic/tkStubInit.c: collapsing. Added a flags parameter to the
* generic/tkWindow.c: internal display structure to support this
* doc/QWinEvent.3: and be used in the future for other bits.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tkDecls.h:
* generic/tk.decls: added Tk_SetCaretPos declaration. This command
allows users to indicate the cursor position and is used by XIM
(Unix) or IME (Windows) to place the caret box correctly. It is
also part of correct Accessibility style on Windows to make the
magnifier jump to the focus point.
|
|
|
|
|
| |
interface of Tk_ParseArgv can now be removed by the -DUSE_NON_CONST
compiler flag.
|
|
|
|
|
|
|
|
|
| |
* Updated callers of Tcl_GetStringResult.
Rewrote PrintScrollFractions to ScrollFractions to stop scribbling
directly on interp->result.
* Updated callers of Tcl_GetVar, Tcl_GetVar2
* Updated callers of Tcl_SplitPath, Tcl_JoinPath, and
Tcl_TranslateFileName.
|
| |
|
|
|
|
|
|
|
|
|
| |
TkClassProcs/TkSetClassProcs as Tk_ClassProcs/Tk_SetClassProcs,
adding a size field to Tk_ClassProcs to allow for future
expansion, and renaming the geometryProc to worldChangedProc,
which is more in keeping with the actual use of the callback.
See ChangeLog for details.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TK_ANONYMOUS_WINDOW flag in the [winfo children] subcommand; if
set, the window will not be printed in the list of children.
* doc/CrtWindow.3: Added entry for Tk_CreateAnonymousWindow.
* generic/tkWindow.c
(Tk_CreateAnonymousWindow): New API for creating anonymous
windows. These windows are manipulable from C, but not from Tcl,
because they have no pathname associated with them. They are used
initially by widgets that do rubber-band resizing (panedwindow,
multi-column listbox, etc.), and may be useful for other widgets
as well (dropbox, combobox).
(Tk_DestroyWindow): Added check for TK_ANONYMOUS_WINDOW flag when
determining whether to generate a DestroyNotify event.
* generic/tkStubInit.c:
* generic/tkDecls.h: Regen'd from tk.decls.
* generic/tk.decls: Added Tk_CreateAnonymousWindow declaration.
* generic/tk.h: Added TK_ANONYMOUS_WINDOW flag for Tk_Window's.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkStubInit.c:
* generic/tkDecls.h:
* generic/tk.decls: Added Tk_CreateClientMessageHandler and
Tk_DeleteClientMessageHandler declarations.
* generic/tkEvent.c (Tk_HandleEvent): Added
Tk_CreateClientMessageHandler and Tk_DeleteClientMessageHandler to
allow adding event handlers that invoke for ClientMessage events.
This is necessary to support unix dnd protocols.
|
|
|
|
|
|
|
|
|
|
|
| |
necessary prolog for photos
* generic/tkCanvPs.c: added Tk_PostscriptPhoto that outputs PS for
photo images
* generic/tkImgPhoto.c: new func ImgPhotoPostscript and added that
in as ps proc in tkPhotoImageType.
* generic/tkStubInit.c:
* generic/tkDecls.h:
* generic/tk.decls: added Tk_PostscriptPhoto
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* unix/mkLinks: Removed docs for Tk_IsViewable.
* win/tkWinDialog.c: Removed calls to Tk_IsViewable.
* generic/tkUtil.c:
* generic/tkStubInit.c:
* generic/tkDecls.h:
* generic/tkCmds.c:
* generic/tk.decls: Removed Tk_IsViewable function (it was not
actually needed).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
before creating MessageBox and ChooseColor dialogs; this prevents
the application from locking when the parent is withdrawn and the
message box is created. In these cases, the window will be
created without a parent.
* unix/mkLinks: Added WinViewable.3.
* tests/msgbox.test: Added tests for patch from [Bug: 4997].
* library/msgbox.tcl:
* library/dialog.tcl: Applied patch from [Bug: 4997]; detaches
dialog window from parent if parent is not viewable.
* library/bgerror.tcl: Removed workaround from [Bug: 4370]; this
is superceeded by patches to dialog.tcl.
* generic/tkCmds.c: Changed WinfoObjCmd to use Tk_IsViewable
function to determine visibility of windows instead of inlining
the code.
* generic/tkStubInit.c:
* generic/tkDecls.h:
* generic/tk.decls: Added Tk_IsViewable declaration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkBind.c:
* generic/tkInt.decls:
* generic/tkIntDecls.h:
* generic/tkStubInit.c:
* mac/tkMacKeyboard.c:
* unix/tkUnixKey.c:
* win/tkWinKey.c: Fix for keyboard handling of "dead" keys and
caps lock from Peter Spjuth.
Split functions into platform specific files:
Static functions GetKeySym(), SetKeycodeAndState() and InitKeymapInfo()
from tkBind.c moved into platform files tkWinKey.c tkUnixKey.c and
tkMacKeyboard.c. GetKeySym() and SetKeycodeAndState() renamed to
Tkp* and made public (as private functions) in tkInt.decls.
Step 2, fixes in tkWinKey.c
New static function: KeycodeToKeysym(), based on XKeycodeToKeysym()
but with different arguments, and a lot of improvements.
TkpGetString() changed to use KeycodeToKeysym() + other fixes.
TkpGetKeySym() changed to use KeycodeToKeysym() + other fixes.
InitKeymapInfo() changed to use KeycodeToKeysym().
TkpSetKeycodeAndState() rewritten, mostly by copying code from
XKeysymToKeycode().
XKeycodeToKeysym() rewritten. Preferably it should be removed.
EXPLANATION: The main problem is ToAscii() which has a lot of side
effects, and also that XKeycodeToKeysym() is not provided enough
input to do a proper job. The changes' main goal is to avoid
calling ToAscii() if not necessary, and to provide it with as
correct information as possible when called. Also some attempts
to clean up what ToAscii() did are done. See the code for details.
BUGS FIXED: Typing shifted (and AltGr) dead keys did not work.
Keyboard lock lamps did not work on Win98.
Events regarding AltGr-keys behaved badly.
Example: On a Swedish keyboard, $ is typed with AltGr-4.
That keyboard event would get the keysym '4' not 'dollar'.
Also, doing [event generete . <Key-dollar>] would send keysym '4'.
Translation to ascii in TkpGetString did not handle return and
tab correctly. I.e. [event generate . <Key-Return>] gave wrong %A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tk.decls:
* generic/tk.h: moved new public functions created in dash patch
to the stubs interface [Bug: 4062]
* generic/tk.h:
* doc/CrtImgType.3:
* doc/CrtPhImgFmt.3:
* generic/tk.h:
* generic/tkImgGIF.c:
* generic/tkImgPhoto.c:
* generic/tkStubImg.c (new file):
* generic/tkTest.c:
* unix/Makefile.in:
* win/Makefile.in:
* win/makefile.vc: improved support for moving from the old style
image C API to the new obj'ified one with new Tk_InitImageArgs
command and stub'ing of image code. See docs for how to make the
transition. [Bug: 4060]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkDecls.h:
* generic/tkIntXlibDecls.h:
* generic/tkInt.decls: added XSetDashes and XWarpPointer
* generic/tk.decls: added Tk_CreateSmoothMethod, and reserved
two spots
* generic/tk.h: added Tk_SmoothMethod struct,
state item to canvas record, #defines for item state,
support for using old char*-based canvas item C creation
procedures with -DUSE_OLD_CANVAS,
Tk_Dash, Tk_TSOffset (-offsets) & Tk_Outline structs and #defs,
decls for dash, outline and postscript routines
* generic/tkBind.c: added support for Quadruple clicks, and added
the -warp option to 'event' with pointer warping routines
* xlib/xgc.c:
* generic/tkRectOval.c:
* generic/tkCanvArc.c:
* generic/tkCanvBmap.c:
* generic/tkCanvImg.c:
* generic/tkCanvLine.c:
* generic/tkCanvPoly.c:
* generic/tkCanvPs.c:
* generic/tkCanvText.c:
* generic/tkCanvUtil.c:
* generic/tkCanvWind.c:
* generic/tkCanvas.c:
* generic/tkCanvas.h: Canvas and items received overhaul to with
the addition of the dash patch (Nijtmans, et al) This includes
objectification of the 'canvas' command, as well as support for
(where appropriate) dashes in items, extended stipple support,
state for all items, and postscript generation of images and
windows. See the new canvas man page for related docs.
* generic/tkEntry.c: added entry widget validation, see entry.n
* generic/tkEvent.c: on simulated events, ButtonPress should
be matched with ButtonRelease to be correct
* generic/tkFont.c: corrected possible null reference
* generic/tkFrame.c: made frame a Tcl_Obj based command
* generic/tkGet.c: added TkGetDoublePixels
* generic/tkImage.c: bug fixes from Img patch and new
Tk_PostscriptImage and Tk_SetTSOrigin functions
* generic/tkImgBmap.c: new ImgBmapPostscript function
* generic/tkImgPhoto.c: new Tk_CreatePhotoOption, Tk_DitherPhoto
* generic/tkInt.h: declarations for some new functions
* generic/tkMessage.c: reworked relief drawing
* generic/tkOldConfig.c: added TK_CONFIG_OBJS so old style
ConfigureWidget calls can pass in Tcl_Obj arrays
* generic/tkScrollbar.c:
* generic/tkScrollbar.h: made -orient use an option table
* generic/tkText.c:
* generic/tkText.h: made -wrap and -state use option tables
* generic/tkTextBTree.c:
* generic/tkTextDisp.c:
* generic/tkTextImage.c:
* generic/tkTextMark.c:
* generic/tkTextTag.c:
* generic/tkTextWind.c: added support for -elide and -state hidden
* generic/tkTrig.c: changed TkMakeBezierCurve to support returning
the upper limit of points needed for spline
* generic/tkUtil.c: new option table parsing routines
* generic/tkWindow.c: init'ing of warp stuff, mouseButtonState
|
|
|
|
|
|
| |
function public. Add an interp argument and init the Tcl stubs.
Rename TkConsoleInit() to Tk_CreateConsoleWindow()
Remove TkConsoleCreate() (no underbar)
|
| |
|
|
|