summaryrefslogtreecommitdiffstats
path: root/src/gui/image
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Fixing typoSergio Ahumada2010-11-092-2/+2
|
* Fixed tst_qwidget::testContentsPropagation auto-test failure.Samuel Rødal2010-11-091-3/+5
| | | | | | | | | | | Some auto-tests render into a QPixmap and check the result against QPixmap::grabWidget(). Change acc1a2bd5520369c made grabWidget() render into a QImage to be able to preserve background transparency. Instead, to avoid breaking various auto-tests, we can use a QPixmap and fill it with transparent if the widget's isOpaque flag is not set. Task-number: QTBUG-14945 Reviewed-by: Kim
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-11-051-2/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: More fix for QTBUG-14640:oci performance problem with qlonglong Doc: Fixing typo Fixed grabWidget sometimes returning uninitialized memory. Fix Malayalam Rendering - 'Ra' is PreBase Update .def files for QtGui and QtOpenVG Use 32bit textures for alpha textures after all. One more fix for dithering. Doc: Fixing typo Fix QTBUG-14640:oci performance problem with qlonglong 32bit => 16bit conversion has 4byte-aligned output. Fix gcc bug in qReallocAligned Prevented threading related crash in OpenGL module. Fix possible crash in QStaticText and QDeclarativeTextLayout Fix QTBUG-14132 oracle (xe) stored procedures with bind variables get errors
| * Fixed grabWidget sometimes returning uninitialized memory.Samuel Rødal2010-11-031-2/+3
| | | | | | | | | | | | | | | | | | Use a QImage initialized with transparent to prevent any translucent parts of the widget to end up as garbage, and to ensure that the resulting QPixmap ends up with an alpha format only when needed. Task-number: QTBUG-14945 Reviewed-by: Kim
* | Prevent excessive seeks in xbm detectionHarald Fernengel2010-11-041-8/+17
|/ | | | | | | | | When auto-detecting an image type, the xbm handler would read the entire file just to figure out that it's not an xbm. This patch limits the read to maximum 4k and also breaks if line length >= 299. Task-number: QT-4021 Reviewed-by: Robert Griebl
* Major refactoring: creating a new QPixmapData subclass for live textures.Michael Dominic K2010-10-211-1/+1
| | | | | | | Moving code from qmeegopixmapdata there. Merge-request: 2494 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-10-121-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (49 commits) Assistant: Insert all keywords with empty ids, as ids are not mendatory. qmake: delete .pdb file when making 'distclean' instead of 'clean' qmake: pass include directories to MS resource compiler use specified pkg-config qmake/symbian: Add icons with backslashes in pkg files Make qtconfig help messages translatable remove exec bits again ... Add TIFFClose to QTIffHandler::option() to avoid memory leak [QCocoaView scrollWheel:] can end up recursing infinitely when a scrollWheel event is sent to two stacked MDI windows Added missing QtWebKit example files and some whitespace fixes. Added missing native separator transforms. Doc: tuning search reasult box qdoc: Don't generate html output for png files. Doc: Correcting Windows CE 6.0 to Windows Embedded CE 6.0 Doc: correcting bug - lenght() pointed to setLength() in "See also" section. Correct link is resize() Doc: correct spelling Doc: correcting spelling - qdbusxml2dcpp to qdbusxml2cpp Doc: correcting grammar on the installation pages Doc: correcting broken link to labs Doc: adding note to function QWSKeyboardHandler::processKeycode - that it was added in Qt 4.6 ...
| * Add TIFFClose to QTIffHandler::option() to avoid memory leakTopi Reiniö2010-10-111-0/+1
| | | | | | | | | | Task-number: QTBUG-14261 Reviewed-by: aavit
* | Fix for CFbsBitmap to QPixmap conversion.Jani Hautakangas2010-10-121-1/+2
|/ | | | | | | | | | Symbian bitmap formats may have different scanline length when compared to QImage formats. We need to define scanline length for intermediate QImage when converting from CFbsBitmap to QPixmap. Task-number: QTBUG-14218 Reviewed-by: Jason Barron
* Avoid in-place convertion of images with multiple referencesBenjamin Poulain2010-10-081-0/+4
| | | | | | | | | | | | | | | | The decoding from image reader was assuming the image reader do not keep the image internally. This is not true for the GIF plugins because the previous image can be used to compose the current image. This was causing crash on ARM because the 16 bits color depth causes the image memory to be reduce by half. When the plugin was accessing the memory, it assumes the images has not changed and is on 32 bits. This patch disable the in-place conversion if a detach is required. Regular conversion is the correct solution in this case, and it can also be made faster by converting while copying. Reviewed-by: Andreas Kling
* Live texture updates to meegographicssystem plugin.Michael Dominic K2010-10-071-0/+1
| | | | | Merge-request: 848 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fixed potential crash when loading corrupt GIFs.Kim Motoyoshi Kalland2010-09-281-2/+11
| | | | | Task-number: QTBUG-13774 Reviewed-by: aavit
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.7aavit2010-09-272-14/+32
|\
| * Compile on Symbian - rework the X11 mask patch a bit.Trond Kjernåsen2010-09-235-20/+17
| | | | | | | | | | | | | | | | Avoid adding a virtual QPixmapData::hasMask() function, we can do without it. Made QPixmap::hasAlpha() fast, so we can use that instead. Reviewed-by: Samuel
| * Fixed QPixmap::resize() for X11 pixmap with masks.Trond Kjernåsen2010-09-231-9/+14
| | | | | | | | | | | | | | Regression from 4.6. Made the tst_QPixmap::resizePreserveMask() test fail. Reviewed-by: Samuel
| * Fixed drawing of QPixmaps with masks in the GL 2 and X11 engines.Trond Kjernåsen2010-09-224-1/+17
| | | | | | | | | | | | | | | | | | | | | | A regression from 4.6.x. This is an X11-only problem caused by the separate masks that an X11 QPixmap can contain. These masks we're not taken into account when a number optimizations were done for 4.7. Introduction of the texture-from-pixmap extension in 4.6 also broke masked pixmaps under X11. Task-number: QTBUG-13814 Reviewed-by: Samuel
* | Avoid creating copy of an image in memory when storing as pngaavit2010-09-271-47/+45
| | | | | | | | | | Task-number: QT-3871 Reviewed-by: Kim
* | Optimization of pixel conversion when storing jpegaavit2010-09-241-13/+19
|/ | | | Reviewed-by: Kim
* Avoid creating copy of an image in memory when storing as jpegaavit2010-09-211-28/+13
| | | | | Task-number: QT-3871 Reviewed-by: Kim
* Fixed infinite loop when loading jpeg without EOI from memory.Kim Motoyoshi Kalland2010-09-201-11/+8
| | | | | Task-number: QTBUG-13653 Reviewed-by: aavit
* Give a warning in QPixmap::handle() if pixmap is not X11 class.Samuel Rødal2010-09-201-2/+6
| | | | Reviewed-by: Markus Goetz
* Fixed memory corruption issue in qt_blurImage for Indexed8 images.Samuel Rødal2010-09-171-4/+11
| | | | | | | If transposed was set to 0 we did not check the color depth of the image and ended up with a buffer overflow. Reviewed-by: Jens Bache-Wiig
* Merge branch '4.7-upstream' into 4.7-docA-Team2010-09-161-1/+1
|\
| * Fixed regression in QPixmap::size() for null pixmaps.Samuel Rødal2010-09-161-1/+1
| | | | | | | | | | | | | | | | | | After change 79eef278228aac21fbf QPixmap::size() started returning QSize(-1, -1) for null pixmaps. This restores the old behavior of returning QSize(0, 0), and is symmetric with QImage::size(). Task-number: QT-3934 Reviewed-by: Trond
* | Merge branch '4.7-upstream' into 4.7-docA-Team2010-09-091-5/+0
|\ \ | |/
| * Remove unnecessary function declarations from qpixmap_s60_p.hJani Hautakangas2010-09-071-5/+0
| | | | | | | | Reviewed-by: TRUSTME
* | Merge branch '4.7-oslo1' into 4.7-docA-Team2010-09-072-8/+10
|\ \ | |/
| * Remove unused variableThomas Zander2010-09-071-1/+0
| | | | | | | | Reviewed-by: axis
| * Make compile on gcceThomas Zander2010-09-072-7/+10
| | | | | | | | | | | | | | instead of friend use static to avoid gcce saying a formerly extern declaration turned into a static declaration. Reviewed-by: axis
* | Merge branch '4.7-oslo1' into 4.7-docA-Team2010-09-072-2/+53
|\ \ | |/
| * QPixmaps try to access FBS connection after the connection has been closed.Jani Hautakangas2010-09-062-2/+53
| | | | | | | | | | | | | | | | This patch fixed the issue by tracking pixmaps and destroying native bitmaps before FBS connection is closed. Task-number: QTBUG-9112 Reviewed-by: Jason Barron
* | Fixed spelling, broken links, and missing default values.Jerome Pasion2010-08-301-2/+2
|/ | | | | Tasks: QTBUG-13271, QTBUG-13212, QTBUG-12321 Reviewer: David Boddie
* Revised fix for pixmap loadingJens Bache-Wiig2010-08-201-0/+5
| | | | | | | | | | | | Change 2c8f9dee611 had an unwelcome side-effect and was reverted. Since we do have the undocumented behavior that we scan for all possible extensions when QPixmap is provided with a filename without extensions we could not simply exit if the file did not exist. We now check if there are extensions before doing so. Reviewed-by: gabi Task-number: QTBUG-11137
* Fixes a regression preventing loading images without extensionsThierry Bastian2010-08-191-3/+0
| | | | | Task-number: QTBUG-12560 Reviewed-by: gabi
* Use the fast Neon conversion for converting colors of jpeg images.Benjamin Poulain2010-08-061-2/+9
| | | | Reviewed-by: Andreas Kling
* Do the conversion from RGB888 to RGB32 using NeonBenjamin Poulain2010-08-063-0/+123
| | | | | | | | Doing the conversion with Neon is 700% faster. Help by Thiago Macieira on vacation. Reviewed-by: Thiago Macieira
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-08-042-8/+26
|\ | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Add the qt_ prefix to convert_rgb888_to_rgb32_ssse3 Update changes-4.7.0 Use the fast conversion from RGB888 to RGB32 for Jpeg images Move the SIMD defines to the common declaration of Qt symbols Fixed: QT_DEPRECATED_WARNINGS defines QT3_SUPPORT
| * Add the qt_ prefix to convert_rgb888_to_rgb32_ssse3Benjamin Poulain2010-08-032-4/+4
| | | | | | | | | | | | | | Exported function needs to have the qt_ prefix. Beviewed-by: Olivier Goffart Reviewed-by: Andreas Kling
| * Use the fast conversion from RGB888 to RGB32 for Jpeg imagesBenjamin Poulain2010-08-032-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | The commit 90642dd2b6b14c39cc6178f1161331895809b342 introduce a fast way to convert from RGB888 to RGB32 with SSSE3. This patch uses that function to do the color conversion when decoding jpeg images. The #defines for the SIMD extension have been moved to the common code in order to be able to compile the jpeg handler directly in QtGui or as a plugin. Reviewed-by: Andreas Kling
* | Unbreak QImage::rgbSwapped() for many image formats.Andreas Kling2010-08-031-41/+35
|/ | | | | | | These formats had broken rgbSwapped() implementations: argb8565, argb6666, rgb555, argb8555, rgb444, argb4444 Reviewed-by: Benjamin Poulain
* Fix compilation with QT_NO_TEXTCODECTasuku Suzuki2010-07-291-1/+1
| | | | | Merge-request: 755 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Use SSSE3 to convert from RGB888 to RGB32Benjamin Poulain2010-07-263-1/+160
| | | | | | | | | | | | | | | Converting from RGB encoded on 24bits to RGB encoded on 32 bits is quite inefficient. This type of conversion is common for some image format. The patch implement the conversion with SSSE3. This reduce by 3 the number of instructions, pushing the bottleneck to memory bandwidth. On Atom N450, the new benchmark is 40% faster for scanlines of 2000 pixels, 30% faster for scanlines of 32 pixels, and 15% slower for small images (3 and 8px). Reviewed-by: Olivier Goffart
* Improve the conversion from indexted to RGB16Benjamin Poulain2010-07-221-7/+16
| | | | | | | | | Instead of converting each color, we create a color table with the RGB16 colors. The conversion can be done for each pixel directly with the table. Reviewed-by: Kim Reviewed-by: Olivier Goffart
* Avoid qMin() for each pixel when converting indexed colors in-placeBenjamin Poulain2010-07-221-4/+12
| | | | | | | | | | Instead of checking if the value is in boundary for each pixel, we can fill the color table with 256 value and convert the colors directly. This optimization is an idea of Kim Kalland. Reviewed-by: Kim Reviewed-by: Olivier Goffart
* Premultiply the color table instead of each pixel for image conversionBenjamin Poulain2010-07-221-2/+7
| | | | | | | | When converting indexed images in place, each color was converted to premultiplied. Instead, we can just convert the color table like it is done in the non-in-place version. Reviewed-by: Kim
* Fixed a QSplashScreen hanging bug in S60 3.1 devices.axis2010-07-201-6/+14
| | | | | | | | | | | | | | | | | | QSymbianBitmapDataAccess is used to provide access to the bitmap heap in a manner that locks correctly on all platform versions. The heapWasLocked variable was meant to protect against the case where the heap is locked recursively. However, it failed to take into account the case where the same QSymbianBitmapDataAccess object was used to lock recursively. In this case the variable would be changed to true on the second lock, which means that the lock would never be released again. This was fixed by making the access reference counted instead. Since the bitmap heap lock is global, the refcount was made global as well. Task: QTBUG-11129 RevBy: Jason Barron AutoTest: Works again. It was hanging before this fix.
* The forward declaration should have been in the namespace for QImageDataBenjamin Poulain2010-07-081-2/+2
| | | | Reviewed-by: Olivier Goffart
* Add test and fix style for the SSE2 implementation of ARGB32 conversionBenjamin Poulain2010-07-072-3/+3
| | | | | | | | The commit beba018814b35c4bd032e6b9fa948e4bac34c59a introduce conversion from ARGB32 to ARGB32_PM with SSE2. This patch add a benchmark for this type of usage, and change the name to use lowercase for SSE2 (style convention).
* Build fix, the header of QImageData did not declare QImageWriter.Benjamin Poulain2010-07-071-0/+2
| | | | | Including this header in the SSE2 file broke the build because QImageWriter was not declared.
* SSE2 implementation of convert_ARGB_to_ARGB_PM_inplace for QImageJohn Brooks2010-07-074-2/+130
| | | | | Merge-request: 725 Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>