summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fbconvenience
Commit message (Collapse)AuthorAgeFilesLines
* Fix: Initialize all needed member varsMartin Koller2014-04-041-1/+1
| | | | | Change-Id: I74b71d93e25e4b3b0c1a5766f2fbc4f71aebecbb Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Avoid polluting debug output in eglfs and linuxfbLaszlo Agocs2014-03-061-8/+12
| | | | | | | | Size hints will not be implemented. Grabs maybe some day but the warnings should be silenced for now. Change-Id: I1f4861454d45e668c4d758c7f82940cd1136d0c8 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Disable terminal keyboard on eglfs and linuxfbLaszlo Agocs2014-01-243-3/+183
| | | | | | | | | | | | | | | | | | | | | Unify the behavior for eglfs, linuxfb and kms. The relevant code is now moved from kms into fbconvenience. From now on, on all three platforms, terminal keyboard input is turned off by default. This feature can be disabled by setting QT_QPA_ENABLE_TERMINAL_KEYBOARD to 1. This is similar to what the evdev-based keyboard handler did in QWS in Qt4. [ChangeLog][QtGui] The main Embedded Linux platform plugins (eglfs, linuxfb, kms) are changed to behave identically with regards to terminal keyboard input: it is turned off by default on all of these platforms. If this feature is not desired, it can be disabled by setting the environment variable QT_QPA_ENABLE_TERMINAL_KEYBOARD. Task-number: QTBUG-36394 Change-Id: I69e47ed7580464dc5e703e9a0e23891c7c8b7790 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Android: Initialize mWindowStateBogDan Vatra2013-11-141-1/+1
| | | | | | | | | Use the same variable in QAndroidPlatformWindow. Task-number: QTBUG-34764 Change-Id: Idf33707e81cf7306663196f3c17735d8dc1dde5d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* add/remove window only when the window is shown/hiddenBogDan Vatra2013-11-071-3/+5
| | | | | | | Task-number: QTBUG-34469 Change-Id: Id77cf738f96bb94582833f6734a2a491b01e1666 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Android/LinuxFb: fix QWidget::showFullScreen()Paul Olav Tvete2013-10-232-0/+23
| | | | | | | | | | | | | Previously, showFullScreen() had a race condition: it depended on QFbScreen::setGeometry() being called after the window state was set (that would trigger QPlatformScreen::resizeMaximizedWindows(), which was the only part of the code that reacted to WindowFullScreen). On Android this caused random behaviour. Task-number: QTBUG-33294 Change-Id: I228e6af4139af1a47387e7d80757d7b46e859580 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* linuxfb: Do not crash with GL windowsLaszlo Agocs2013-10-151-2/+3
| | | | | | | | | We will show an error message saying no platform context is available but the crash (due to GL windows having a null backingstore) is not desirable. Change-Id: Iba3a61bfc4eeeb89b4a0017a58c87a7dbd0895e7 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* linuxfb: Make the mouse cursor visible and workingLaszlo Agocs2013-10-144-10/+24
| | | | | Change-Id: I58bae7235ae714da551da1337ee6340fc712aaa5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* remove unnecessary beginPaint and endPaint overridesShawn Rutledge2013-09-162-12/+0
| | | | | | | | | | | | | QPlatformBackingStore::endPaint does not take a QRegion parameter. 6ce6b8a378b0d97ba950240ffb048a4b7e485235 set the API, but the platform implementations were not all synced up since then. There was anyway no point in overriding beginPaint and endPaint on platforms which don't need to do anything there. This fixes clang warnings of the form QXcbBackingStore::endPaint hides overloaded virtual function Change-Id: Id6cd0fc2c831a34576ac2c73eeb0d5741d26e622 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Android: Fix crash when using QBackingStorePaul Olav Tvete2013-05-223-1/+21
| | | | | | | | | | When making a QBackingStore for a QWindow that was not created yet, Qt would try to dereference the (null) platform window pointer. Task-number: QTBUG-31022 Change-Id: I866c71cce9d401ebb598ea4cc91f7cf9bbb30982 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Style fixes for android enablersPaul Olav Tvete2013-02-272-3/+3
| | | | | Change-Id: I0b942865c29f4bdf29f0e7f56af0d620acbc39c6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Enablers in fbconvenience for Android portEskil Abrahamsen Blomfeldt2013-02-124-11/+51
| | | | | | | | Additions to make the convenience classes work for the Qt for Android port. Change-Id: I25ba0faf93c7e09ab04a3fa0784e04631e5ab036 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-228-8/+8
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-188-8/+8
| | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Regression: Fix setting of custom cursors for native widgets.Friedemann Kleint2013-01-211-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | Currently, there is no concept of not having a cursor set on a Window. Qt::ArrowCursor is always set instead. This causes bugs when native child widgets are involved, for example setting a cursor on the native widget's parent no longer works since the child's Qt::ArrowCursor applies. Introduce QWindowPrivate::hasCursor tracking whether a cursor has been explicitly set and clear in QWindow::unsetCursor(). Handle 0 in QPlatformCursor::changeCursor() to mean "unsetCursor()": - Windows: Introduce default constructor for QWindowsWindowCursor meaning "0". Search for applicable parent cursor in applyCursor. - XCB: No big changes required, set XCB_CURSOR_NONE for no cursor. - Other platforms: Assume Qt::ArrowCursor when cursor = 0 is passed for now. Task-number: QTBUG-28879 Change-Id: Id82722592f3cd5fe577a5b64dcc600c85cfea484 Reviewed-by: Jonathan Liu <net147@gmail.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Compile with QT_NO_CURSOR.Volker Krause2012-12-072-0/+4
| | | | | | | | | | | | | Mostly straightforward, the a11y changes might look a bit drastic, but the base class QAccessibleTextWidget was already disabled in this case, so we have to obviously take out its sub-classes as well. Change-Id: I682ace20d6938688ddb1da23c3463f3c025fab8e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
* QPlatformWindow: change API for QPlatformWindow::setWindowFlagsRichard Moe Gustavsen2012-10-152-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The current implementation requests the platform window to set as many of the flags it can, and return the same flags with the unsupported flags removed. The problem with this approach is that the platform window is created as late as possible, so a call to QWindow::setWindowFlags would in many (most?) cases never be forwarded to the platform window (instead, the platform window is responsible to check the current window flags upon creation). As such, the filtering would never be done. Looking at the current set of plugins, most of them also seems to ignore this protocol, returning the flags unfiltered. This patch suggests removing the return value from QPlatformWindow::setWindowFlags. This will at least be consistent, so that setting/getting flags would produce the same result independent of delayed window creation. If needed, we can later add new API to QPlatformIntegration or QPlatformWindow for querying supported window flags. Change-Id: I9c759b5f9fab5ebed764a982f77fe19881118875 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-228-192/+192
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* fbbackingstore: Don't overload inherited virtual functionKent Hansen2012-08-242-3/+2
| | | | | | | | The QPlatformBackingStore::endPaint function does not take any parameters. Change-Id: If15d7824d65a52c38332c6676c12a954469a58ab Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* linuxfb: fix style in QFbCursorGirish Ramakrishnan2012-07-132-45/+46
| | | | | | | Fix coding style, constness, m-prefix for member variables. Change-Id: I9d75b410b398e5c3084b086b41884f2a0ddd6e5e Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* linuxfb: Remove QFbWindow::setVisibleGirish Ramakrishnan2012-07-113-13/+2
| | | | | | | | | | | | | | QFbWindow::setVisible doesn't call into the base class implementation and thus suppresses the delivery of the expose event. It turns out we don't need to track the visiblity at all since the base QPA code tracks this already. After this change, windows are now render on the framebuffer. Change-Id: Ifcfc730456883eb423d79479bd0b04330b8c2d72 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: Add m prefix to all member variablesGirish Ramakrishnan2012-07-114-69/+69
| | | | | | | | Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Change-Id: Id1eb31ff15713c4ce3659f71d23a18ecf42f6bd3 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: raise and lower should take QFbWindow as argsGirish Ramakrishnan2012-07-113-25/+23
| | | | | | | | Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Change-Id: I856ea141a39f23968169ba29be1445fa089f7f02 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: let the window register itself with the screenGirish Ramakrishnan2012-07-111-0/+2
| | | | | | | | | This moves the addWindow call to the platformsupport code. Change-Id: Icf9175ae86ad880248036362e9c5f40124744272 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: Rework screen codeGirish Ramakrishnan2012-07-112-67/+35
| | | | | | | | | | Move the screen code from integration. The design philosophy is that QFbScreen takes care of generic framebuffer composition. QLinuxFbScreen is just an linux framebuffer adaptation layer. Change-Id: I8456c13826f06621037dd77fe0d0bd8873806c96 Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: remove mScreens from QFbWindowGirish Ramakrishnan2012-07-113-65/+33
| | | | | | | | | | A QWindow can only be in one QScreen, so it makes no sense to track a list of screens. Change-Id: I341a67afa90c7fbbbd95786b43d0a322fc1ddba2 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: create image only on resizeGirish Ramakrishnan2012-07-112-11/+3
| | | | | | | | Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Change-Id: I04cd75f96cf755ef0c12fad70e3bbd96fbbed9a1 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: don't store window in backingstoreGirish Ramakrishnan2012-07-115-17/+16
| | | | | | | | | | | The backing store already knows about the window. Also, rename surface to backing store in QFbWindow. Change-Id: I3701b3cdbdc228200da9b93b13037655dc436f53 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* linuxfb: make platformsupport convenience compileGirish Ramakrishnan2012-07-119-0/+1036
Rename fb_base to fbconvenience in-line with the other convenience classes. The code only compiles, it is not known to work. Change-Id: If51700ddf0a11ace5129af6f00f34fd895a6a4df Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>