summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpaintengine_blitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headersAkseli Salovaara2015-03-311-13/+13
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I7e3e96183e073877b46bc8071b2ccae19e69426b Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Updated year in copyright headerKai Koehne2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | find . -path '*/3rdparty/*' -prune -o -type f -print | xargs -L1 sed -i -E 's/Copyright(.*) 2013 Digia/Copyright\1 2014 Digia/g' Manually patched files: demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp src/3rdparty/s60/eiksoftkeyimage.h tools/qdoc3/test/qt-project.qdocconf tests/auto/qsharedpointer/nontracked.h tests/auto/qsharedpointer/nontracked.cpp Change-Id: I3f9074923b4d6bd4666258ab04f01476cc6e901c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-131-1/+1
| | | | | | Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qpa: Fix rendering issue in blitter engine (negative scaling factors)Julien Brianceau2012-11-081-1/+5
| | | | | | | | | | | | | | A 180° rotation results in a TxScale QTransform with negative scaling factors (x=-1.0 y=-1.0). This is not properly handled by blitter paint engine yet, so use software rendering fallback in this case. This rendering issue can be seen when using "-webkit-transform" CSS property in WebKit with DirectFB QPA platform. cherry-picked from qt5/qtbase 07ea3cf0b3883979e84bd91a5dc6a7a126de3123 Change-Id: I0911fd1166a3968d0a1d6bcca47ce2b26866de44 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* qpa: Fix rendering issue in blitter paint engineJulien Brianceau2012-10-121-3/+4
| | | | | | | | | | | Take into account brush transformation for TexturePattern fill. Example : arrows are not rendered properly in http://www.youtube.com/leanback website. cherry-picked from qt5/qtbase 2f2656002735a14687c5d6b5a3250666a8e102e3 Change-Id: I11fead281e372b2a24da835f85c327879e9997f0 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-291-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* qpa: extend drawPixmap capabilitiesJulien Brianceau2012-09-121-10/+47
| | | | | | | | | | Extend drawPixmap capabilities for qpa through new OpacityPixmapCapability QBlittable flag and add related implementation in DirectFB platform. cherry-picked from qt5/qtbase 4ae829c1dbd0e8a72b82ab4c6cddb0a4ffe009f6 Change-Id: I8abdb0fa72bc030d769190d7cba40561007e7b46 Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
* qpa: add non-opaque fill supportJulien Brianceau2012-09-121-11/+55
| | | | | | | | | | | Add non-opaque fill support for qpa through new QBlittable flag "AlphaFillRectCapability" and add related implementation in DirectFB qpa platform. cherry-picked from qt5/qtbase aab15782e21bf0aaea7f2211278e9aa9fc78c6d7 Change-Id: Ia1c74c2926d2e244290dcb62cbd3b6848ba95707 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* qpa: incorrect rendering when stretching and clippingJulien Brianceau2012-09-031-5/+17
| | | | | | | | | When using QBlittable with SourceOverScaledPixmapCapability, rendering through clipAndDrawPixmap is incorrect when stretching: source pixmap rectangle has to be corrected using scaling factor. Change-Id: I80ad1c5ddc73a7b7394d0f5b412931c6279c175a Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update contact information in license headers.Sergio Ahumada2012-08-011-2/+2
| | | | | | | | | | | | | - Replace Nokia contact email address with Qt Project website. - Remove "All rights reserved" line from license headers. As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fix infinite loop due to FPU limitationStéphane Cerveau2012-07-171-2/+2
| | | | | | | | | | | Bug detected with animatedtiles in example/animation. In qpa mode, using some specific resolution of directfb such as 800x600 causes a bug in FillRectF where there is an infinite loop due to scalabilty of qreal value: One is rounded and the other not. Change-Id: I0a9c902889f589d669f60ff1b71fdc5266143826 Reviewed-by: Holger Freyther <holger+qt@freyther.de> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Base QBlitterPaintEngine on QRasterPaintEngineHolger Hans Peter Freyther2012-01-271-90/+100
| | | | | | | | | | | | | | | The original intention was to identify a clipping bug, it turns out that during a ::begin() (and systemChanged) we should forward the QPaintEnginePrivate state to our proxy engine. Instead of using the proxy-pattern subclass rasterengine and specialize the paths we are able to accelerate using the blitter interface. This will avoid similiar problems in the future. I have no performance measurement to show which of the two approaches is faster/slower. Change-Id: I5ee0de566f4568103f741af697bdabbb097927e4 Based-On: I39bff11b32b1fe20284c7e8df60050de5991bb6e Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Group code by functionality in header and cpp fileHolger Hans Peter Freyther2012-01-271-109/+108
| | | | | | | | | | | * Group code responsible for tracking the render pipeline state to check if we can easily accelerate it * Code that will call into the QBlittable * Code that will lock the QBlittable before calling into raster Change-Id: I759a1864967d92a4cdd48c29941cb20d36afd84f Based-On: I862e242d59805de5094ed363b486afcdbc23ff78 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Fix the 'solid' detection for the brush in case of fillRectHolger Hans Peter Freyther2012-01-271-2/+2
| | | | | | | | | | | | A default QPainter will set a QBrush with Qt::NoBrush BrushStyle, the current code detects this as a non solid fill and all calls with fillRect and a color will not go through QBlittable. Check for Solid or NoBrush style. Manually verified that a p.fillRect(rect, Qt::red) goes through the accelerated path now. Change-Id: Ie53abf0a7ba349ba70742a94086708aca0beaa37 Based-On: Ic0d98030e94f5d11abbe61628fbf71d1e08219c2 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Move state updates into new methodsHolger Hans Peter Freyther2012-01-271-45/+86
| | | | | | | | | | Create updateCompleteState(QPainterState*) so we don't need to call into the paintengine, move all state methods into the QBlitterPaintEnginePrivate class. Change-Id: Ia621aeb9dba98152503f14d8900cf57b5bf2d4f9 Based-On: If30fdcc3f63755e0443bced7d9d9fb993d4ec2b7 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Move the definition out of the class declarationHolger Hans Peter Freyther2012-01-271-59/+68
| | | | | | | | | Cosmetic change to remove four spaces of indention from some of the more deeply nested methods. Change-Id: I9f09a0ce65d74d6dab59a293bb7fb172a5e47aef Baed-On: I67fdd0ab722b7c7c67c4da7a0a0bd86459751700 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Kill the isBlitterLocked variable of theHolger Hans Peter Freyther2012-01-271-11/+3
| | | | | | | | | | | It starts with being initialized wrongly, the call to buffer() will lock the data while we think it is not locked, it can also get out of sync by someone calling buffer() again. Remove the variable and check with the QBlittable if we need to lock the resource into memory. Change-Id: I6d7b336ed2e272724ec5b1348b410cbc4452422f Based-On: I350375011138d1b4c2c48c100b7b30b8ea2ae460 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Use CapabilitiesToStateMask as a class memberHolger Hans Peter Freyther2012-01-271-30/+29
| | | | | | | | | | Move the bit helper functions into CapabilitiesToStateMask as they are only used in this class, allocate the class as part of the QBlitterPaintEnginePrivate, shorten the name as well. Change-Id: Ifab7905d7e240b7c9f08ac5e3421a632b6fe2249 Based-On: If22ddd117a9789cd98edb08f23fd0ffabb17d5a5 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* blitter: Style changes to the codeHolger Hans Peter Freyther2012-01-271-77/+64
| | | | | | | | Attempt to follow Qt style guidelines. Change-Id: I53d3e93eab615e2b8b705698eb87a8d2636723ec Based-On: I3298c8d41d40ab5b0153a33d44b1b607a2edca8e Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-111-1/+1
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* [blitter] Fix memory leak in the blitter paintengineHolger Hans Peter Freyther2011-12-131-5/+5
| | | | | | | | | | | | The raster engine and the capabilities were leaked, use the QScopedPointer to prevent that from happening. Cherry-picked-from: qtbase:d5f12b898b8480c891382c54672422c50218751a. Change-Id: I31ba0117280b48ad942fbb638fb151ccb7b34385 Merge-request: 1492 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-131-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Update copyright year to 2011.Rohan McGovern2011-03-111-1/+1
| | | | | Reviewed-by: Trust Me (cherry picked from commit 774a3536b00c4d6e4c4c10b708e31b4373a338e3)
* Fix the license in files for LighthouseJørgen Lind2010-10-281-0/+41
|
* Use the QBlittable::drawPixmap implementation for pixmaps when we canJørgen Lind2010-06-021-3/+3
| | | | just enable a few more states
* Small optimalisation in DirectfbBlitterJørgen Lind2010-04-121-1/+1
|
* Cleaned up Blitter Paint engine and fixed a couple of bugsJørgen Lind2010-04-121-57/+54
|
* Make sure the blitter api works with Raster GS(x11 and win) and QWSJørgen Lind2010-03-291-56/+5
|
* Compile after QStaticText introductionPaul Olav Tvete2010-03-011-0/+12
|
* Minimaldfb: try to make pixelformat of window the same as the layerJørgen Lind2010-02-231-0/+4
|
* Fix release build-error in qpaintengine_blitter.cppJørgen Lind2010-02-091-1/+1
|
* Second attemt on rasteroverlay in blitterpaintengineJørgen Lind2010-02-091-55/+42
|
* Fix QPixmap::fill autotest and cachekey autotestJørgen Lind2010-01-271-0/+2
| | | | | | | Also make sure it didn't failed with a QFATAL when drawing bitmaps and tried to make sure all surfaces er unlocked when opperations are being performed on them from the windowsurface. There are still test failuers :(
* Make the blitterpaintengine not create a pathJørgen Lind2010-01-191-0/+6
| | | | | but call the raster implementation instead (this is a workaround for the anti-pattern that the blitterpaintengine is)
* Fixed QBlittablePixmapData::fillJørgen Lind2010-01-181-2/+1
| | | | | and a clipping error in the paintengine. Should prob. refactor engine state and clip calls.
* minimaldfb: Set the correct SetDstBlendFunctionJørgen Lind2010-01-141-2/+2
|
* Cleanup blitter and minimaldfbJørgen Lind2009-11-251-4/+24
| | | | | | A QBlittable is now aware if it is locked or not. Created a seperate header file for DirectFB convenience functions
* Made the blitter api work in lighthouseJørgen Lind2009-11-251-23/+28
|
* Added QBlittablePixmapDataJørgen Lind2009-11-251-14/+17
| | | | Is going to be used by everyone that reimplements QBlittable
* Adding the blitter paint engineJørgen Lind2009-11-091-0/+638