summaryrefslogtreecommitdiffstats
path: root/src/plugins/gfxdrivers/directfb
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in Digia's license headersSergio Ahumada2013-01-1315-15/+15
| | | | | | Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2915-360/+360
| | | | | | | | 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>
* Update contact information in license headers.Sergio Ahumada2012-08-0115-30/+30
| | | | | | | | | | | | | - 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>
* DirectFB: Improvement for QDirectFBPaintEngine::fill()Marcel Schuette2012-05-301-12/+9
| | | | | | | | | | | | | | | | | | | Improvement for bug fix related to QTBUG-23850 in QDirectFBPaintEngine: combine the conditions for an accelerated fillrect (5 elements and rectangle shape) in first if-statement. The previous check for NULL pointer solves the problem for the crash, but it simply skips the type check (which caused the crash before) and the or-condition (shape) became true and leads to an accelerated fillrect. Otherwise it would fallback to raster. The original reason for the crash (elemets is null) might be Q_DISABLE_COPY macro of QVectorPath, especially with the last lines of the Q_DISABLE_COPY documentation, which could become true on embedded devices, where DirectFB is often used, with special toolchains/compilers. Task-number: QTBUG-23850 Change-Id: I340291fbce24260c7522684305c292e66cfc32af Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* QDirectFBPaintEngine::fill crashes if QVectorPath elements is NULLRamamurthy KV2012-01-301-2/+4
| | | | | | | | | Checking for elements to not NULL. If the shape is QVectorPath::RectangleHint calling fillRect and not falling to RASTERCALLBACK. QTBUG #23850 Change-Id: I402da6074a1c7a9b1d026efe5d1b068e4aea8805 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-1115-15/+15
| | | | | | | | | 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>
* Fix brush transform in QtDirectFB backend, fixing QTBUG-18577Denis Oliver Kropp2011-05-191-2/+2
| | | | | Merge-request: 1224 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* directfb: Paint engine enhancementsDenis Oliver Kropp2011-05-192-137/+299
| | | | | | | | | | | | | | - Support negative scaling using DSBLIT_FLIP_HORIZONTAL/VERTICAL (DirectFB >= 1.4.3). - Implement drawing points. - Implement rectangular path filling. - Discard drawing when alpha is zero with SrcOver. - Also use DirectFB StretchBlit() if supported by hardware. - Unify/simplify pen/brush/composition support handling. - Enhance output when printing raster fallbacks. - Other minor cleanups. Merge-request: 991 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* Update licenseheader text in source filesJyri Tahtela2011-05-1315-255/+255
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Fix build of Qt/DirectFB without graphics view support.Denis Oliver Kropp2011-04-181-1/+3
| | | | | Merge-request: 1187 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* directfb: avoid version dependency by setting DSPD_DST blend functions manuallyDenis Oliver Kropp2011-03-281-3/+2
| | | | | Merge-request: 2558 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* directfb: fix crash in client/server mode of qwsDenis Oliver Kropp2011-02-172-16/+31
| | | | | | | | | | | | | | The server was crashing due to client pointer being sent as "sibling". Instead surface flags are sent and sibling code is removed. Also the window ID is transfered and used on receiver side to get a local handle to the window. Click to focus window works, but it is not raised. Merge-request: 989 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* Make Qt/DirectFB less verbose about failing to load pixmaps.Anders Bakken2011-02-171-3/+2
| | | | | | | | | | Qt/DirectFB is way too verbose about not being able to use DirectFB for loading images. A lot of times DirectFB doesn't have support for e.g. pngs or gifs and currently one gets a message for every failed pixmap load, even if they will succeed when falling back to Qt. Merge-request: 2552 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* fix-layer-getsurface-result-check-for-screen-size-determinationDenis Oliver Kropp2011-02-171-1/+1
| | | | | | | GetSurface() was checked for NOT returning DFB_OK, but it should Merge-request: 2528 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* directfb: Pixmap creation always premultiplied the alpha even when it is ↵Denis Oliver Kropp2011-02-041-18/+4
| | | | | | | | | already premultiplied in the image. This also avoids the temporary surface and blitting. Merge-request: 990 Reviewed-by: Marcel Schuette <marcel.schuette@nokia.com>
* Update copyright year to 2011.Jason McDonald2011-01-1015-15/+15
| | | | Reviewed-by: Trust Me
* Compile with QT_NO_PROXYSCREEN.Sam Magnuson2010-11-191-0/+2
| | | | | Merge-request: 931 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Minor adjustments to merge-request 915Donald Carr2010-11-111-2/+2
| | | | | | Fix minor stylistic issue raised by Oswald Removed duplicate sourceSurface pointer introduced by sibling merge request
* Implement brush transformations for directfb.Sam Magnuson2010-11-111-14/+28
| | | | | | Merge-request: 915 Reviewed-by: Donald Carr <donald.carr@nokia.com> (cherry picked from commit b62079cf17044e09999eb1808788926ea921fb05)
* DFB: Make sure QPixmap::hasAlpha is respectedAnders Bakken2010-11-081-7/+27
| | | | | | | | | An IDirectFBSurface can have an alpha channel for an opaque QPixmap. This change will make sure we don't blend unless QPixmap::hasAlpha returns true. Merge-request: 913 Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fix some painting issues in QDirectFBPaintEngineAnders Bakken2010-11-081-9/+15
| | | | | | | | | | | | | Inspired/rewrite of Denis Oliver Kropp's merge request (http://qt.gitorious.org/qt/qt/merge_requests/874) When blitting premultiplied source surfaces one has to set DSBLIT_SRC_PREMULTIPLY. This also reverts the erroneous 6acbf6dce98903310023284e27a65c19f9a829bc Merge-request: 903 Reviewed-by: Donald Carr <donald.carr@nokia.com>
* QtDFB: Make transparent windows behave betterAnders Bakken2010-10-223-17/+29
| | | | | | | | Windows with Qt::WA_NoSystemBackground should clear to transparent in beginPaint. Merge-request: 882 Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Fall back to Qt for loading images with DICAPS_COLORKEY.Anders Bakken2010-10-211-7/+11
| | | | | Merge-request: 844 Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Export qt_directfb_.* functions in plugin as wellAnders Bakken2010-09-173-5/+1
| | | | | | | | | | | | | | These functions can be a big help in debugging rendering errors in an application and can even be handy to use for real functionality. While it requires the app to explicitly link to the plugin (when compiling with -plugin-gfx-directfb this is still much better than not exporting them). Since this was the only use-case for QT_DIRECTFB_PLUGIN it's probably better to take that define out. Merge-request: 2470 Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Make SourceOver work properly in Qt/DirectFBAnders Bakken2010-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Qt and DirectFB have different definitions of SourceOver. In DirectFB it's defined as this: /* pixel = (source * fs + destination * fd), sa = source alpha, da = destination alpha */ DSPD_SRC_OVER = 3, /* fs: 1.0 fd: 1.0-sa */ In other words, the source pixels are not multiplied by the alpha and this leads to issues with RGBA values like 255, 0, 0, 0. The composition mode that in DirectFB that maps onto Qt's CompositionMode_SourceOver is DSPD_NONE, defined like this: DSPD_NONE = 0, /* fs: sa fd: 1.0-sa (defaults) */ Merge-request: 807 Reviewed-by: Donald Carr <donald.carr@nokia.com>
* Clean up rasterfallback mechanism in DirectFBDonald Carr2010-08-121-103/+84
| | | | | | | | | | | | | | Being able to debug which paint operations are slow with Qt/DirectFB is currently only possible in debug builds (which defeats the purpose somewhat) or by frequent recompilation (with different defines). This patch cleans up the mechanism somewhat and makes it available in release builds as well. The overhead is a single int comparison so it really isn't a performance issue to have this code in place at all times. Reviewed-by: Anders Bakken <agbakken@gmail.com>
* Fix a bug in QDirectFBPixmapData::fromImageAnders Bakken2010-05-272-16/+11
| | | | | | | | | Every image that was converted with flags & Qt::NoOpaqueDetection would be considered to have an alpha channel. This patch fixes that and simplifies the code a little. Merge-request: 637 Reviewed-by: Samuel Rødal <sroedal@trolltech.com>
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-291-15/+10
|\ | | | | | | | | | | | | Conflicts: mkspecs/common/symbian/symbian.conf qmake/generators/symbian/symmake.cpp src/3rdparty/webkit/WebCore/WebCore.pro
| * Refactor QDirectFBPixmap::fromImage slightlyAnders Bakken2010-03-261-14/+9
| | | | | | | | | | | | | | Clean up the function a little and make sure I don't call QImage::hasAlphaChannel twice for opaque images. Reviewed-by: muthu <qt-info@nokia.com>
| * QDirectFBPixmap can handle NoOpaqueDetection.Anders Bakken2010-03-261-1/+1
| | | | | | | | | | | | | | We don't need to do the conversion using QImage when NoOpaqueDetection is specified. Reviewed-by: muthu <qt-info@nokia.com>
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-03-154-19/+17
|\ \ | |/ | | | | | | Conflicts: src/gui/styles/qs60style_s60.cpp
| * Compile without QT3_SUPPORTAnders Bakken2010-03-091-2/+2
| | | | | | | | | | | | QList<T>::remove() is QT3_SUPPORT, replace with erase(). Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Improve scrolling in DirectFBAnders Bakken2010-03-092-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | Since DirectFB always uses the front buffer of a double buffered surface as the source when blitting we needed to make sure that the front buffer was valid and hence we called Flip for each scroll. This had negative performance impacts since you could end up with various parts of a window being updated at different times. With this patch we store whether the front-buffer is up to date inside the window surface and only call Flip in scroll if it's not. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Don't use DirectFB for non-existing pixmapsAnders Bakken2010-03-081-0/+2
| | | | | | | | | | | | | | DirectFB will print a warning for this since the file doesn't exist but we might as well not try when we know the file doesn't exist. Reviewed-by: Donald Carr <donald.carr@nokia.com>
* | Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Rohan McGovern2010-03-062-79/+150
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Compile with DirectFB version >= 1.2.0 && < 1.2.9Anders Bakken2010-03-051-1/+1
| | | | | | | | | | | | DSPF_DST was added in 1.2.9, not in 1.2.0 Reviewed-by: muthu <qt-info@nokia.com>
| * QDirectFBPaintEngine optimizationAnders Bakken2010-03-051-3/+4
| | | | | | | | | | | | | | If you call fillRect(QBrush(QColor())); we should short-circuit before falling back to the raster engine. Reviewed-by: muthu <qt-info@nokia.com>
| * Add some warnings when using DISABLE/WARN in DFBAnders Bakken2010-03-051-4/+19
| | | | | | | | | | | | | | | | If you specify an operation that is not recognized in QT_DIRECTFB_WARN_ON_RASTERFALLBACKS or QT_DIRECTFB_DISABLE_RASTERFALLBACKS Reviewed-by: muthu <qt-info@nokia.com>
| * Simplify DirectFB performance debuggingAnders Bakken2010-03-021-16/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | Allow people to control whether or not to warn on/disable raster fallbacks using the following mechanism: export QT_DIRECTFB_DISABLE_RASTERFALLBACKS="draw_pixmap|draw_text" export QT_DIRECTFB_WARN_ON_RASTERFALLBACKS="draw_lines" It's still possible to define QT_DIRECTFB_WARN_ON_RASTERFALLBACKS to something for legacy reasons. The environment variable check is only available in debug mode.
| * Fix licenseCheck autotestOlivier Goffart2010-03-021-1/+1
| |
| * Make composition modes work better for DirectFBAnders Bakken2010-03-011-60/+39
| | | | | | | | | | | | | | | | | | | | It seems that I have to premultiply the colors I pass to IDirectFBSurface->SetColor when composition mode != Source|SourceIn. It now seems to behave the same way as the raster engine which I guess should be considered the authority on this matter. Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
| * Don't disable alpha when filling with opaque colorAnders Bakken2010-03-011-1/+1
| | | | | | | | | | | | | | | | Qt heuristics say that a QPixmap becomes an alpha pixmap when filled with a color with alpha != 255 but not that it returns to being opaque when filled with a color with alpha == 255 Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
| * Add support for composition mode DSPD_DST in DFBAnders Bakken2010-03-011-0/+5
| | | | | | | | | | | | This porter duff rule was added in DirectFB 1.2 Reviewed-by: Noam Rosenthal <noam.rosenthal@nokia.com>
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into master-s60axis2010-02-264-45/+73
|\ \ | |/ | | | | | | | | Conflicts: qmake/generators/symbian/initprojectdeploy_symbian.cpp qmake/generators/symbian/symmake_abld.h
| * Initialize mem to 0Anders Bakken2010-02-241-1/+1
| | | | | | | | | | | | If DirectFB fails to lock a surface it won't necessarily set mem to 0. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Force DSFLIP_BLIT unless it's a full flip in DFBAnders Bakken2010-02-241-1/+12
| | | | | | | | | | | | | | | | If you're only updating parts of a widget we have to make sure DSFLIP_BLIT is included. Otherwise Qt's assumptions about the backing store breaks. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Support for disabling partial flips in dfbAnders Bakken2010-02-242-2/+5
| | | | | | | | | | | | | | | | | | | | Certain boards do not properly support IDirectFBSurface->Flip() with a partial DFBRegion passed in. This problem can be worked around by exporting: QWS_DISPLAY=directfb:nopartialflip Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Allow forcing premultiplied format in DFBAnders Bakken2010-02-241-1/+5
| | | | | | | | | | | | | | This was already possible in non-WM mode. I now enable using the same connect argument to make it work for WM. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Better support tlw transparency in DirectFBAnders Bakken2010-02-242-40/+50
| | | | | | | | | | | | | | | | | | Since we don't have a dedicated function that gets called when isOpaque changes for a window we do not support making an existing window non-opaque at runtime. Supporting this would require considerable overhead per flush and we do not want that. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>
| * Fix an isOpaque bug in QDirectFBWindowSurfaceAnders Bakken2010-02-241-2/+2
| | | | | | | | | | | | The logic was reversed. Reviewed-by: Jervey Kong <jervey.kong@nokia.com>