summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-publicJanne Anttila2009-05-056-18/+1251
|\
| * Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-publicMiikka Heikkinen2009-05-051-8/+38
| |\
| * | ARMV6 optimizations to qdrawhelperMiikka Heikkinen2009-05-056-18/+1251
| | |
* | | Implemented: 247278 Remove unnecessary includes from qbackingstore.cpp.Janne Anttila2009-05-051-5/+0
| |/ |/|
* | Merge commit 'private/translucentWindows'Jason Barron2009-04-301-8/+38
|\ \ | |/ |/| | | | | Conflicts: src/gui/styles/qs60style_symbian.cpp
| * Small optimization when hiding windows.Jason Barron2009-04-301-3/+4
| | | | | | | | | | | | | | | | | | | | When a window is hidden, it will call releaseBuffer() on the backing store which in turn will resize the window surface to a null rect. In this case, there is no need to update the QImage with the data pointer since it will be updated on the subsequent beginPaint() when the image is resized to a valid size again. This also avoids doing unnecessary locking on the FBSERV heap which still involves a context switch on older versions of Symbian.
| * Get transparency working by clearing the window surface.Jason Barron2009-04-281-1/+22
| | | | | | | | | | | | | | | | | | This is duplicated code from the raster paint engine's beginPaint() function. For translucent windows the previous contents must be cleared from the backing store before the new content is painted. This class should probably be re-written as a subclass of the raster version. The reason we cannot use that implementation directly is because we cannot use QNativeImage because it doesn't provide anywhere we can do locking.
| * More work on translucent windows.Jason Barron2009-04-281-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | One step closer to semi-transparent windows, but not there yet. This gets the transparent contents into the window, but the previous contents are not cleared so it keeps drawing the backing store on top of itself each time a Draw() is done. SetBackgroundColor() indicates to WSERV that our window is semi-transparent. We also make sure not to use 'EDrawModeWriteAlpha' when the widget is non-opaque since this actually changes the alpha channel on the frame buffer (not the window) so the gives undesired results. It's a faster draw mode though so we should use it where we can.
| * Fixes: Add support for translucent windows in Symbian.Jason Barron2009-04-281-1/+10
| | | | | | | | | | | | | | | | | | | | | | Warning, this is completely untested! Details: This should (in theory) get translucent windows working but this hasn't been tested yet. The emulator environment seems to return only 16ColorMU display modes which implies the window is opague so Qt ignores the translucent flag. HW seems to create 16ColorMA windows, but it hasn't been tested there yet either (no time).
* | Basic optimizations to qdrawhelper for RVCT builds:Miikka Heikkinen2009-04-292-37/+69
|/ | | | | | | - Force static inline methods to be actually inline - Force ARM code for strategic methods RevBy: axis
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-04-2722-310/+404
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure.exe recompiled with MSVC6. Conflicts: configure.exe examples/network/network.pro src/gui/dialogs/qfiledialog_p.h src/gui/dialogs/qfilesystemmodel_p.h src/gui/kernel/qapplication.cpp tests/auto/_Categories/qmake.txt tests/auto/qfile/test/test.pro tests/auto/qfile/tst_qfile.cpp tests/auto/qlibrary/tst_qlibrary.cpp tests/auto/qline/tst_qline.cpp tests/auto/qstyle/tst_qstyle.cpp tests/auto/qtextstream/tst_qtextstream.cpp tests/auto/qtranslator/qtranslator.pro tests/auto/qwaitcondition/tst_qwaitcondition.cpp translations/qt_ja_JP.ts
| * Fix clipping bug in raster paint engineGunnar Sletta2009-04-241-0/+14
| | | | | | | | | | | | | | | | | | If we have a rect-clip where we actually had spans (used for cleartype) and then reused that clipdata, we would never re-create the spans, which would mean that future drawing would be filtered based on the old clip Reviewed-by: Samuel
| * Prevent QTransform::type() from returning TxScale instead of TxProject.Samuel Rødal2009-04-221-2/+2
| | | | | | | | | | | | | | | | We have code that assumes that m33 = 1 if the type is TxScale. Instead of changing all that code it's better to just return TxProject as type when m33 is different from 1. Reviewed-by: Simon Hausmann
| * Fix QPrinter::pageRect() for Windows printers, when fullPage() is set.Trond Kjernåsen2009-04-221-1/+1
| | | | | | | | | | | | | | | | | | When QPrinter::fullPage() was set, pageRect() returned the same as paperRect(). Under Windows, there is always a non-printable area that was not taken into account in the fullPage() case. Task-number: 248881 Reviewed-by: Kim
| * Fix Transformed driver on 8-bit displaysPaul Olav Tvete2009-04-222-0/+2
| | | | | | | | | | Task-number: 250971 Reviewed-by: Tom
| * Fix crash in drawPixmap when painting on a null pixmapSamuel Rødal2009-04-221-3/+3
| | | | | | | | | | | | We need to check if the engine is null before we do the thread test. Reviewed-by: Thiago
| * Fix non-opaque text from widget palette being blitted, not blended.Samuel Rødal2009-04-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | QPainter inherits some properties from the widget, among other font and pen. These are set in the painter's state in initFrom(), but in 4.5 we forgot to call QPaintEngineEx::penChanged() to let an extended paint engine know that the pen has changed. This caused the raster engine to believe it could blit non-opaque text, due to the fast_text flag not being correctly updated. Task-number: 251534 Reviewed-by: Paul
| * Ifdef out the QWS blend functions for less common bitdephts by defaultGunnar Sletta2009-04-201-45/+45
| | | | | | | | | | | | | | | | ARGB32_PM, RGB32, ARGB8565_PM and RGB16 are optimizied elsewhere and they are the most important formats. The implemenentation of several of these depths are also buggy, so one can question their relevance. Reviewed-by: Samuel
| * Make the 32-bit ARGBPM on 16-bit RGB blend function fasterGunnar Sletta2009-04-201-101/+33
| | | | | | | | | | | | | | The "optimized" version of this function was actually slower by quite a bit, so revert it to the old "trivial" code. Reviewed-by: Samuel
| * Fix drawhelper pixel-writeback when dest has alpha.Gunnar Sletta2009-04-201-1/+1
| | | | | | | | | | | | | | | | The blending always happens in 32-bit premultiplied so the conversion back to dest-format needs to base itself on premlutiplied too. Task-number: 182246 Reviewed-by: Samuel
| * Fix ARGB24PM->RGB16 for i386 GCCGunnar Sletta2009-04-201-20/+1
| | | | | | | | | | | | | | | | | | | | There was special code for gcc to run super-fast, but it was buggy and didn't blend properly. Kill this code for the benefit of the normal blend function. The performance on an Intel Quad Core 2 was not too different from the bytemul approach. Task-number: 246009 Reviewed-by: Trond
| * Fix ARGB8565 onto RGB16 image blending on windowsGunnar Sletta2009-04-201-3/+3
| | | | | | | | | | | | | | The rounding was just wrong... Task-number: 246009 Reviewed-by: Trond
| * Some ifdefs for debugging clipping performanceGunnar Sletta2009-04-201-0/+36
| |
| * Fix QPrinter::setPrinterName()/QPrinter::printerName() on the Mac.Trond Kjernåsen2009-04-162-28/+39
| | | | | | | | | | | | | | | | | | | | | | | | QPrinter::printerName() used to return the CUPS printer queue name instead of the user-set printer name, which was wrong. In addition, if trying to set the printer name to a non-valid printer, the default printer was still used internally, which is not correct. As sonn as an invalid name is set, the printer now enters an invalid state, which it can only get out of by setting a valid printer name. Task-number: 199271 Reviewed-by: Gunnar
| * Prevent crash in qt_scrollRectInImage.Samuel Rødal2009-04-151-2/+5
| | | | | | | | | | | | | | | | Clip both against the source and target device rectangles. Task-number: 247937 Reviewed-by: Trond BT: yes
| * Fixes warning about potential use of uninitialized valueOlivier Goffart2009-04-151-14/+12
| | | | | | | | Reviewed-by: bnilsen
| * Fix typo in documentation.Jason McDonald2009-04-151-1/+1
| | | | | | | | | | | | Error was introduced in change 52f87de53328c661049acf09d5fedc1850aa9bfa. Reviewed-by: Trust Me
| * Adding note about setting properties to QPrinterMorten Engvoldsen2009-04-141-0/+4
| | | | | | | | | | | | | | Setting properties on an invalid printer is not supported. Use isValid() to check if it valid. Rev-by: Trond Kjernåsen Rev-by: Geir Vattekar
| * Remove scale applied to cosmetic pens when antialiasing is enabled (X11).Samuel Rødal2009-04-141-1/+4
| | | | | | | | | | | | | | | | The pen width should not be scaled for cosmetic pens. Task-number: 247083 Reviewed-by: Trond BT: yes
| * Fix docs of QPainter::initFrom.Gunnar Sletta2009-04-141-2/+2
| |
| * Adds a few \warnings to the docs on do-not-use-for-performance-reasonsGunnar Sletta2009-04-071-0/+10
| | | | | | | | Reviewed-by: Trond
| * Fixes: Make drawPixmap as fast as drawImage on rasterRGunnar Sletta2009-04-072-34/+68
| | | | | | | | | | | | RevBy: Samuel Details: The IMAGE_FROM_PIXMAP has to be doing a local copy or something, because it is sure not fast...
| * Fixes: Make drawPixmap slightly more optimal for QPaintEngineExGunnar Sletta2009-04-071-3/+6
| | | | | | | | RevBy: Samuel
| * Optimise QPainterPath::contains(QPointF)Lars Knoll2009-04-061-1/+1
| | | | | | | | | | | | We can shortcut quite some calculations for the common case by first checking whether the point is contained in the control point rect.
| * Fixes: Optimization: Important cut-offs for QTransform.Bjoern Erik Nilsen2009-04-062-3/+34
| | | | | | | | | | | | | | Task: none RevBy: Samuel AutoTest: Still pass Details: Please do not perform (potentially expensive) calculations just for fun :)
| * Fixes: Small optimization: reduce calls to QTransform::type().Bjoern Erik Nilsen2009-04-061-7/+8
| | | | | | | | | | | | | | | | | | | | Task: none RevBy: Ariya Hidayat AutoTest: Still pass. Details: QTransform::type() is cached, so only the first call to it should be expensive. However, it is not inlined so there's an overhead involved (especially when these functions are called a gazillion times).
| * Subject: Fix typo in CompositionMode sectionAndy Shaw2009-04-011-1/+1
| | | | | | | | Reviewed-by: TrustMe
| * Subject: A couple of minor doc fixesAndy Shaw2009-04-011-1/+1
| | | | | | | | Reviewed-by: Morten Engvoldsen
| * Doc: Clarified that the main use case for QRegion is as a clipping primitive ↵David Boddie2009-03-311-9/+13
| | | | | | | | | | | | | | not as a rendering primitive. Task-number: 183493 Reviewed-by: TrustMe
| * Fix text drawing and perspective transforms for the Windows, PDF andTrond Kjernåsen2009-03-314-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | PostScript print engines. The PDF/PostScript does not support perspective transforms, so it has to be emulated through our draw_helper() fallback. PostScript doesn't support alpha blending, so all perspective drawing needs to be forced through the alpha print engine. Task-number: 249754 Reviewed-by: Samuel
| * Doc: Synchronized the QTransform constructor arguments with the class ↵David Boddie2009-03-301-8/+11
| | | | | | | | | | | | | | documentation and updated a diagram. Task-number: 228201 Reviewed-by: TrustMe
| * Fix missing fills of rects with negative width/height in raster engine.Samuel Rødal2009-03-301-1/+1
| | | | | | | | | | | | | | Call isEmpty() on the normalized rect instead of the original rect. Task-number: 247505 Reviewed-by:
| * Fix very slow stroking of paths in X11 paint engine.Samuel Rødal2009-03-274-14/+24
| | | | | | | | | | | | | | | | Use QStroker::setRect() to avoid dashing parts of the path that are outside the device rect. Task-number: 246573 Reviewed-by: Trond
| * Fix mismatch between stroke and fill of ellipses on X11.Samuel Rødal2009-03-271-7/+3
| | | | | | | | | | | | | | | | | | | | When drawing ellipse without stroke we need to use the same width/height for the fill as we would use for the stroke for the stroke and fill to match. Filling first and then stroking should produce the same result as filling and stroking in one go. Task-number: 249490 Reviewed-by: Trond
| * Rendering error (one pixel offset) when drawing ARGB32_PM on RGB16.Samuel Rødal2009-03-241-0/+2
| | | | | | | | | | | | | | Missing increments in the blend function's tail code. Task-number: 247492 Reviewed-by: Paul
| * Fixes compile on win32 with MinGW.Rohan McGovern2009-03-241-1/+1
| | | | | | | | Reviewed-by: Lorn Potter
| * Long live Qt 4.5!Lars Knoll2009-03-23158-0/+110595
|
* Long live Qt for S60!axis2009-04-24162-0/+110919