summaryrefslogtreecommitdiffstats
path: root/src/gui/image
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | Fixed warnings and crash when painting graphics effects outside scene.Yoann Lopes2010-02-091-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that when an item had a QGraphicsEffect on itself and that item was outside of the sceneRect, the cached pixmap of the item was just an empty pixmap (when using DeviceCoordinates mode). Therefore the effect filter was trying to paint into an unformatted and empty image. Now, paint() for all pixmap filters just return immediatly when the pixmap is empty. Task-number: QTBUG-5358 Reviewed-by: sroedal
| * | Fixed QImagReader::setAutoDetectImageFormat() to work with plugins.Trond Kjernåsen2010-02-081-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | Only the compiled in formats where checked when setAutoDetectImageFormat(false) was set on a QImageReader object. Task-number: QTBUG-7980 Reviewed-by: aavit
* | | Merge branch 'qt-master-from-4.6' of ↵Qt Continuous Integration System2010-02-106-31/+57
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scm.dev.nokia.troll.no:qt/qt-integration into master-integration * 'qt-master-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration: (104 commits) Documentation: clarified RVCT support for Symbian Update Symbian OS def files for 4.6.2 Remove the installer from the Qt sources. Don't remove all dependencies when patching the pkg. Fixes qabstractslider autotest Workaround for abld toolchain issue with s60main Add a recursive rule for running the auto-tests. Do not run the tests automatically during install. Enabling runfast mode when vfpv2 used. Fixing a test case to be runnable on Symbian device. [CRASH] audioinput and audiooutput examples crash when no devices are Fixed casual crash in initializeDb (Symbian) Fixes scrolling horizontally with a mouse wheel over sliders. don't use QKeySequence::mnemonic() after all Fixed qt_x11_wait_for_window_manager Revert change 34f1758 on non-Synbian platforms Fixed QGifHandler::loopCount(). Doc: Clarified ownership of custom buttons added to a QDialogButtonBox. Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( da5d96a26e80162027bc95ce7e5725fe4b277ff7 ) don't use stylesheet for just making labels bold ...
| * \ \ Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-096-31/+57
| |\ \ \ | | |/ / | | | / | | |/ | |/| | | | Conflicts: src/gui/kernel/qcocoapanel_mac.mm src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
| | * Fixed a crash when QPixmaps are destroyed after the ~QApplication.Trond Kjernåsen2010-01-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Destroying QPixmaps after the QApp destructor will leak native pixmap objects on X11, and it's a general rule that all GUI objects must be destroyed before the QApp destuctor is called. Task-number: QTBUG-7746 Reviewed-by: Kim
| | * Fix GL texture leaks when pixmaps are deletedTom Cooksey2010-01-296-30/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes quite a lot of issues: * QtOpenGL only registered qpixmap destruction hooks on X11 and those only cleanup the EGL/GLX surface, not the texture object. * The QPixmap destruction hooks were only being called from the QPixmap destructor. However, this means when a QPixmap is assigned to another QPixmap, the hooks don't get called. Task-number: QTBUG-7647 Reviewed-By: Samuel Reviewed-By: Trond
* | | Added new mouse cursor types.Denis Dzyubenko2010-02-052-10/+18
|/ / | | | | | | | | | | | | | | | | | | | | Added Qt::DragCopyCursor, DragMoveCursor and DragLinkCursor that are already used internally for drag-n-drop, but were not exposed before. On X11 made them use themed cursors through the Xcursor library. Drag-n-drop now use these new cursors. Inspired-by: David Benjamin MR#2215 Reviewed-by: Bradley T. Hughes
* | doc: Fixed some qdoc warnings.Martin Smith2010-02-041-4/+5
| |
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-02-012-4/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Placate pedantic compiler warning modes on QGLBuffer Promote QPixmap::convertFromImage() to public API from Qt3Support Add the QGLBuffer class to Qt 4.7 for VBO's
| * | Promote QPixmap::convertFromImage() to public API from Qt3SupportRhys Weatherley2010-02-012-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QPixmap::fromImage() creates a new pixmap from a QImage. There was no way to replace a pixmap with a new QImage in-place without using the private QPixmapData API. This change promotes the Qt3Support function convertFromImage() back to official status for updating a pixmap in-place. Task-number: QTBUG-7361 Reviewed-by: Tom Cooksey
* | | Merge remote branch 'qt/4.6' into qt-master-from-4.6Qt Continuous Integration System2010-02-011-1/+1
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | Conflicts: src/gui/kernel/qeventdispatcher_mac.mm src/gui/kernel/qt_cocoa_helpers_mac.mm src/gui/widgets/qmenu_mac.mm tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp tools/assistant/tools/assistant/centralwidget.cpp tools/linguist/lupdate/main.cpp
| * Fixed an infinite loop that could occur when reading invalid BMP images.Trond Kjernåsen2010-01-261-1/+1
| | | | | | | | | | Task-number: QTBUG-7530 Reviewed-by: Kim
* | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Pulse Build System2010-01-221-40/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2: build fix for mingw Build fix for MSVC2005 and older SDK QStyleSheetStyle: Fixed some text croped when having padding with native border. Remove obsolete code for unsupported platforms Character spacing when drawing a QPicture to a high DPI device.