summaryrefslogtreecommitdiffstats
path: root/win/tkWinDraw.c
Commit message (Collapse)AuthorAgeFilesLines
* Rendering of all join styles is now correct on Windows when the first and ↵bug_2874226fvogel2017-08-171-22/+50
| | | | last point of a polygon or polyline are the same, for both stippled and non stippled lines (and polygon outlines)
* Fix [2874226]: polygon doesn't honor -joinstyle on Windows and OS X. This ↵fvogel2017-08-161-1/+19
| | | | second fix deals with the Windows case only, when drawing non-stippled lines.
* (micro-) optimize a few Win32 drawing functions, and make them work when ↵jan.nijtmans2016-11-081-33/+38
|\ | | | | | | npoints=0
* | Add another few Xlib stubs for Win32. Cherry-picked from ↵jan.nijtmans2016-11-071-4/+85
| | | | | | | | [http://www.androwish.org/index.html/info/862eb620a096fddc|AndroWish]. Thanks to Christian Werner.
* | Change XChangeWindowAttributes signature and many others to match Xorg, ↵jan.nijtmans2012-06-081-19/+27
|\ \ | |/ | | | | needed for Cygwin
| * Change XChangeWindowAttributes signature and many others to match Xorg, ↵jan.nijtmans2012-06-071-13/+18
| |\ | | | | | | | | | needed for Cygwin
| | * merge core-8-4-branchbug_3508771jan.nijtmans2012-06-051-42/+43
| | |\
| | * \ merge core-8-4-branchjan.nijtmans2012-05-291-2/+2
| | |\ \
| | * | | change signature of all X11 functions to match those of CYGWINjan.nijtmans2012-05-021-17/+24
| | | | |
| * | | | Change XSetDashes signature and many others to match Xorg, needed for Cygwinjan.nijtmans2012-06-051-6/+9
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Change XSetDashes signature and many others to match Xorg, needed for Cygwin. jan.nijtmans2012-06-011-34/+35
| | | |/ | | |/| | | | | Add .PHONY targets, and various quoting issues (Makefile.in)
| | * | Change XFillRectangle(s)/XDrawLines(s) signature to match Xorg, needed for ↵jan.nijtmans2012-05-291-4/+6
| | |/ | | | | | | | | | | | | Cygwin. Generate same pkgIndex.tcl file for win32 and cygwin, one that is equally useable for both.
* | | some more cygwin compatibility improvementsjan.nijtmans2012-04-061-5/+6
|\ \ \ | |/ / | | | format tk.decls
| * | some more cygwin compatibility improvementsjan.nijtmans2012-04-061-5/+6
| |\ \ | | |/ | | | format tk.decls like tcl8.5/8.6
| | * some more cygwin compatibility improvementsjan.nijtmans2012-04-061-5/+6
| | |
| * | [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-161-1/+1
| |\ \ | | |/
| | * [Bug 3388350] mingw64 compiler warningsjan.nijtmans2011-08-161-1/+1
| | |
* | | Purge RCS Keywordsdgp2011-06-081-2/+0
|\ \ \ | |/ /
| * | Purge RCS Keywords.dgp2011-06-081-2/+0
| |\ \ | | |/
| | * Purge RCS Keywords.dgp2011-06-081-2/+0
| | |
| | * * win/tkWinDraw.c: Applied [Patch 1723362] for transparent bitmaps.hobbs2007-12-051-3/+6
| | |
| | * * generic/tkFrame.c (DisplayFrame):hobbs2005-07-281-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tkInt.decls: add TkpDrawFrame to allow for * generic/tkIntDecls.h: platform-specific drawing into the frame/ * generic/tkStubInit.c: toplevel area. Currently only differs on * generic/tkFrame.c: OS X (Aqua), which will draw a themed bg * win/tkWinDraw.c: if tk::mac::useThemedToplevel == 1. * unix/tkUnixDraw.c: Normal frames left alone until we can * mac/tkMacDraw.c: better factor out frame drawing to be * macosx/tkMacDraw.c: widget-specific.
| | * * win/tkWinDraw.c (XFillRectangles): correctly handle thehobbs2003-11-111-6/+25
| | | | | | | | | | | | | | | XGCValues.function parameter when filling rectangles. [Bug #820278] [Patch #820282]
* | | Remove casts from uses of ckalloc/ckfree/... now that Tcl declares them to bedkf2011-03-121-5/+5
| | | | | | | | | using useful casts internally.
* | | Revise Tcl_Panic() calls ending with a newline removing the newline, because ↵nijtmans2010-11-191-2/+2
| | | | | | | | | | | | Tcl_Panic() outputs a final newline already
* | | eliminate various gcc and msvc compiler warningsnijtmans2009-08-021-2/+2
| | |
* | | Fixed up complaints from MSVC engendered by the last commit. In particular ↵patthoyts2008-11-221-2/+1
| | | | | | | | | | | | replaced round() which is a C99 function.
* | | Lots of small changes to make code more pretty and C89-like.dkf2008-11-081-6/+4
| | |
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-2/+2
|/ /
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | Applied patch from #1723362 for transparent bitmapspatthoyts2007-10-241-1/+3
| |
* | Many minute fixes to reduce number of minor warnings from GCC.dkf2007-01-111-24/+29
| |
* | More fixes (mostly getting rid of excess spaces)dkf2005-12-021-2/+2
| |
* | ANSIficationdkf2005-12-021-269/+264
| |
* | * macosx/tkMacOSXCarbonEvents.c (AppEventHandlerProc): handle carbondas2005-08-091-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | events sent directly to application event target via the general TkMacOSXProcessEvent() in the same way as events posted to the event loop. Moved existing app event handlers to tkMacOSXWindowEvent.c. (TkMacOSXInitCarbonEvents): register our application event handler for kEventWindowExpanded events to deal with uncollapsing from the dock. * macosx/tkMacOSXEvent.h: made TkMacOSXProcessEvent() non-static, added * macosx/tkMacOSXEvent.c: new interp field to TkMacOSXEvent struct for use by app event handler. * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): retrieve current window, partCode, modifiers and local cursor position from carbon mouse event if possible. Use new static GenerateButtonEvent() taking a MouseEventData struct instead of TkGenerateButtonEvent() to avoid recomputing already known values. Move process activation on MouseDown into BringWindowForward() to allow clicking on window titlebar widgets without activating process. Move code dealing with clicks in window titelbar into separate function HandleWindowTitlebarMouseDown() to avoid code duplication. Avoid repeated calls to TkMacOSXGetXWindow() by storing result in MouseEventData struct. (TkMacOSXButtonKeyState, XQueryPointer): try to get button and modifier state from currently processed carbon event (to avoid unnecessary IPC with the window server), otherwise use modern carbon API to get this info instead of Button() and GetKeys(); only retrieve info caller asks for (via non-NULL ptr passed to XQueryPointer). (ButtonModifiers2State): new static function converting carbon button and modifier state into tk state, allows detection of more than 3 mouse buttons (tk supports up to 5) and of NumLock and Fn modifier keys (NumLock is mapped to Mod3 and Fn to Mod4). * macosx/tkMacOSXWindowEvent.c (TkMacOSXProcessApplicationEvent): handle kEventWindowExpanded event to deal with window uncollapsing from the dock by generating tk Map event, handle kEventAppHidden and kEventAppShown events (moved here from tkMacOSXCarbonEvents.c). * macosx/tkMacOSXSubwindows.c (XUnmapWindow): only hide window when it is not iconified to avoid window flashing on collapse. * macosx/tkMacOSXWm.c: replaced Tk_DoWhenIdle() by Tcl_DoWhenIdle(). (TkMacOSXZoomToplevel): remove call to TrackBox(), now done in HandleWindowTitlebarMouseDown() in tkMacOSXMouseEvent.c. (TkpWmSetState): avoid window flashing on collapse by unmapping after calling CollapseWindow(); only uncollapse window if it is collapsed. * generic/tkInt.decls: changed TkMacOSXZoomToplevel() signature. * generic/tkIntPlatDecls.h: * macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only call GetMenuItemCommandID() on KeyDown or KeyRepeat events. * macosx/tkMacOSXMenu.c (ReconfigureMacintoshMenu): remove call to obsolete AppendResMenu() API. * macosx/tkMacOSXKeyEvent.c: replaced all direct uses of expensive * macosx/tkMacOSXMenu.c: GetMouse() and TkMacOSXButtonKeyState() * macosx/tkMacOSXMenus.c: APIs by calls to XQueryPointer() * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDialog.c: replaced use of FrontNonFloatingWindow() * macosx/tkMacOSXKeyEvent.c: by ActiveNonFloatingWindow() as * macosx/tkMacOSXMenu.c: recommended by Carbon docs. * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDialog.c: fixed warnings * macosx/tkMacOSXTest.c: * macosx/tkMacOSXCarbonEvents.c: added CVS Id line to file header. * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.h: * macosx/tkMacOSXInt.h: declare macosx internal procs as MODULE_SCOPE. * macosx/tkMacOSXCarbonEvents.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXHLEvents.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXWindowEvent.c * library/bgerror.tcl: sync with core-8-4-branch changes of 2005-07-28. * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXMouseEvent.c: * generic/tkFrame.c: sync with core-8-4-branch changes of 2005-07-27. * generic/tkIntDecls.h: * generic/tkStubInit.c: * generic/tkFrame.c: * win/tkWinDraw.c: * unix/tkUnixDraw.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXButton.c: sync with core-8-4-branch. * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXScale.c: * library/demos/menu.tcl: removed errant '}'.
* | * generic/tk3d.c: All uses of 'panic' (the macro) changeddavygrvy2004-01-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tkBind.c: to 'Tcl_Panic' (the function). The #define * generic/tkBitmap.c: of panic in tcl.h clearly states it is * generic/tkCanvArc.c: deprecated in the comments. * generic/tkCanvBmap.c: [Tcl Patch 865264] * generic/tkCanvImg.c: * generic/tkCanvLine.c: * generic/tkCanvPoly.c: * generic/tkCanvText.c: * generic/tkCanvWind.c: * generic/tkColor.c: * generic/tkConfig.c: * generic/tkCursor.c: * generic/tkError.c: * generic/tkEvent.c: * generic/tkFocus.c: * generic/tkFont.c: * generic/tkFrame.c: * generic/tkGC.c: * generic/tkGrid.c: * generic/tkImgBmap.c: * generic/tkImgPhoto.c: * generic/tkImgUtil.c: * generic/tkMenu.c: * generic/tkObj.c: * generic/tkPack.c: * generic/tkPlace.c: * generic/tkRectOval.c: * generic/tkSelect.c: * generic/tkText.c: * generic/tkTextBTree.c: * generic/tkTextDisp.c: * generic/tkTextImage.c: * generic/tkTextIndex.c: * generic/tkTextMark.c: * generic/tkTextWind.c: * generic/tkVisual.c: * generic/tkWindow.c: * mac/tkMacAppInit.c: * mac/tkMacAppearanceStubs.c: * mac/tkMacButton.c: * mac/tkMacDraw.c: * mac/tkMacEmbed.c: * mac/tkMacFont.c: * mac/tkMacInit.c: * mac/tkMacMenus.c: * mac/tkMacPort.h: * mac/tkMacSubwindows.c: * mac/tkMacWm.c: * mac/tkMacXStubs.c: * macosx/tkMacOSXEmbed.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXPort.h: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * unix/tkUnix3d.c: * unix/tkUnixColor.c: * unix/tkUnixEmbed.c: * unix/tkUnixEvent.c: * unix/tkUnixFocus.c: * unix/tkUnixFont.c: * unix/tkUnixSelect.c: * unix/tkUnixSend.c: * unix/tkUnixWm.c: * win/tkWin3d.c: * win/tkWinButton.c: * win/tkWinColor.c: * win/tkWinDialog.c: * win/tkWinDraw.c: * win/tkWinEmbed.c: * win/tkWinFont.c: * win/tkWinPixmap.c: * win/tkWinPointer.c: * win/tkWinScrlbr.c: * win/tkWinWm.c: * win/tkWinX.c:
* | * win/tkWinDraw.c (XFillRectangles): correctly handle thehobbs2003-11-111-6/+25
|/ | | | | XGCValues.function parameter when filling rectangles. [Bug #820278] [Patch #820282]
* * win/tkWinInt.h:hobbs2003-02-261-3/+3
| | | | | | * win/tkWinDraw.c: * win/tkWinFont.c (Tk_DrawChars): add support for simple XOR text drawing on Windows. [Patch #685388] (martin)
* Added panic in TkPutImage in case of failure to allocate bitmapchengyemao2001-12-071-2/+4
|
* Added panic to TkPutImage in case of failure to allocate bitmapchengyemao2001-12-071-1/+5
|
* * win/tkWinDraw.c (RenderObject): Applied patch from [Bug: 6368],ericm2000-10-241-8/+6
| | | | | | | | | | | which corrects rendering of 1-pixel wide stippled lines on Windows. * generic/tkCanvLine.c (DisplayLine): Applied patch from [Bug: 6368], corrects bugs relating to use of active- and disabledwidth values for displaying lines (disabledwidth was never used, and activewidth/disablewidths would only possibly be used when greater than default width, rather than when simply not equal to default width).
* * win/tkWinDialog.c: added unicode-aware open/save file dialogshobbs2000-03-311-32/+8
| | | | | | | | | | | | | | | | | | | | | | | * win/tkWinFont.c (TkpFontPkgInit): move private ref to platformId to TkWinGetPlatformId * win/tkWinMenu.c (SetDefaults): moved private use of versionInfo to TkWinGetPlatformId and removed all code for (versionInfo.dwMajorVersion < 4) (== Win32s) * win/tkWinX.c: * win/tkWin32Dll.c: moved TkWinGetPlatformId to tkWinX.c * win/tkWinInit.c: added TkWinXInit to TkpInit to ensure that its called for static Windows shells. [Bug: 3647] * win/tkWinInt.h: * win/tkWinX.c: * win/tkWinDraw.c (SetUpGraphicsPort): * win/tkWinScrlbr.c (UpdateScrollbar): removed use of tkpIsWin32s * win/tkWinInt.h (TkWinDCState struct): added bkmode value * win/tkWinDraw.c (TkWinGetDrawableDC, et al): added support for properly transparent dashed lines on Windows. [Bug: 4617]
* * win/tkWinDraw.c:hobbs1999-12-141-39/+94
| | | | | * win/tkWinPointer.c: added support for pointer warping and platform specific support for dash patch items
* * win/tkWinDraw.c:hobbs1999-09-021-10/+9
| | | | | | | * 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
* New Function: TkpDrawHighlightBorder. Use this in place of ↵jingham1999-08-101-1/+35
| | | | 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 branch into the main trunkstanton1999-04-161-28/+33
|
* integrated stubs into 8.0 main branchstanton1999-03-101-1/+3
|
* Replaced SCCS strings, fixed binary filesstanton1998-09-141-1/+1
|
* Initial revisionrjohnson1998-04-011-0/+1264