summaryrefslogtreecommitdiffstats
path: root/src/gui/image
Commit message (Collapse)AuthorAgeFilesLines
* Fix segfault when setting a device-pixel-ratio on a null-QPixmapTor Arne Vestbø2013-02-091-0/+3
| | | | | Change-Id: If3680766a50d5cf78889822d740c9472123191a7 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-293-7/+5
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-283-7/+5
| |\ | | | | | | | | | Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
| | * Doc: Fix module name formatSze Howe Koh2013-01-253-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the conventions at http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation QtCore -> Qt Core QtDBus -> Qt D-Bus QtDesigner -> Qt Designer QtGui -> Qt GUI QtImageFormats -> Qt Image Formats QtNetwork -> Qt Network QtPrintSupport -> Qt Print Support QtScript -> Qt Script QtSql -> Qt SQL QtSvg -> Qt SVG QtTest -> Qt Test QtWebKit -> Qt WebKit QtWidgets -> Qt Widgets QtXml -> Qt XML QtConcurrent -> Qt Concurrent (partial) QtQuick -> Qt Quick (partial) Also, distinguish between "module" and "library" Change-Id: Icb8aa695ae60b0e45920b0c8fce4dc763a12b0cd Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-2914-56/+0
|/ / | | | | | | | | | | | | | | | | | | | | The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-2362-62/+62
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-2262-62/+62
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| | * Update copyright year in Digia's license headersSergio Ahumada2013-01-1862-62/+62
| | | | | | | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | QImage plugins should report supported mime typesAllan Sandfeld Jensen2013-01-234-35/+127
|/ / | | | | | | | | | | | | | | | | | | Introduces the methods QImageReader::supportedMimeTypes and QImageWriter::supportedMimeTypes which corresponds to the similar supportedImageFormats methods, except they return lists of MIME types. Task-number: QTBUG-28177 Change-Id: Ibb0e264a12eaf972a8bfd6bd891dcd9f89efd085 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* / Ensure raster pixmap cache key is the same as that of pixmap.toImage()Michael Brasser2013-01-113-0/+8
|/ | | | | | | | | | This is done to support texture uploads in an image provider. It ensures we can load the texture using QImage in the image provider, and when it is later painted as a pixmap, the cacheKey will be identical (assuming no format conversion was required). Change-Id: I54229511ed91ce5430cc478af5aff0d96685a2da Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Replace macro qdoc with Q_QDOCDebao Zhang2013-01-081-1/+1
| | | | | | | | Both qdoc and Q_QDOC are used in source code, which looks not good. Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Make QImage::mirrored() propagate devicePixelRatioMorten Johan Sorvig2013-01-021-0/+1
| | | | | Change-Id: I2dfeacc941cb411a7ec6752f745fed9d6345ed8a Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Make qtbase compile with QT_NO_IMAGEFORMATPLUGINv5.0.0-rc1Tasuku Suzuki2012-12-054-24/+33
| | | | | | Change-Id: I1fef96481fa902cfd9de63fa814f70412eee4d15 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Fix warning about cast from ASCII.Friedemann Kleint2012-12-041-1/+1
| | | | | Change-Id: Icc251a8d26db022077c84ff2d0911868b56c9fd6 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Basic high-dpi "retina" support for Qt 5.Morten Johan Sørvig2012-12-0111-11/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | Bring Qt 5 on par with Qt 4, prepare for more comprehensive support later on. Introduce device independent pixels (dips), device pixels, and devicePixelRatio. Add high-dpi support to QPainter, QGLWidget, the cocoa platform plugin, mac and fusion styles. Dips are similar to CSS pixels, Apple points and Android density-independent pixels. Device pixels are pixels in the backing store/physical pixels on screen. devicePixelRatio is the ratio between them, which is 1.0 on standard displays and 2.0 on "retina" displays. New API: QImage::devicePixelRatio() and setDevicePixelRatio() QPixmap::devicePixelRatio() and setDevicePixelRatio() QWindow::devicePixelRatio() QScreen::devicePixelRatio() QGuiApplicaiton::devicePixelRatio() Change-Id: If98c3ca9bfdf0e1bdbcf7574cd5b912c9ff63856 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QJpegHandler: err should be set before jpeg_create_decompress()Elvis Lee2012-11-211-2/+3
| | | | | | | | | | If ERREXIT2 is called in jpeg_create_decompress(), SIGSEGV occurs with no error message. ERREXIT2 macro uses jpeg_compress_struct.err to handle error case. Change-Id: I8517a4d6f6e6aa4c1c59cd1aaea435554cca7ac3 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix GIF image decoding: do not zero transparent pixelsaavit2012-11-091-9/+6
| | | | | | | | | | | | | | For the special transparent color index, the decoder would skip writing anything out (thus leaving the pixels at 0 rgba value). Although correct for later frames, for the initial frame this would loose the color information for such pixels (which one otherwise could have made visible e.g. by converting then image to an alpha-less image format). Change-Id: I316cefce8f21797feedebfbf98296ad84eaa4b99 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> (cherry picked from qt/c309d424f45dc0e7b62fbbbabf20dbfe355f48a7) Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Save grayscale palleted images to grayscale pngSergey Borovkov2012-11-091-4/+7
| | | | | | | | | | While Qt does not support grayscale images explicitly it makes sense to save palleted images to grayscale png when possible for better compression and compatibility as opening and saving grayscale images now converts them to palleted Change-Id: Iab7c5a5a9d24b9352f5a7bafe04824a97d2463d9 Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Remove some dead code in switch statementsSergio Ahumada2012-10-291-10/+0
| | | | | | | | | | Following the Code Style described in http://qt-project.org/wiki/Qt_Coding_Style#e289ee44592e9c32d4212069f0806daf There is no need for a 'break' after a 'return'. Change-Id: I1eca350391a7e4e14e504d60b24b69982cc5ac47 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove unnecessary call to png_set_sBit when writing png filesSergey Borovkov2012-10-261-7/+0
| | | | | | | | | | | According to libpng documentation - PNG files reduce possible bit depths to 1, 2, 4, 8, and 16. If data is of another bit depth, it's possible to write an sBIT chunk into the file so that decoders can recover the original data if desired. Since we hardcode depth to 8 there is no need to call png_set_sBit Change-Id: I8e3941675019b920051775128ff4cf2bf1ca7c4a Reviewed-by: aavit <eirik.aavitsland@digia.com>
* Invalidate old QImage data if load()/loadFromData() has failedKonstantin Ritt2012-10-103-43/+42
| | | | | | | | | | This guarantees one will never get `!img.isNull()` after load()/loadFromData() has failed, even if the image was not null before. Apply the same fix to QPixmap and QPicture. Change-Id: Ida1ad6a6f0fc830df8e75ada0c163fc2d3360dea Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Scale icons returned by QIcon::fromTheme.David Sansome2012-10-101-2/+8
| | | | | | | | | | | | | | | | | The icon engine behind icons that are loaded from QIcon::fromTheme does not scale any pixmaps that it returns. When using an icon theme with an incomplete set of icons (for example, only a "128x128" folder), QIcon::pixmap will always return 128x128 pixmaps even if you ask for one of size 22x22. This is contrary to the QIcon::pixmap documentation that says "The pixmap might be smaller than requested, but never larger." This patch uses the same code that is in the main QIcon class in the PixmapEntry QIconLoaderEngineEntry to scale pixmaps if they are too big. Change-Id: Ic25a3628ac82cfb899574245f658490a2dd49d54 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Fix DIB image reading.Friedemann Kleint2012-10-021-1/+4
| | | | | | | | | Position the QIODevice correctly for DIB (==BMP without file header). Task-number: QTBUG-26690 Change-Id: I7922b4e830a92dcc19f1b52e305ca9ff3fd5d9f5 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2263-1512/+1512
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* gui/opengl: Fix missing or improper include guard in headersSergio Ahumada2012-09-153-10/+10
| | | | | | | | Use an include guard in headers to ensure the header is not included more than once. Make the header guard match its file name. Change-Id: I29b41e9d33e4ea17165f44c49de0a963574dd809 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* qpa: add non-opaque fill supportJulien Brianceau2012-09-111-2/+4
| | | | | | | | | | Add non-opaque fill support for qpa through new QBlittable flag "AlphaFillRectCapability" and add related implementation in DirectFB qpa platform. Change-Id: I863a270e24c96c432489099a34dc1f3a2be52280 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Removing duplicate includesSergio Ahumada2012-09-093-5/+0
| | | | | | | Do not include a header more than once Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix g++ compiler warnings.Friedemann Kleint2012-09-071-1/+3
| | | | | | | | Unused variables, unsigned comparison DWORD >= 0 is always true, format string. Change-Id: I9f0a20392e262b2542fb23ea4f513e4c4e354b68 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Use true and false in preference to TRUE and FALSESergio Ahumada2012-09-051-1/+1
| | | | | | | | The TRUE and FALSE macros are obsolete and should be replaced with true and false (all lower case) respectively. Change-Id: Iee352e8173500683e6319be0abbf5bacf29016e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: fix yet more errors reported by qdocaavit2012-09-041-15/+25
| | | | | Change-Id: I67ac081ce95235912784bbbc347dd8f80fdebbde Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Doc: Fixes for several doc errorsaavit2012-08-312-1/+13
| | | | | Change-Id: I5be9c8e9ff9c17fae0fbbe468f34439411aca06b Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Doc: Fix misc. documentation errorsaavit2012-08-302-10/+2
| | | | | Change-Id: I9481ed452922ed5ecd159a8f60d7fbcb3683cec1 Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Document obsolete functions in QImage to silence qdoc errors.Jason Barron2012-08-291-0/+44
| | | | | Change-Id: I78f3335e5c088641c56d5e682425c7e4b26b7d3e Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* doc: Added \relates command to some function qdoc commentsMartin Smith2012-08-211-0/+1
| | | | | | | | | | | | | When a documented function is global, it must be related to a namespace or class, or its documentation won't be included anywhere. When a documented function is a class member, the function signature in the \fn command must include the class name qualifier, e.g. QImage::isValid(), not just isValid() Change-Id: I53e2230fa9468f94d51aec8cc76781d7ab755a13 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add AVX support for the JPEG handlerThiago Macieira2012-08-211-3/+13
| | | | | | | | | | | | Apparently I had forgotten about this previously. Use the AVX conversion function if the compiler could generate AVX code. Note: the functions need to be declared outside of the function block so namespace scoping works properly with MSVC. For functions declared inside, it expects them to be in the global namespace. Change-Id: I7b7248dbfce3cc7c580dee920407c205049cb746 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Fix -Wclobbered warningsMarc Mutz2012-08-182-5/+5
| | | | | | | | | | | | | | | | | GCC warns: warning: argument 'x' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered] Apparently, the real fix would be annotating the functions correctly with noreturn and returns_twice attributes, but there's also workarounds for these, at least in the png case, so adding volatile was the easier way out here. Needed a cast to lose the volatile again, passing the argument to qMin(). Change-Id: Id820cf9b65752359f3b8f268172ba71bc9a76784 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtGui: use new qEnvironmentVariableIsEmpty()Marc Mutz2012-08-141-1/+1
| | | | | | | | In particular, static bool showRasterOverlay is safer. Change-Id: I9df6c9a9a56d2e61b13391b6889c0ac6e259e801 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QImage{Reader,Writer}: remove unused local typedef (GCC 4.8 warning)Marc Mutz2012-08-112-2/+0
| | | | | | | | | GCC 4.8 warns: warning: typedef ‘PluginKeyMapConstIterator’ locally defined but not used [-Wunused-local-typedefs] Change-Id: I0225708b590ac3d72ab3cb8f61e686091c187053 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Revert "Added default argument for color profile to QImage constructors."Alexandros Dermenakis2012-08-102-20/+12
| | | | | | | | | | Reverting change after request in the developers mailing list. This reverts commit 50a5bd5429e0c8b99be81b86d3730737cb7f8514. Change-Id: Ic4a420d6ad0995810ed61d31edd28e7b603cca5e Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* change \img to \image in docsJeremy Katz2012-08-011-1/+1
| | | | | | | | \img was a macro defined in macros.qdocconf. This collection of macros is being phased out. Use the full command instead. Change-Id: Ia55212f87bb46349d61359d40568e0aa33882596 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Added default argument for color profile to QImage constructors.Alexandros Dermenakis2012-08-012-12/+20
| | | | | | | | | Added default argument for color profile to QImage constructor initializing QImages from pixel maps. This is to be used in future Qt versions where color profile support will be added. Change-Id: I815c3db4ef52f8383b48dad844b5f188aa3a3eee Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
* List .pbm and .pgm as supported writable image file formats.Kim Motoyoshi Kalland2012-07-161-1/+3
| | | | | | | | | QImageWriter can write .pbm and .pgm files, but didn't list them among its supported image file formats. Task-number: QTBUG-22958 Change-Id: I777c7cd9a4b56fcf313248a29a917e594a5e4477 Reviewed-by: aavit <qt_aavit@ovi.com>
* Fix crash in QPixmap::fromImage() when memory is low.Kim Motoyoshi Kalland2012-07-161-10/+11
| | | | | | | Task-number: QTBUG-26451 Change-Id: I7149edb1b03d7bcd4e90f369a1ac99b25ab262b9 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Q_DECLARE_SHARED: mark the type movableMarc Mutz2012-07-102-2/+0
| | | | | | | | | | All implicitly shared classes are by definition movable, so this patch adds Q_DECLARE_TYPEINFO(Type, Q_MOVABLE_TYPE) to Q_DECLARE_SHARED. Change-Id: Idf8989ae1a7ed6d1ac13fccb7eaef7395a875350 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove Library dependency on SettingsTasuku Suzuki2012-07-091-2/+2
| | | | | | | | made QLibraryInfo available with QT_NO_SETTINGS. QKdeTheme is removed when QT_NO_SETTINGS is defined. Change-Id: I63d619bb305e6c23985d9ea50c72d39a697b7a4b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QtGui: replace some copies with swapsMarc Mutz2012-07-063-5/+4
| | | | | | | | | | | This provides move speed even for non-C++11 compilers and avoids having to call the copy assignment operator from within copy ctors. (which will result in infinite recursion when using the copy-swap idiom). Change-Id: I379bc8bf2c72d9f986c0f17f9eef56cd592e7a06 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Make the CPU detection much more efficient in user codeThiago Macieira2012-07-022-21/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | First, check that the option in question hasn't been already enabled by the compiler, via compiler switches. If it has been, then we don't need to verify anything, and we can assume that it's safe to use such instructions. For example, on an x86-64 build, qCpuHasFeature(SSE2) is always a constant true. If the compile-time check fails, then we proceed to try and detect the processor features at runtime. But instead of insisting on a call to qDetectCPUFeatures, allow the code using the detection to read from a variable and simply test it for values. Only if the variable isn't initialised should it make a function call. The Q_ASSUME allows this code to be very efficient even with multiple uses of qCpuHasFeature. Change the uninitialised value from -1 to 0 so that simpler instructions can be used to check for non-initialisation. The qDetectCPUFeatures function is renamed to qDetectCpuFeatures to match the Qt coding style and also to catch uses this code that need to be adapted. Change-Id: I24ca5a6ad21075e2e249e1a4f8f5057b8f68ce7c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Get started with patching up the Qt GUI docsGunnar Sletta2012-06-289-5/+12
| | | | | | | | Primary goal, make the front page of the Qt GUI module a bit more clarifying and avoid downstream references inside the Qt GUI docs. Change-Id: Icbcfbb64b93963add889bf83711daa9575885c02 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Add const & to foreach 'iterators'Albert Astals Cid2012-06-271-1/+1
| | | | | | | Change-Id: I8c0600dfd919f45d14a0011f2da9b9fe0b9a0df3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Fix docs mentioning Q_EXPORT_PLUGIN2Lars Knoll2012-06-252-2/+2
| | | | | | | | Fix all remaining places where Q_EXPORT_PLUGIN2 was being used in the documentation. Change-Id: I7be67b83c18545d0e74f250b4b26583444b01909 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>