summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Fix KDE calculated colors being all blackKimmo Leppälä2014-02-041-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KDE calculated colors weren't set correctly rendering all calculated colors "Light", "Midlight", "Mid" and "Dark" as black. Issues fixed: * QFrame with frameStyle Box|Raised didn't look raised but instead just black border. * QMdiArea had black background * QToolBox separators were just black Change-Id: I5e06bafe280f73af12f23960ae68a8b35e8549ac Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Kimmo Leppälä <kimmo.leppala@digia.com>
| | * Fix compilation: testBit is only used if mtdev isn'tThiago Macieira2014-02-031-0/+2
| | | | | | | | | | | | | | | | | | | | | qevdevtouch.cpp:160:20: error: unused function 'testBit' Change-Id: Idd9eee9b916c694bdfb963c00eeb0eaaf5618d40 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * evdevtouch: Don't try to keep reading on EAGAINRobin Burchell2014-01-241-26/+47
| | | | | | | | | | | | | | | | | | | | | | | | This stops touching the screen (and not moving) consuming 80-90% CPU. The mtdev and non-mtdev codepaths have been separated for additional clarity. Change-Id: I0559a6bd80dab961fdb4a83ad50860a9aec6445c Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * EvdevTouch: Don't remove released touch data for Type B; only ignore slotRobin Burchell2014-01-221-8/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Type B protocol states that touch slots with an ID of -1 should be considered unused, but data should be retained if that slot becomes active again later. Instead of removing the contact from the contact list, only "disable" it. This contact can later be reused if the slot becomes active again. Change-Id: I827ae311841dd97f73a2c64d943658cd3f29eaf8 Done-with: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | EGL convenience: Guard Linux-specific code with Q_OS_LINUX.Raphael Kubo da Costa2014-02-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of "blacklisting" Unix platforms that don't have Linux headers, do the opposite and check for Q_OS_LINUX in the framebuffer code that has Linux-specific code. This should help fix the build on other Unices, such as the BSDs. Change-Id: Icb6edf34bb20c9a98843b6dc0e2a87ee71fcd046 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | glxconvenience: Add a QT_XCB_FORCE_SOFTWARE_OPENGL environment variable.Kevin Kofler2014-02-071-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QT_XCB_FORCE_SOFTWARE_OPENGL environment variable is equivalent to LIBGL_ALWAYS_SOFTWARE for Qt 5 applications only. This is most useful with drivers that only support OpenGL 1. We need OpenGL 2, but the user probably doesn't want LIBGL_ALWAYS_SOFTWARE in OpenGL 1 apps. Together with http://pkgs.fedoraproject.org/cgit/qt5-qtbase.git/tree/10-qt5-check-opengl2.sh which goes into /etc/X11/xinit/xinitrc.d, it makes QML 2 just work on old hardware that supports only OpenGL 1.x in hardware. The scriptlet checks the glxinfo output for the OpenGL version and sets QT_XCB_FORCE_SOFTWARE_OPENGL if the major version is < 2. (The scriptlet requires xorg-x11-xinit and glx-utils.) Tested on a Radeon 9200 SE (RV280) that supports only OpenGL 1.3 in hardware. Change-Id: Ief80d283820d6336052b8f390a0030ba9b687492 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | | Decrease code duplicationKonstantin Ritt2014-02-066-30/+10
|/ / | | | | | | | | | | | | | | Check engine's supported scripts in a single place and remove unused script parameter from fontEngine(). Change-Id: Ic153803bef519320c370b058e77eac1a4d92afd0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Make HarBuzz-NG the default shaper on MacKonstantin Ritt2014-01-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we dropped all platform-related shapers during the QPA refactoring, thus making HarfBuzz the only shaper on all platforms, we can not deal with AAT-capable fonts anymore. HarBuzz-NG now supports it's own shaper backend infrastructure, so the decision was to enable HB's CoreText shaper backend on Mac and simply make HB-NG the default shaper there. Task-number: QTBUG-36056 Change-Id: If22e24fd5cc00c25952934332a2f4123f38135a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | eglfs: Mouse hotplugging supportLaszlo Agocs2014-01-316-7/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On Embedded Linux with libudev support hotplugging was already working, except that the mouse cursor was not shown and hidden. This is now corrected so that the cursor disappears when all mice become disconnected and reappears if a mouse gets plugged in later on. [ChangeLog][QtGui] Mouse hotplugging is now fully supported in eglfs when running on Embedded Linux systems with libudev support enabled. Task-number: QTBUG-36374 Change-Id: Iec7c1557ba6085e3958dd357460cc032896fb174 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Get rid of QGlyphLayout::advances_yKonstantin Ritt2014-01-301-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and thus consume 4 bytes less per glyph and increase the performance a bit. It seems, the only CTFontGetAdvancesForGlyphs() returns both x and y advances, though y advances are always equal to 0 for horizontal orientation and x advances are always equal to 0 for vertical orientation. Also, rename `advances_x` to `advances` for consistency and declare QGlyphLayout's data size in a single place. Change-Id: I56b20f893f8a6feb7aa870e3edbca99dd93ba2e2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | REG: Fix font matching in FontConfigEskil Abrahamsen Blomfeldt2014-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change a4ff400e25c76a32ec8252285dda043f07b19c15 exposed a bug in the font matching in the FontConfig engine. FcFontMatch is documented to not work unless you call FcConfigSubstitute() and FcDefaultSubstitute() on the pattern first. We were neglecting to do this, but hiding the bug before since we were doing our own font matching and never reading back the file name from FC's match. When we started doing this, suddenly DejaVu Sans (for instance) would match its bold variant instead. Change-Id: Ie6b7026de24cfb0353dc892fa862d6ee79604f38 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Fix application font removal when using FontConfigFabian Bumberger2014-01-281-112/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes an issue when a font that was added with QFontDatabase::addApplicationFont can not be removed any more. The reason for that is that QFontconfigDatabase::addApplicationFont adds the font to the FontConfig application set from where it cannot be removed any more and is picked up every time the font database is repopulated (e.g. after a call to QFontDatabase::removeApplicationFont). This also fixes the QFontDatabase autotest which unfortunately does not fail on linux, because it tries to add "FreeMono" (which in most cases is already there as a system font). So this patch removes FreeMono and adds LED_REAL as test font. Change-Id: I2fa5f4df0ad2099ac28673760ea25234c725dfc6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix nested template declarations for non-C++11 buildsTor Arne Vestbø2014-01-271-4/+4
| | | | | | | | | | Change-Id: Ie38aae09033a47106a4a1cf2e9997f90961a4e33 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Enable adding/removing application fonts on iOSTor Arne Vestbø2014-01-252-18/+51
| | | | | | | | | | | | | | | | | | | | | | As CTFontManagerCreateFontDescriptorsFromURL is not available on iOS < 7.0 we unfortunately need to fall back to the old behavior of only adding a single font on older iOS versions. Task-number: QTBUG-34490 Change-Id: I9c37a5cada067a4ebfaa9f04e7a30d41b8945990 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Teach CoreText font db to handle application font files with multiple fontsTor Arne Vestbø2014-01-251-67/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ATS code path already did this, by enumerating all the fonts in the resolved collection. The CoreText code path assumed that registering a font URL would only add a single font. We now use CTFontManagerRegisterFontsForURL to enumerate all fonts that were added. This functionality is not available for fonts based on a data provider. As part of implementing the patch the code was simplified to re-use logic between the different ways of resolving font descriptors from a file or byte array. Change-Id: I6eb15df939d03dc588a87e46f39bd54e56b50643 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Use shared list of application fonts in CoreText font databaseTor Arne Vestbø2014-01-252-22/+24
| | | | | | | | | | | | | | | | Instead of three separate lists depending on the font type. This makes enables sharing more code between the different implementations. Change-Id: If090d1b4a32f035b6344cbadd4c5ba66e0cb99f7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Disable terminal keyboard on eglfs and linuxfbLaszlo Agocs2014-01-245-9/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | eglfs: Fix physical screen size regression for some hooksLaszlo Agocs2014-01-242-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | On boards that provide their own custom ways of querying the screen size the resolution of widget apps became somewhat incorrect after the recent eglfs/eglconvenience refactor. This is because the physical size query helper was not able to access the screenSize() provided by the hooks, it was instead falling back to the default fb query which in turn returned the default screen size (e.g. 800x600). Change-Id: I46d487b61341d69dd9cb76d93198b1f44b64f195 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | eglfs: Upload only damaged areas into the texturesLaszlo Agocs2014-01-241-1/+0
| | | | | | | | | | | | | | | | | | Uploading the pixel data for the entire window on every update is not nice. Not sure why the line in question was added, it is most likely a leftover from some debugging session. Change-Id: I161af536c42ac24b299fc674039f2318f0fb8c4f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | eglfs: Fix quad coordinatesLaszlo Agocs2014-01-241-2/+3
| | | | | | | | | | | | | | | | | | Prevent artifacts on raster windows by properly mapping the coordinates to [-1,1]. Task-number: QTBUG-36370 Change-Id: I95d0d03952f597ef4ce6a950c6533a3af2df964a Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | QNX: Fix build on BB10 caused by missing linux fbWolfgang Bremer2014-01-181-2/+2
| | | | | | | | | | | | | | | | QNX/BB10 does not support linux framebuffer Change-Id: Ic25f69fc16cbcd27cbaa6db08c2b6556e4def965 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Introduce function for standard button texts to QPlatformTheme.Friedemann Kleint2014-01-182-0/+21
| | | | | | | | | | Change-Id: I91eec04a95b5047d893490a70152237b2991f662 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | eglfs: Move reusable functionality to eglconvenienceLaszlo Agocs2014-01-1721-16/+2013
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cursor implementation is generic GL(ES) code that should be shared by all the present and future egl-based embedded platform plugins. Follow the pattern of QEGLPlatformContext and move this class into eglconvenience as QEGLPlatformCursor. Similarly, the common bits from the context implementation context are moved back to EGLPlatformContext. eglconvenience has now base classes for integration, screen, window, etc. too. By using these, eglfs becomes much smaller and cleaner. This also paves the way for creating new, separate EGL-based platform plugins for Android, embedded Linux, etc. Also added some documentation to each of the base classes. devicediscovery is now fixed to be usable on any platform. The implementation in this case is naturally a dummy one. This finally allows using it from anywhere without myriads of ugly ifdefs. Change-Id: I02946e360c04e02de7fe234a23a08320eff4ccf5 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-105-8/+14
|\| | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * Remove unused member m_eglApiThiago Macieira2014-01-102-3/+2
| | | | | | | | | | | | | | | | | | It's not used anywhere. Found by Clang 3.4: qeglplatformcontext_p.h:80:13: error: private field 'm_eglApi' is not used [-Werror,-Wunused-private-field] Change-Id: I37ce240a9d07ef570e0814de366dbb7cd13ad714 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| * Fix evdevtouch build with -qtnamespaceSérgio Martins2014-01-091-3/+4
| | | | | | | | | | | | Change-Id: Ibac69cfa44eff33d8cc172fc16cf105fff4c12b1 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
| * Support discovery of key evdev devices.Robin Burchell2014-01-061-1/+6
| | | | | | | | | | | | Change-Id: Iac2751b51fb0af9fba181c26ad788f25eb0b02f7 Done-with: Andrew den Exter <andrew.den.exter@jollamobile.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Add support for OpenType (.otf) fontsJames Turner2014-01-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | FreeType already has support for the file format, so simply ensure they are picked up by the generic database. (Other backends, such as Windows, already had support) [ChangeLog][QtGui] Qt's generic font database now adds OpenType fonts (.otf). Change-Id: Ief5a3329e66b8066aad284172afd004f2cdfaebb Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Support running Qt apps on the integrated GPUMorten Johan Sørvig2014-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default starting an app that uses OpenGL will switch machines with dual graphics hardware over to the discrete GPU. This causes a delay at startup and possibly increased power usage. It is possible to prevent the switch: 1) Add the NSOpenGLPFAAllowOfflineRenderers attribute to the OpenGL pixel format. This is done in this commit. 2) Add <key>NSSupportsAutomaticGraphicsSwitching</key><true/> to the apps Info.plist. This final opt-in is left to the app author. Change-Id: Ibff56fd7770a6b7f8041c8bb60bf290eed24330a Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-061-1/+1
|\| | | | | | | Change-Id: I0b021b369725b73f09faa14b9da9e2431dc24fad
| * Fix Qt build when mtdev is detectedThiago Macieira2014-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | If it's detected, we have "mtdev" in QT_CONFIG, not in CONFIG. With the bad test, libQt5PlatformSupport.prl would not get -lmtdev and, in turn, the evdevtouch generic plugin would fail to link. Change-Id: I5dab57b648e66943f98a22527717a20be35f02a4 Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-034-10/+13
|\| | | | | | | Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
| * Accessibility Linux: Fix atspi getActions to return action nameFrederik Gladhorn2014-01-031-0/+1
| | | | | | | | | | | | | | | | [ChangeLog][Accessibility] On Linux action names were returned as empty strings in AT-SPI getActions, now returns the proper names. Change-Id: I75a469a0b8a5789cd54ce1b489ed5012654bb265 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * mtdev: Change to use configure detection instead of requiring source hacking.Robin Burchell2013-12-303-10/+12
| | | | | | | | | | | | | | | | | | | | This coincidentally fixes a case of accidental BIC in qevdevtouch_p.h, where not all users would necessarily define USE_MTDEV: having it centralized inside Qt makes this now, blessedly, impossible. Change-Id: I196a8f21742830705759aa917a823afdc94ba2b5 Done-with: Michael Brasser <michael.brasser@jollamobile.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Extend multimedia keysAllan Sandfeld Jensen2014-01-021-0/+4
| | | | | | | | | | | | | | | | | | Extends the Qt keycodes with four missing keys, common on remote controls: Guide, Info, Settings and Exit. Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Make QKdeTheme constructor public, allowing for custom inheritanceŁukasz 'sil2100' Zemczak2013-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Make QKdeTheme constructor public, allowing for custom inheritance by other classes. The danger of making it public and not going through the factory method are close to none, while other developers might want to slightly enhance KDE-themed platform themes by themselves. Right now the only choice is to copy-paste the whole code. QKdeTheme might be a private class, but still it makes no sense to restrict derivation if someone finds it necessary to do so. Task-number: QTBUG-35566 Change-Id: Ia3488da71e7c06fe4b7dc6e275605970b435b00e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-266-20/+55
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * Evdev keyboard handler emits keyevents with QString(0xffff)Allan Sandfeld Jensen2013-11-261-1/+1
| | | | | | | | | | | | | | | | | | Key events that have no text representation are by the evdevkeyboard emitted as a QString(0xffff). Other keyboard event handlers appear to all emit key events with null strings for these events. Change-Id: If6b5c61a8cb76a6843238f834ce4feb4b73aa199 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * EGL convenience: deal with DefaultRenderableType when appropriateAndrew Knight2013-11-242-10/+34
| | | | | | | | | | | | | | | | | | When encountering QSurfaceFormat::DefaultRenderableType, the surface format choosers should not default to OpenGL ES, but rather desktop OpenGL when Qt has been configured without ES2 support. Change-Id: I57aa7cfe63ebe0ffb32f4ba32808e62b0a4589f8 Reviewed-by: Gunnar Sletta <gunnar.sletta@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>
| * use private linkage where possibleOswald Buddenhagen2013-10-311-1/+1
| | | | | | | | | | | | Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Keep web fontdata alive as long as CG uses itAllan Sandfeld Jensen2013-10-291-4/+13
| | | | | | | | | | | | | | | | | | | | | | With OS X 10.9 font decoding appears to happen lazily, this means we have to ensure the data we provide CG is kept alive until it dereferences it itself. Task-number: QTBUG-34332 Change-Id: I8fc38fafba746b062c4ad16314b0a410fd0b668d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | Add swapInterval to QSurfaceFormatLaszlo Agocs2013-11-133-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement swap interval support for EGL, GLX and WGL. The environment variable QT_QPA_EGLFS_SWAPINTERVAL is renamed to QT_QPA_EGL_SWAPINTERVAL and can be used to override the applications' setting of the swap interval. Task-number: QTBUG-31939 Change-Id: I644325d5d3306b7604bffd7efccda3c00ed37d36 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Improve mapping between Font Config and Qt font attributesRoger Maclean2013-10-271-17/+50
|/ | | | | | | | | | | | | | | | | | | | | | | It was sometimes impossible to select the desired font due to the code completely ignoring the FC_WIDTH attribute and poor mapping of the FC_WEIGHT attribute. The result was that it was easy to have a font file that was inaccessible by Qt since it shared attributes with another font file. The FC_WIDTH attribute is now fetched and used unchanged as the font's stretch value other than ensuring it is within the allowed range. For FC_WEIGHT, the code no longer matches the value with the closest QFont::Weight enum but instead does a piecewise linear mapping so that Qt enum values match Font Config ones to the extent possible. Also removed bogus call to fetch the width that was doing nothing with it. Change-Id: Id39715f14a617c1d0e00ecf5a7d391cab99adc03 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.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>
* evdevtouch: Make it work with am335xLaszlo Agocs2013-10-171-0/+15
| | | | | | | | | | | The driver for the resistive touchscreen of these boards tends to report ABS limits 0..4095 even tough it never sends coordinates outside a certain range (e.g. approximately 165..4016 for X). This breaks the mapping of hardware coordinates to screen space. Apply a workaround to make it work properly. Change-Id: I3eb5d76002acba1972061f3add44d797349c8ec8 Reviewed-by: Andy Nichols <andy.nichols@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>
* Update keycode mappings of multimedia keysAllan Sandfeld Jensen2013-10-151-1/+27
| | | | | | | Updates keycode mappings for evdev, directfb and android. Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* linuxfb: Make the mouse cursor visible and workingLaszlo Agocs2013-10-144-10/+24
| | | | | Change-Id: I58bae7235ae714da551da1337ee6340fc712aaa5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>