summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in license headers.Jason McDonald2012-01-0521-21/+21
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* directfb: Refer to the right class in the error messageHolger Hans Peter Freyther2012-01-031-1/+1
| | | | | Change-Id: I41d0b95092d16bc3a643fca903c68be82813dad6 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfbegl: Add unimplemented QDirectFbWindow::eglSurface, build fixHolger Hans Peter Freyther2011-12-062-1/+16
| | | | | | | | | | | QDirectFbScreen needs to have the full QDirectFbCursor definition, include the header file directly instead of a forward declaration. Impelement QDirectFbWindowEGL::eglSurface to return the EGLSurface of the underlying DirectFBWindow. Change-Id: Ib6765331ffea6e0b5f10f738d9e05320b7f8155f Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Introduce EGL integration for DirectFBHolger Hans Peter Freyther2011-12-028-4/+327
| | | | | | | | | | | | Introduce a new platform called 'directfbegl' that allows platform integration with EGL. Change the QDirectFbIntegration to make it more easy to hook up in the creation process, introduce an EGL integration with custom screen, window and EGL Platform Context. Vendors might need to add custom code to initialize EGL to be used with DirectFB, this can be done in QDirectFbScreenEGL::platformInit. Change-Id: I7bee277ede27c72437cd7c5977fa6ed85e65f538 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Use QT_BEGIN_NAMESPACE/QT_END_NAMESPACE around the codeHolger Hans Peter Freyther2011-12-029-0/+32
| | | | | Change-Id: Iabf32130dcfe4f5a383e9c99f661ded176432817 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Move the macro to the qdirectfbconvenience header fileHolger Hans Peter Freyther2011-12-022-5/+6
| | | | | | | | We will need to have logging outside of the blitter code, make the macro available to everyone. Change-Id: I811ecb98a870a818630276b5daa788790db71ccd Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Use the QPlatformWindow in the DirectFB BackingstoreHolger Hans Peter Freyther2011-11-243-8/+10
| | | | | | | | | Remove usage of QDirectFbConvenience::dfbDisplayLayer in the QDirectFbBackingStore code and resolve the IDirectFBWindow through the QPlatformWindow. Change-Id: Ia7db8dedc91096648bc9de029d034002ba0d6a03 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Get the IDirectFBDisplayLayer through the QPlatformScreenHolger Hans Peter Freyther2011-11-244-5/+15
| | | | | Change-Id: I1e8bacc2a5c39065f1c0667cda900730c5670066 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Fix the typo in the parameterHolger Hans Peter Freyther2011-11-241-1/+1
| | | | | Change-Id: I3d373872c533bc4b6f4f010f5cce4dbb41dbb561 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Remove dfbDisplayLayer from QDirectFbInputHolger Hans Peter Freyther2011-11-243-8/+7
| | | | | Change-Id: I2ae61c40c28b337448077cff5643a007b54a3d71 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Pass the IDirectFBWindow to the QDirectFbInput methodsHolger Hans Peter Freyther2011-11-243-16/+26
| | | | | | | | No need to go from IDirectFBWindow -> WindowID -> IDirectFBWindow to attach the event buffer for the event system. Change-Id: Ia5f7c20d06e8e1da5142f1bd99ca69906107adba Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Use DirectFBErrorFatal for errors we don't handle wellHolger Hans Peter Freyther2011-11-241-5/+4
| | | | | | | | | In case we fail to initialize DirectFB, use the DirectFBErrorFatal to quit as there is no way we can recover from this error and the QPA backend has already been selected. Change-Id: I8001bf32d0a14ba21c2ec13121748a6384b87c2b Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Access the screen layer through QWindow::screen()Holger Hans Peter Freyther2011-11-245-4/+30
| | | | | | | | | Instead of assuming which layer was assigned to Qt, resolve the to be used layer via QWindow::screen()->handle(). Add a method to the DirectFB QPlatformScreen to provide a pointer to the IDirectFBDisplayLayer Change-Id: Iaea9466ca84daff752a4932deafbe38f48123715 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Move QDirectFbScreen into a separate fileHolger Hans Peter Freyther2011-11-246-63/+151
| | | | | | | | The screen handling will get a bit more complex due the integration of different ways to do OpenGL. Move to a new file. Change-Id: Ibe3e397d13da1b270ec4afaf046d28be50e976f9 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Implement grab/ungrab of keyboard/pointerHolger Hans Peter Freyther2011-10-212-0/+26
| | | | | Change-Id: Ie2b99bb659e324c63bfd23e96d6c89c13a8df3b4 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Remove grabbing of the pointer on inputHolger Hans Peter Freyther2011-10-211-5/+0
| | | | | | | | This should not be done on the input level but we should handle the requests on the QWindow to grab/ungrab the pointer Change-Id: Ibc61b300bf8de20f576fb8972fadf18de4a142c1 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Implement QPixmap::fromFile using DirectFB routinesHolger Hans Peter Freyther2011-10-212-0/+114
| | | | | | | | | | The code is based on Qt 4.8 DirectFB support, it was reduced in size (cosmetic changes, by using the outPtr()) and it has a bugfix to pass loadAsBitmapOrPixmap that assumes the loadFromFile routine will add '.png' and other extensions to the file. Change-Id: I25b11206053c02be5c04730fba5bb42bd07426d1 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Prepare to select the alpha/opaque pixel formatsHolger Hans Peter Freyther2011-10-212-2/+21
| | | | | | | | | Right now we assume to use 32bpp but depending on the hardware this might not be optimal at all. Begin to prepare the code for not having a 32bpp surfaces. Change-Id: Iedfa49c568559e074dfaeae2a216c9eb93721d2c Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Manage the font database with a QScopedPointerHolger Hans Peter Freyther2011-10-212-2/+2
| | | | | | | Attempt to fix a memory leak on exit by deleting the font database. Change-Id: I07b0865c97bb8ef26950bf231b5239ca01e95c56 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Remove some duplication in the QDirectFbBlitter c'tor.Holger Hans Peter Freyther2011-10-211-8/+11
| | | | | | | | Introduce dfb_blitter_capabilities that returns the QBlittable::Capabilities of the DirectFB blitter. Change-Id: Ifb803ff4f07376d5333ad2d05ff72d9a63d17fff Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* directfb: Initialize m_dfb after DirectFBInit has been calledHolger Hans Peter Freyther2011-10-211-2/+4
| | | | | | | | | | The QDirectFBIntegration is responsibe for deleting the DirectFB instance but it can only initialize the DirectFB instance after the DirectFBInit has been called. Change the order. This issue got introduced by myself in 3faa89f4. Change-Id: Ia67d439152d895e2e0a47f35eed57348c629f79f Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Introduce the QDirectFBPointer from QWS/gfxdriversHolger Hans Peter Freyther2011-10-2114-93/+126
| | | | | | | | | | Introduce QDirectFBPointer and use it throughout the code to fix various resource leaks in the DirectFB backend. Fix the surface ownership of the IDirectFBSurface in the Blittable/BackingStore code. Change-Id: I0d4572eaab80b3558e644f26d76222461bf37bbb Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Make QDirectFBInput a QThread to allow proper exitsHolger Hans Peter Freyther2011-10-213-29/+18
| | | | | | | | | | | | | | | | Without this patch the application will get stuck waiting for the IDFBEventBuffer to report an event. We will use the IDFBEventBuffer::WakeUp function to interrupt the waiting but this produces the below error on exit: QEventLoop: Cannot be used without QApplication QThread: Destroyed while thread is still running This is solved by making the QDirectFBInput a QThread, reimplement the run() method to handle the events. It should work as this is only posting events to the QApplication event loop. Change-Id: I24adf2b080f96c72ede6a5499f484ac33fdd44fc Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Use QScopedPointer to manage heap allocated objectsHolger Hans Peter Freyther2011-10-217-33/+16
| | | | | | | | | | | Use QScopedPointer to avoid trying to manually delete objects. For some of the cases the leak would only be viewable when things are getting shut down. Leave in some more warnings for cleaning it up, e.g. the m_eventBuffer of the Input is leaked and the input task will only stop after another key event. Change-Id: Ic54568343605b4ab7094a7dece40e22250184a37 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Fix memory leak when passing arguments to directFBHolger Hans Peter Freyther2011-10-211-0/+3
| | | | | | | We need to delete the array but also the elements inside it. Change-Id: Ib61beeca569802638b9ff3b94ede79c0beebb399 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Do not call a pure virtual functionHolger Hans Peter Freyther2011-10-211-2/+0
| | | | | | | | | In 688d9f6ec0a0da5539a3d11fa1dc6e1ae0558cda the base class was changed from QWindowSurface to QPlatformBackingStore but QPlatformBackingStore::resize is pure virtual now. Change-Id: Ib36f177d80e9458e7e8e34f587e4554c0462e35c Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [directfb] Rename class from WindowSurface to BackingStoreHolger Hans Peter Freyther2011-10-215-17/+17
| | | | | | | | Catch up with the naming by renaming the file from windowsurface to backingstore, update the class names and include files. Change-Id: I1b16826b60c19490946a77f61518e18f8099adce Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* [blitter] Work on tst_QPixmap::clear()Holger Hans Peter Freyther2011-10-212-13/+30
| | | | | | | | | | | | | | | | | | | By default QPixmap may not hasAlphaChannel(), only if setMask() or fill() with a transparent color is called a QPixmap will hasAlphaChannel(). Make the QBlittablePlatformPixmap remember if there is an alpha channel, pass this as parameter in createBlittable to make it clear that this is required and not optional. Update the DirectFB plugin to handle this parameter to create a RGB32 or ARGB Surface depending on the alpha value, also only use PreMultiplied alpha when using ARGB. Separate the two constructors for the QDirectFbBlitter to either adopt a DirectFB Surface or to create one. Change-Id: I8abf82408ecd2d075fc6f241ace8be2a34ac56e7 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Improved logical and physical DPI APIs.Samuel Rødal2011-10-062-3/+3
| | | | | | | | | | | | | | Made physicalSize() return QSizeF instead, to prevent rounding errors. Added logicalSize() as the base to compute font pixel sizes instead, and added convenience functions in QScreen to access the logical and physical sizes and DPI metrics. Task-number: QTBUG-21736 Task-number: QTBUG-21737 Change-Id: Ic705dc98eb3632617659e65a0c9a552673dc0c65 Reviewed-on: http://codereview.qt-project.org/5888 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* [fontdatabase] Use the CONFIG += qpa/genericunixfontdatabaseHolger Hans Peter Freyther2011-10-031-1/+1
| | | | | | | | | | | | Late follow up of fc9a648dc03ec4531553bc3d65ae4dba3c5b5980 that tries to make plugins indifferent of where the source is located in relation to qtbase. Change-Id: I9a5944fe737056216c7174d8d9151c8d0e776a22 Merge-request: 64 Reviewed-on: http://codereview.qt-project.org/5933 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Merge branch 'refactor'Gunnar Sletta2011-09-1317-133/+116
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qws/linux-lsb-g++/qmake.conf src/gui/image/qpixmap_mac.cpp src/gui/painting/qpaintengine_x11.cpp src/gui/painting/qtessellator.cpp src/gui/text/qfontengine_qws.cpp src/gui/text/qfontengine_x11.cpp src/gui/widgets/qlinecontrol.cpp src/opengl/qgl.h src/opengl/qgl_x11egl.cpp src/plugins/plugins.pro Change-Id: If52dcd55cd55f2983a756c2f843967702b60a310
| * Copy core GL functionality to QtGui with QGL -> QOpenGL naming.Samuel Rødal2011-08-293-5/+4
| | | | | | | | | | | | Change-Id: Ibc989afa4a30dd184d41d1a1cd89f97196e48855 Reviewed-on: http://codereview.qt.nokia.com/3710 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
| * directfb: Follow coding standards, add hints of memleaks, remove varsHolger Hans Peter Freyther2011-08-265-36/+36
| | | | | | | | | | | | | | | | | | Use m_ for all member variables, document some classes that appear to lack proper destruction, remove unused variables from classes. Change-Id: Icec451149fa5d562d8d5f54cbe9a1aa1518bfc48 Reviewed-on: http://codereview.qt.nokia.com/3667 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * directfb: Convert the directfb plugin, disable the OpenGL supportHolger Hans Peter Freyther2011-08-2611-84/+57
| | | | | | | | | | | | | | | | | | | | OpenGL was never tested and the platform integration has changed, remove it from the build and re-enable it once one can test it. Change-Id: I70d5b5b11de06e6e999d3aae44660f11d2dbc719 Reviewed-on: http://codereview.qt.nokia.com/3666 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * Rename QPixmapData to QPlatformPixmap.Samuel Rødal2011-07-199-16/+16
| | | | | | | | | | | | | | | | | | Makes the API symmetric with the other Lighthouse APIs. Change-Id: I8a399f3c968ea35d4624711b31f2ac5bb94b7893 Reviewed-on: http://codereview.qt.nokia.com/1735 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
| * Add lighthouse event dispatcher API.Morten Sorvig2011-06-223-1/+12
| | | | | | | | | | | | | | | | | | | | Platform plugin creation is now moved forward in order to have a platform plugin instance at event dispatcher creation time. Plugins are now responsible for implementing PlatformIntegration::createEventDispatcher and returning an QAbstractEventDispatcher subclass.
* | directfb: Include directfbgl.h directlyHolger Hans Peter Freyther2011-09-121-1/+1
|/ | | | | | | | | | | | | | | | | | directfb.h is included directly in all other files, include directfbgl.h without the directfb/ prefix as well. $ pkg-config --cflags directfb -D_REENTRANT -I/home/foo/install/directfb/include/directfb Merge-request: 2643 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> (cherry picked from commit 647ffa677f9bf6da50fcdb7a6948501e7e6719ce) Change-Id: If96f378a95e7790132e89f934341977520367018 Reviewed-on: http://codereview.qt-project.org/4579 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Made qpluginbase.pri into a feature profile.axis2011-05-311-1/+1
| | | | | | | | | | | This enables other modules to use it without having access to the QtBase sources. Change-Id: I0a588b2e14ca88fa068c7c2bcc69ff669444f6c6 Task: QTBUG-19585 Reviewed-on: http://codereview.qt.nokia.com/237 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-2417-290/+290
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Introduced the QT.<module>.plugins variable to module profiles.axis2011-04-271-1/+1
|
* Initial import from the monolithic Qt.Qt by Nokia2011-04-2718-0/+2141
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12