summaryrefslogtreecommitdiffstats
path: root/generic/tkCanvas.c
Commit message (Collapse)AuthorAgeFilesLines
* Avoid const jiggling by using Tcl_SetObjResultpatthoyts2008-10-181-2/+3
|
* Add "const" to many internalnijtmans2008-10-171-5/+5
| | | | | | | | const tables, so those will be put by the C-compiler in the TEXT segment in stead of the DATA segment. This makes those table sharable in shared libraries.
* Correct error result generation of [$canvas select clear $bogus].dkf2008-10-111-2/+2
|
* Implemented TIP #236 from patch by Neil McKay.dkf2008-09-301-158/+228
|
* fix [2021443] inconsistant "wrong # args" messages (for Tk)nijtmans2008-07-231-8/+8
|
* fix constness warningsdas2008-05-031-4/+4
|
* Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-75/+77
|
* * generic/tkCanvas.c: Fix logic that determines when canvas itemdgp2008-04-171-4/+5
| | | | <Enter> event should fire. Thanks to Sebastian Wangnick. [Bug 1327482]
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* * generic/tkArgv.c: Fix gcc warnings about 'cast to/fromdas2007-10-151-5/+6
| | | | | | | | | | | | | | | | | | | * generic/tkCanvUtil.c: pointer from/to integer of different * generic/tkCanvas.c: size' on 64-bit platforms by casting * generic/tkCursor.c: to intermediate types * generic/tkInt.h: intptr_t/uintptr_t via new PTR2INT(), * generic/tkListbox.c: INT2PTR(), PTR2UINT() and UINT2PTR() * generic/tkObj.c: macros. * generic/tkStyle.c: * generic/tkTextIndex.c: * generic/tkUtil.c: * generic/ttk/ttkTheme.h: * generic/ttk/ttkTreeview.c: * unix/tkUnixMenu.c: * unix/configure.in: * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59
* header cleanupdgp2007-09-071-2/+1
|
* * generic/tkCanvas.c: allow -selectforeground option to be None; adddas2007-04-231-8/+25
| | | | | | | | | | | | | | | | * generic/tkCanvText.c: fallback to fgColor when selFgColor is None * generic/tkEntry.c: (new default on aqua to match native L&F). * generic/tkListbox.c: * generic/tkText.c: * generic/tkCanvas.c: add support for bypassing all of Tk's double * generic/tkEntry.c: buffered drawing into intermediate pixmaps * generic/tkFrame.c: (via TK_NO_DOUBLE_BUFFERING #define), it is * generic/tkListbox.c: unnecessary & wasteful on aqua where all * generic/tkPanedWindow.c: drawing is already double-buffered by the * generic/tkTextDisp.c: window server. (Use of this on other * generic/ttk/ttkWidget.c: platforms would only require implementation * unix/tkUnixScale.c: of TkpClipDrawableToRect()).
* Add in cast for boneheadedness in VC's handling of const qualifiersdkf2007-04-171-4/+5
|
* Eliminate use of (VOID*) casts when calling memset or memcpy.dkf2007-04-171-3/+2
|
* * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Lots of ANSIfying of function decls.dkf2005-11-171-11/+11
| | | | Also a few spots where code has been cleaned up more completely.
* ANSIfydkf2005-11-041-219/+212
|
* Formatting Systematizationdkf2005-08-181-797/+782
|
* Getting more systematic about styledkf2005-08-101-4/+4
| | | | | Also start removing _ANSI_ARGS_; the core's required ANSI C for a while now Also fix [Bug 1252702]; size_t doesn't mix with Tcl_GetStringFromObj
* silence compiler warningdgp2005-06-011-2/+2
|
* Fix silly mistake. :^}dkf2005-02-071-4/+4
|
* D'ohdkf2005-02-031-2/+2
|
* Ensure that the canvas's static data is either protected by a mutex ordkf2005-02-031-56/+121
| | | | in a thread-local variable. [Bug 1114977]
* More minor whitespace cleaningdkf2004-06-151-44/+54
|
* D'oh!dkf2004-06-151-2/+2
|
* Adjust #defs so they are flexible enough to be used in all places. dkf2004-06-151-84/+85
| | | | Also removed a shadowing variable.
* Add declarations of result... D'oh!dkf2004-06-151-2/+3
|
* Balance braces, factorize out much #ifdef code and use objects a bit moredkf2004-06-151-238/+65
|
* Spacing/whitespace fixesdkf2004-06-151-779/+770
|
* Small clean up of the canvas core (symbolic constants, whitespace)dkf2004-06-151-26/+37
|
* TIP 155 implementationvincentdarley2003-10-311-3/+3
|
* Private functions should be either static or prefixed with 'Tk' (thanks GPS!)dkf2003-09-291-10/+10
|
* tip 113 implementationvincentdarley2003-05-191-3/+3
|
* * generic/tkCanvArc.c (CreateArc): Rework canvas create itemhobbs2003-02-091-212/+220
| | | | | | | | | | | | | | * generic/tkCanvBmap.c (CreateBitmap): type coords handling to be * generic/tkCanvImg.c (CreateImage): consistent across types * generic/tkCanvPoly.c (CreatePolygon): and not pass empty coords * generic/tkCanvLine.c (CreateLine): to item creation procs. * generic/tkCanvText.c (CreateText): * generic/tkCanvWind.c (CreateWinItem): * generic/tkCanvas.c (CanvasWidgetCmd CANV_CREATE): * generic/tkRectOval.c (CreateRectOval): * tests/canvRect.test: * tests/canvText.test: * tests/canvas.test:
* Applied companion patch for Tcl Patch 585105,dgp2002-08-051-14/+15
| | | | | | | | | | | | | | | | | | | | | 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)
* * tests/canvas.test: added canvas-14.[1-6]hobbs2002-07-241-18/+16
| | | | | | | * generic/tkCanvas.c (CanvasWidgetCmd): corrected handling of 'scan' subcommand args. Also removed early return cases to goto done instead where the canvasPtr would be Tcl_Release'd. This may solve other problems with unreleased canvasPtr's. [Bug #581560]
* * Updated callers of Tcl_SplitList and Tcl_Merge.dgp2002-01-251-27/+30
| | | | | | | | | * 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.
* * Updates to handle change in type of tablePtrdgp2002-01-171-5/+5
| | | | | argument of Tcl_GetIndexFromObj(Struct) from (char **) to (CONST char **). [TIP 27] [Patch 504705]
* * tests/canvas.test: test of canvas delete during eventhobbs2001-04-031-18/+19
| | | | | * generic/tkCanvas.c (DestroyCanvas, CanvasEventProc): fixed the canvas to survive deletion during event processing. [Bug #228024]
* Overall change: Implemented TIP 5, which exportsericm2000-11-221-6/+5
| | | | | | | | | 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.
* * generic/tkCanvas.c (CanvasEventProc:2451): corrected casthobbs2000-04-141-2/+2
| | | | | | | | | | | | | * generic/tkEntry.c (Tk_EntryObjCmd): adjusted finishing error cases and changed TK_CONFIG_NULL_OK to TK_OPTION_NULL_OK * tests/scale.test: * generic/tkScale.c: * generic/tkScale.h: * unix/tkUnixScale.c: * mac/tkMacScale.c: moved (PixelToValue|ValueToPixel|SetScaleValue) to tkScale.c. Caused an associated variable to be immediately set [Bug: 4833]
* * generic/tkCanvas.c: Applied patch from [Bug: 4202]; adds a checkericm2000-04-131-10/+18
| | | | for NULL tkwin in Tk_CanvasEventuallyRedraw.
* * library/tkfbox.tcl: Moved an overlooked tkFDialog* function inscriptics_sc_2_0_fixedscriptics_sc_2_0_b5ericm2000-03-291-13/+1
| | | | | | | | | | | | | | ::tk::dialog::file namespace. * tests/unixWm.test: Added tests for memory leak conditions in tkUnixWm.c. * tests/canvas.test: Added test for bad configuration options on empty and non-empty canvas. * generic/tkCanvas.c: Removed bad code in CANV_CONFIGURE block of CanvasWidgetCmd; this was causing non-empty canvases to improperly handle bad configuration options [Bug: 4456].
* * generic/tkCanvas.c: fixed mem leak with TagSearchExprInithobbs2000-01-121-70/+58
| | | | | | | | | | | | | | | [Bug: 3977] * generic/tkStubInit.c: * generic/tkDecls.h: remove non-existent Tk_(Get|Create)CanvasVisitor prototypes * generic/tkText.c: * generic/tkEntry.c: fixed cursor to not blink when widget was disabled [Bug: 1807] * generic/tkRectOval.c: added note about change to bloat for RectOval bounds calculation for WIN32 only
* fix for mac happinesshobbs1999-12-221-8/+10
|
* * generic/tkStubInit.c:hobbs1999-12-141-462/+2325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 1999-09-01 Jeff Hobbs <hobbs@scriptics.com>hobbs1999-09-021-9/+8
| | | | | | | | | | * win/tkWinDraw.c: * unix/tkUnixDraw.c: fixed header style for TkpDrawHighlightBorder * generic/tkCanvas.c: fixed GC error (bg <> fg) in tkCanvas.c (from code added to support TkpDrawHighlightBorder) [Bug: 2676] * unix/aclocal.m4: added -bnoentry to the AIX-* flags * generic/tkCursor.c: fixed equality error in GetCursorFromObj [Bug: 2562]
* New Function: TkpDrawHighlightBorder. Use this in place of ↵jingham1999-08-101-7/+10
| | | | Tk_DrawFocusHighlight. The latter did not work on the Mac, since you need to know both foreground & background color when you draw the active focus ring.
* Merged 8-1-0 into mainline.rjohnson1999-04-211-1/+1
|
* Fixed bug 1840rjohnson1999-04-171-4/+6
|