summaryrefslogtreecommitdiffstats
path: root/src/gui/image
Commit message (Collapse)AuthorAgeFilesLines
* Optimized pixmapcache key generation for icons and stylesOlivier Goffart2010-05-171-14/+11
| | | | | | | | | This re-apply commit c8d2e18c4b431870560f324a17f20904bb47ae68 from Jens that was reverted in b0f4dab4 because it did not compile. Added the missing include to make it compile on mac Task-number: QTBUG-9850
* Ensure QPixmapCache does not flush pixmaps that are still in use.Warwick Allison2010-05-113-2/+53
| | | | | Task-number: QTBUG-10576 Reviewed-by: Alexis Menard
* Fix QT_NO_LIBRARYTasuku Suzuki2010-04-293-16/+16
| | | | | | | | | Some class uses QFactoryLoader without checking if QT_NO_LIBRARY is not defined. Remove QT_NO_SETTINGS used with QT_NO_LIBRARY for QFactoryLoader because LIBRARY depends on SETTINGS. Merge-request: 578 Reviewed-by: Thierry Bastian <thierry.bastian@nokia.com>
* Added QIcon::name()Aurelien Gateau2010-04-205-1/+51
| | | | | | | | This only works with icons loaded with QIcon::fromTheme() for now. Merge-request: 2367 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com> Reviewed-by: jbache
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Olivier Goffart2010-04-165-8/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebCore/ChangeLog src/3rdparty/webkit/WebCore/page/FrameView.cpp src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def src/s60installs/bwins/QtCoreu.def src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtNetworku.def src/s60installs/eabi/QtGuiu.def tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
| * Symbol visibility fixes for RVCT4 on SymbianIain2010-04-155-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | RVCT 4 is far more strict with regards to symbol visiblity that RVCT 2.2, and will hide symbols unless all references have default visibility in the object files. Update the various places in Qt code where the symbol visibility was set incorrectly for DLL-based platforms (those that use __declspec(dllimport) and (dllexport). Note: QtWebkit and QtScript are fixed in different commits. Task-number: QTBUG-9903 Reviewed-by: Jason Barron
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-131-1/+1
|\ \ | |/
| * Fix segfault, if QPixmap::loadFromData() failsJohannes Zellner2010-04-121-1/+1
| | | | | | | | Reviewed-by: Harald Fernengel
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-122-0/+4
|\ \ | |/ | | | | | | | | | | Conflicts: qmake/generators/symbian/symmake.cpp src/gui/image/qimage.cpp src/openvg/qwindowsurface_vgegl.cpp
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-04-091-1/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: Enable preserved swap behavior when surface is created due to resize. Generate triggered signal even the action launches menu in Symbian. Symbian emulator: unload file server so apps can be recompiled. Clear QFontCache TLS content before nullifying TLS pointer. Fixed focus and window activation events on Symbian when opening menu. QTBUG-4887 and other exception safety fixes
| | * QTBUG-4887 and other exception safety fixesmread2010-04-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change includes a fix for QTBUG-4887 and other exception safety problems found while testing it. The QTBUG-4887 fix is to qimage.cpp. QImage doesn't throw exceptions on failure like a proper class should, instead it tries to fail "nice". What happens here is that setAlphaChannel would crash on OOM as after the convertToFormat call, d could be NULL. This new version checks the result of the conversion before using it. The other fixes are all cases where exceptions were thrown from destructors. I added code to the test app to help debug these cases, and I fixed all the problems I found. With these changes, tst_exceptionsafety_objects runs and passes on the Symbian emulator. Reviewed-by: Shane Kearns
| * | Fix <MemLeak> valgrind report shows memory leak for QImage::save().Stefano Pironato2010-04-071-0/+1
| |/ | | | | | | Reviewed-by: Marius Storm-Olsen
* | Prevented unnecessary copy in QImage::setAlphaChannel().Samuel Rødal2010-04-061-3/+4
| | | | | | | | | | | | | | | | | | If the formats don't match the detch is unnecessary as operator= will anyways destroy the detached QImageData and substitute it with the newly created QImageData from convertToFormat. Task-number: QTBUG-9640 Reviewed-by: Trond
* | Included ARM NEON optimizations from pixman in Qt.Samuel Rødal2010-03-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the N900 16 bit text blending is 30 - 50 % faster, and ARGB32PM on RGB16 image blending now runs in 1/10th of the time it used to. We now make ARGB32PM the default pixmap format for alpha pixmaps instead of ARGB8565PM which is unaligned and bad for performance. The relevant numbers: Mostly opaque pixels: ARGB24 on ARGB24 using QPainter..................: 336,813033 ARGB32 on ARGB32 using QPainter.................: 18,419387 RGB16 on ARGB24 using QPainter..................: 167,301014 RGB16 on ARGB32 using QPainter..................: 17,279372 ARGB24 on RGB16 using QPainter..................: 35,100147 ARGB32PM on RGB16 using QPainter................: 15,924256 No opaque pixels: ARGB24 on ARGB24 using QPainter..................: 412,190765 ARGB32 on ARGB32 using QPainter.................: 16,818389 RGB16 on ARGB24 using QPainter..................: 170,957878 RGB16 on ARGB32 using QPainter..................: 16,742984 ARGB24 on RGB16 using QPainter..................: 93,600482 ARGB32PM on RGB16 using QPainter................: 15,999310 So switching to ARGB32PM should give a boost in all areas. Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta
* | Safeguard the colortable access when converting corrupted indexed8Gunnar Sletta2010-03-261-2/+2
| | | | | | | | | | Fixes: QTBUG-5510 Reviewed-by: Eskil
* | Fixed QPrintPreview text drawing (visible in Assistant).Trond Kjernåsen2010-03-251-2/+7
| | | | | | | | | | | | | | | | | | | | | | WebKit (which Assistant uses) uses QFont::setPixelSize() to specify the font sizes. Those are treated differently in Qt than fonts specified with setPointSize(). Fonts specified with setPixelSize() should *not* be scaled to compensate for DPI changes between devices, unlike fonts with a pointSize() set. Task-number: QTBUG-9282 Reviewed-by: Eskil
* | Let QImageReader open the device if it is not open alreadyaavit2010-03-191-1/+1
| | | | | | | | | | | | This brings the actual behaviour in line with the doc of setDevice(). Reviewed-by: Trond
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-171-2/+2
|\ \ | |/ | | | | | | | | Conflicts: src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def
| * Fix fromSymbian*() image conversion functions.Jason Barron2010-03-151-2/+2
| | | | | | | | | | | | | | | | | | | | Do not explicitly create instances of QS60PixmapData in this function because it is possible that we are using another graphics system. The fromNativeType() function is virtual so the graphics system will create the right version of the pixmap data for us and ensure that we get into the right implementation. Reviewed-by: Aleksandar Sasha Babic
* | Handle EGLSurfaces better, including more error detectionTom Cooksey2010-03-101-1/+1
| | | | | | | | | | | | | | Note: This changes QX11PixmapData::gl_surface to a void* to enable build on 64-bit systems where EGLSurface is a pointer. Reviewed-By: TrustMe
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-066-25/+53
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.exe examples/multimedia/audioinput/audioinput.cpp src/corelib/io/qfsfileengine.cpp src/gui/egl/qegl_wince.cpp src/gui/egl/qeglproperties.cpp src/gui/egl/qeglproperties_p.h src/gui/embedded/directfb.pri src/gui/kernel/qapplication_win.cpp src/gui/painting/qdrawutil.cpp src/opengl/qgl_p.h src/sql/drivers/odbc/qsql_odbc.cpp src/sql/drivers/odbc/qsql_odbc.h tests/auto/auto.pro tests/auto/qgl/tst_qgl.cpp translations/assistant_adp_ru.ts
| * Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-03-041-0/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Make tablet detection work with new wacom drivers Fixed an exit crash that could occur in the GL 2 engine under X11. Fix tst_QVariant::operator_eq_eq(UserType) SqlBrowser not respecting casings. Remove vgClearPath() change to OpenVG paint engine QVariant: Fix crash when comparing two variant with the same undefined type. Fix compositing when QWS background is completely transparent. Fixes wrong composition mode for cached backgrounds in Graphics View. Support keypad input with vnc driver
| | * Fixed an exit crash that could occur in the GL 2 engine under X11.Trond Kjernåsen2010-03-041-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The global destructor for the clean up hooks might be called before the global destructor for QPixmap objects. We shouldn't leave pixmaps around that is destroyed after the QApplication destructor is called. Task-number: QTBUG-8681 Reviewed-by: Tom Cooksey
| * | Do not crash when loading themed icons staticallyJens Bache-Wiig2010-03-043-10/+28
| |/ | | | | | | | | | | | | | | | | | | | | | | We do not officially support static loading of icons. In fact they still crash for simple png cases due to missing X11 resources. But since we lazily create themed icons we can certainly avoid the crash in this case. You will not be able to use fallbacks here though, since we cannot know if a fallback should be used or not in this case. Reviewed-by: ogoffart Task-number: QTBUG-8666
| * Prevented assert on 1 pixel wide / high images in qt_blurImage.Samuel Rødal2010-03-021-1/+4
| | | | | | | | | | | | | | | | Don't attempt to run qt_halfScaled on images less than 2px in either dimension. Particularly, avoid doing this from qt_blurImage, where that situation can happen as a result of a clipped QGraphicsEffect. Reviewed-by: Bjørn Erik Nilsen
| * Fixed QPixmap::load() to not modify referenced copies (again!)Trond Kjernåsen2010-03-011-13/+6
| | | | | | | | | | | | | | | | Change 8721d060a67a01ac891cab9d3d17aacf7373bcf0 broke the previous fix. Task-number: QTBUG-8606 Reviewed-by: Gunnar
| * Fixed autotest tst_QWidget::translucentWidget() on Windows Vista & abovePrasanth Ullattil2010-02-261-1/+5
| | | | | | | | | | | | | | Grabbing layered windows doesn't work on Vista and above, so instead we need to grab the corresponding area of the desktop widget. Reviewed-by: Samuel
* | Added QImage::bitPlaneCount().aavit2010-03-042-5/+51
| | | | | | | | | | | | | | | | | | When the image format contains unused bits (e.g. Format_RGB32), depth() does not give the true number of bits of color information per pixel. This new function does. Task-number: QTBUG-7982 Reviewed-by: Trond
* | Fix warnings on MSVCThierry Bastian2010-03-031-2/+2
| |
* | Make bindTextureFromNativePixmap use new QEgl APIsTom Cooksey2010-03-022-6/+7
| | | | | | | | | | | | | | The old qt_chooseEGLConfigForPixmap & qt_createEGLSurfaceForPixmap code will remain until QX11GLPixmapData can be re-written properly. Reviewed-By: TrustMe
* | Move QGLWidget::setContext logic into QEgl & QGLContextTom Cooksey2010-03-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEgl::createSurface() on X11 will now check to see if the device's X11 Visual is compatible with the EGLConfig passed in. If it is not compatible, the function will re-create the QPaintDevice's native drawable with a different Visual (one which is compatable with the EGLConfig). This represented the bulk of the QGLWidget::setContext method which is now much simpler. As a consequense of this change, QWidgets with graphicssystem opengl will behave much more like QGLWidget as most of the code is re-used. So things like WA_TranslucentBackground should now work with opengl graphicssystem too. Reviewed-By: TrustMe
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into master-s60axis2010-02-261-1/+1
|\ \ | |/ | | | | | | | | Conflicts: qmake/generators/symbian/initprojectdeploy_symbian.cpp qmake/generators/symbian/symmake_abld.h
| * Fixed translucent window rendering on 16 bit X11.Samuel Rødal2010-02-241-1/+1
| | | | | | | | | | | | | | | | Don't assume format is the same as systemFormat() in the QNativeImage constructor, for translucent windows it's always ARGB32_Premultiplied, and the depth of the window is always 32 bit. Reviewed-by: Trond
* | Add private qt_draw_glyphs() APIEskil Abrahamsen Blomfeldt2010-02-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some use cases where you use an external font engine and want to use Qt's font engine for painting, you might need a function which will give you direct access to the underlying font. A generic API for this requires a lot of API changes, so in the meantime, we implement an internal, specialized API to support the use cases where it is required. The API is considered internal and experimental, and not guaranteed to be stable or even exist across releases. This is API which provides several fun ways to shoot yourself in the foot, but if used properly, it will allow you to paint glyph ids at precalculated positions. Task-number: QTBUG-7844 Reviewed-by: Trond
* | Merge remote branch 'origin/master' into qt-master-from-4.6Thiago Macieira2010-02-201-2/+2
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: configure.exe src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp
| * \ Merge remote branch 'qt/master' into staging-2-masterQt Continuous Integration System2010-02-151-1/+2
| |\ \ | | | | | | | | | | | | | | | | Conflicts: tests/auto/qlineedit/tst_qlineedit.cpp
| * \ \ Merge branch 'qt-graphics-team-qstatictext-4.7'Eskil Abrahamsen Blomfeldt2010-02-153-13/+46
| |\ \ \
| | * \ \ Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7Eskil Abrahamsen Blomfeldt2010-02-158-132/+156
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7 Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp Merge branch 'master' of scm.dev.troll.no:qt/oslo-staging-2 into qstatictext-4.7 Conflicts: src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tests/auto/qlineedit/tst_qlineedit.cpp
| * | | | | Update license doc and .pri file for libpng 1.4.0aavit2010-02-151-2/+2
| | |/ / / | |/| | |
* | | | | Merge branch '4.6' into qt-master-from-4.6Thiago Macieira2010-02-173-8/+25
|\ \ \ \ \ | |_|_|/ / |/| | | / | | |_|/ | |/| | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp tools/assistant/tools/assistant/helpviewer.cpp
| * | | Fix several bugs with GL texture cacheTom Cooksey2010-02-122-4/+20
| | | | | | | | | | | | | | | | | | | | Reviewed-By: Trond Autotest: tst_QGL::qglContextDefaultBindTexture
| * | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Gunnar Sletta2010-02-111-1/+2
| |\ \ \
| * | | | document the slowness of QPixmap::hasAlpha()Gunnar Sletta2010-02-111-4/+5
| | |_|/ | |/| | | | | | | | | | Reviewed-by: Kim
* | | | Merge remote branch 'origin/master' into qt-master-from-4.6Thiago Macieira2010-02-131-74/+63
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | Conflicts: tests/auto/qlineedit/tst_qlineedit.cpp tests/benchmarks/benchmarks.pro
| * | | Workaround for a certain functionally challenged compileraavit2010-02-101-3/+3
| | | | | | | | | | | | | | | | Reviewed-by: Trond
| * | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-02-101-73/+62
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fix failing QDoubleValidator tests Use libpng API as recommended. Preparation for upgrade to libpng 1.4.0. QMainWindow: update the separator size when the style change
| | * | | Use libpng API as recommended. Preparation for upgrade to libpng 1.4.0.aavit2010-02-091-73/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The libpng doc advises against accessing the info_ptr structure directly, and in 1.4.0 the members are flagged as deprecated, so such access gives compilation warnings. This patch makes qpnghandler use the recommended access functions instead. Reviewed-by: Trond
* | | | | Merge remote branch 'origin/4.6' into qt-master-from-4.6Thiago Macieira2010-02-123-14/+48
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| |
| * | | Prevented assert when using drop shadow effect in the GL 2 engine.Samuel Rødal2010-02-101-1/+2
| | |/ | |/| | | | | | | | | | | | | The GL 2 pixmap filter uses Indexed8 images in the drop shadow case. Reviewed-by: Tom Cooksey
| * | Fixed some global QIcon/QPixmap instances that leaked handles on X11.Trond Kjernåsen2010-02-091-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | Never ever create global cache objects that deletes QPixmaps when destructed! Task-number: QTBUG-8046 Reviewed-by: Friedemann Kleint