summaryrefslogtreecommitdiffstats
path: root/generic/tkImgPhoto.c
Commit message (Collapse)AuthorAgeFilesLines
* merge stable branch onto HEADdgp2007-12-131-1/+1
|
* Improve Tk_PhotoPutBlock a bit more. Derived from [Patch 224066]dkf2007-10-311-25/+53
|
* Rename enumermation for somewhat simpler-to-read code. [Bug 1677613]dkf2007-10-301-3/+3
|
* header cleanupdgp2007-09-071-2/+1
|
* fix compile errors & warnings introduced by dkf's cleanupdas2007-06-251-2/+2
|
* Cleaning up whitespace, comments, declarations. No functional changes.dkf2007-06-241-169/+132
|
* * generic/tkImgPhoto.c (ImgPhotoConfigureInstance, DisposeInstance):das2007-06-231-19/+12
| | | | | | | | use XDestroyImage instead of XFree to destroy XImage; replace runtime endianness determination by compile-time check for WORDS_BIGENDIAN. * xlib/ximage.c (XCreateBitmapFromData): use XCreateImage and XDestroyImage instead of creating XImage structure manually.
* [Tk Bug 1712081]dgp2007-05-141-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Many minute fixes to reduce number of minor warnings from GCC.dkf2007-01-111-3/+4
|
* various "const" additions in implementationnijtmans2007-01-031-2/+2
|
* Various small syntactic simplifications of ImgPhotoGet()dkf2007-01-021-52/+49
|
* * generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock):hobbs2006-05-131-19/+29
| | | | | Fix opt added 2006-03 that caused slowdown for some common cases. [Bug 1409140]
* missing MODULE_SCOPE declarations and obsolete exports discovered by 'make ↵das2006-03-161-1/+5
| | | | checkstubs'
* D'oh!dkf2006-03-161-1/+2
|
* Hack to make photo-to-photo copies cheaper in the common case of no alphadkf2006-03-161-4/+25
|
* Squelch [Bug 1409140] by special-case-ing the single-pixel put case.dkf2006-03-151-34/+69
| | | | Also take better advantage of C's casting rules w.r.t. void* and other pointers
* * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* ANSIfy and reduce casting of NULL to promote readabilitydkf2005-11-171-306/+290
|
* Added missing FF charsdkf2005-09-061-4/+4
|
* more errors found by the compilerdgp2005-08-111-13/+10
|
* Getting more systematic about styledkf2005-08-101-1069/+1087
| | | | | 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
* Doc fix [Bug 110553]dkf2005-01-311-8/+4
|
* Speed up use of Tk_PhotoPutBlock by allowing it to skip the complex-alpha checkdkf2004-12-091-3/+7
| | | | in degenerate (and common) cases. [Bug 1081966]
* Alpha blending fix. [Patch 848161]dkf2004-12-031-22/+35
|
* * unix/tkUnixButton.c (TkpDisplayButton): constrain coords tohobbs2004-12-021-1/+10
| | | | | | Tk_RedrawImage to display only portion that is valid. * generic/tkImgPhoto.c (ImgPhotoDisplay): add X error suppression around XGetImage to prevent app abort. [Bug 979239]
* * win/tkWinRegion.c (TkpBuildRegionFromAlphaData): Fixed syntax errorpatthoyts2004-10-261-2/+1
| | | | * generic/tkImgPhoto.c (Tk_PhotoPutBlock): Removed unreferences vars.
* Attempt to fix [Bug 919066] by allowing the code that creates the regiondkf2004-10-261-29/+11
| | | | much more knowledge of the platform functions available to it.
* D'oh!dkf2004-08-041-3/+3
|
* Clarify code that does pixel compositing. Fix alpha blending in [$photo put]...dkf2004-08-041-68/+110
|
* * generic/tkImgPhoto.c (ImgPhotoConfigureMaster): force -data intohobbs2004-05-031-5/+13
| | | | | ByteArray and -format into String to correctly handle them if they have been shimmered or created as some other object type.
* * generic/tkImgPhoto.c: Removed outdated #include's of the tclMath.hdgp2004-03-311-2/+1
| | | | | | * generic/tkScale.c: header file. All tk*Port.h files have long had a #include <math.h>, and other parts of Tk routinely make use of libm-supplied math routines.
* Allow old-style image formats to create string representations of photos,dkf2004-03-261-6/+40
| | | | and allow the production of PPM format data in a string. [Bug 923555]
* Stop crashes when copying a large photo to itself causes resizing. [Bug 877950]dkf2004-02-091-1/+7
|
* * generic/tk3d.c: All uses of 'panic' (the macro) changeddavygrvy2004-01-131-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* * generic/tkImgPhoto.c (ImgPhotoBlendComplexAlpha): OS X useshobbs2003-10-311-2/+2
| | | | 32bpp images internally always, so make use of the assumption.
* * generic/tkImgPhoto.c (ImgPhotoBlendComplexAlpha): add alphahobbs2003-10-311-16/+251
| | | | | blending for images with partial transparency. Only operates for 15bpp+ display. [Bug 809157]
* Faster color data parsing code for the [$photo put] subcommand.dkf2003-08-151-21/+52
|
* Try harder to avoid zero-length malloc()s... [Bug 404421]dkf2003-07-171-25/+38
|
* Rearranged code in ImgPhotoCmd to not use confusing fallthroughs in switches.dkf2003-07-171-28/+19
| | | | | [Bug 771988] Also TAB Police in Changelog...
* TIP#116 implementation. Docs still to come, tests will never be done becausedkf2003-03-061-32/+140
| | | | | they could never be done portably as they'd inevitably depend on the total amount of memory available to the process... :^(
* * tests/imgPhoto.test:hobbs2002-10-181-7/+15
| | | | | * generic/tkImgPhoto.c (ImgPhotoConfigureMaster): fix arg handling for missing -format or -data options. [Bug #624974]
* * generic/tkImgPhoto.c (ImgPhotoSetSize): Only error-out if wedkf2002-10-091-40/+48
| | | | | | | | | fail to allocate a non-empty buffer; getting a NULL when we allocate an empty buffer is no problem since nothing will look at the value anyway. [Bug 619544] Also tidied up file to take into account the fact that we're using 32 bits per pixel in the master to accommodate the alpha channel as well as RGB.
* Applied companion patch for Tcl Patch 585105,dgp2002-08-051-7/+7
| | | | | | | | | | | | | | | | | | | | | 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/visual_vv.test: Removed some dependence on [exec]ed utilitiesdkf2002-07-111-41/+129
| | | | | | generic/tkImgPhoto.c: Allowed photo image buffer allocation to fail more tests/imgPhoto.test: gracefully in some cicumstances. The remaining ones require API changes before they can fail nicely.
* Changed some _Old and _OLD to more descriptive terms.dkf2002-06-141-6/+6
|
* TIP#98 implementation; improved photo image copy and GIF frame accessdkf2002-06-141-187/+345
|
* * generic/tkImgPhoto.c: Added PhotoFormatThreadExitProc to cleanhobbs2002-04-121-116/+171
| | | | up on thread exit. (Tk_PhotoPutBlock) slight code updates
* Minor fixes as part of TIP#72 (and one just noticed in passing)dkf2002-02-191-4/+4
|
* Final part of TIP#14 support (photo image transparency access); the C APIdkf2002-02-011-112/+251
| | | | stuff has been in there for ages for some reason...
* * Updated callers of Tcl_SplitList and Tcl_Merge.dgp2002-01-251-3/+3
| | | | | | | | | * 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.