summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/winrt/qwinrtscreen.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | 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. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* winrt: Fix window resizev5.4.0Andrew Knight2014-12-051-4/+6
| | | | | | | | The fixed-size EGL display must be updated on PC as well as Windows Phone. Task-number: QTBUG-43112 Change-Id: I0ba90370b67e8c065843e5754579e341b647266d Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* winrt: Fix Windows Store CertificationAndrew Knight2014-12-011-0/+13
| | | | | | | | | WinRT requires that IDXGIDevice3::Trim() is called on application suspend in order to pass Store Certification. Task-number: QTBUG-38481 Change-Id: Ia3cb5d3f6a2db8f11e4bfa4fd5c7791e18d6c36d Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* winrt: Resize window on Windows Phone using EGLAndrew Knight2014-11-151-13/+33
| | | | | | | | | | To avoid duplicating code in ANGLE, we can resize the framebuffer in QPA. This potentially allows us to synchronize rendering to avoid displaying a frame which is rendered for the new geometry but is displayed with the old geometry. Change-Id: I5f3a0634628d9ea4ca73349a02e646eb043bd757 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* winrt: Blacklist certain devices from creating a depth/stencil bufferAndrew Knight2014-11-141-1/+42
| | | | | | | | | | | This passes the EGLConfig created in the platform screen to the underlying context, and certain GPUs are blacklisted to be prevented from creating a configuration which does not render properly with Qt Quick. Task-number: QTBUG-42260 Change-Id: I7e1cdc33c2f5662538723c6930fad5f13b151d6f Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Revert "winrt: Remove depth/stencil from the default window format"Andrew Knight2014-09-291-0/+2
| | | | | | | | | This reverts commit 636d2e340206664a5885656c06e1ae9eb032d446. The issue was caused by a bug in ANGLE, not a lack of hardware support. Change-Id: If2a66cd023dc7f2329dc2812169042487eecd428 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* winrt: fix compiler warning on Windows PhoneJochen Seemann2014-09-231-1/+1
| | | | | | | qwinrtscreen(1010): 'd': local variable is initialized but not referenced Change-Id: Ic21a9bc087d8418ad9f01b263677438a4db8f493 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* qpa: Make screen geometry updates (full and available geometry) atomicTor Arne Vestbø2014-09-101-2/+1
| | | | | | | | | | | | | | | | | Updating the geometry and available geometry in two steps means that QScreen will be in an inconsistent state when emitting the geometry change signal, as the available geometry has not been updated yet. Piggy-backing changes to the availableGeometry based on the virtual geometry changing does not make sense, so we now tie geometry and availableGeometry (and their size variants) to their own separate geometryChanged and availableGeometryChanged signals. Change-Id: Iee0ced642cbb91c470cb54bc507d2c0512482c13 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* winrt: Fix mouse coordinates on high-DPI displaysAndrew Knight2014-09-011-3/+5
| | | | | | | The scale factor was only being applied to touch coordinates. Change-Id: I7fc2793b1514c73986a574a95478306c1eb54c5e Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* winrt: Remove depth/stencil from the default window formatAndrew Knight2014-08-191-2/+0
| | | | | | | | | | | After the last ANGLE upgrade, some hardware fails to render proper QtQuick scenes when using a depth buffer (which is present in the default window format). As the batched renderer no longer requires a depth buffer, this workaround can be safely applied. Task-number: QTBUG-40649 Change-Id: Id0f6e418aa5c6346186678728f88a6c18af5fb74 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* winrt: Fix orientation update maskAndrew Knight2014-08-051-13/+5
| | | | | | | | | | | | | | | | | On WP8.0, setting auto rotation preferences at runtime worked like an orientation update mask, and did not modify the behavior of the window. With WP8.1, setting auto rotation preferences has the side effect that the compositor will then resize the window when moving from e.g. portrait to landscape. Because of this, the auto rotation API should not be called inside orientationUpdateMask(). The default implementation is now sufficient, so the platform override is removed. Developers looking to set auto rotation preferences should use the application manifest or call the native api directly. Task-number: QTBUG-35953 Change-Id: I90cf4290ced34df1bb350cb6aa5deff209622865 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* WinRT: Fix physical size of screenJochen Seemann2014-08-051-1/+11
| | | | | | | | | | | | | | Currently, the physical size of the screen is calculated with the logicalSize and the logicalDpi of the screen. This doesn't work because logicalDpi has a user-defined multiplier and a strange value. The easiest and accuratest way is to take the raw dpi of the axis and the raw pixel size (logicalSize*scaleFactor). This all is needed for a correct value of Screen.pixelDensity in QtQuick. Change-Id: I8be0139d762364140043c3fa0d203298ca7ef293 Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* winrt: Use physical window resolutionAndrew Knight2014-08-051-41/+36
| | | | | | | | | | | | | | This partially reverts eea02ff1 in that devicePixelRatio() will now always return 1. This is because non-integer ratios are bound to cause problems with pixel alignments, and their use prevents users from accessing the complete pixel grid in Qt Quick. Now, the full physical resolution of the screen/window is reported instead. The EGL initialization is adjusted to match requirements for ANGLE 2.1. Change-Id: I24c6dcf4419f30e5e4c73c592beb446a418a0b8b Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* winrt: Clean up QWinRTScreenAndrew Knight2014-06-251-250/+294
| | | | | | | | | | | - Remove WP8.0 code paths - Remove WinRT types from header as much as possible - Use ComPtr where appropriate - Use COM convenience methods Task-number: QTBUG-38115 Change-Id: Ib241c3e5107add255a48340f86ee5885f895ff83 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* winrt: Clean up QWinRTCursorAndrew Knight2014-06-251-1/+1
| | | | | | | | | | - Remove WinRT types from the header - Remove WP8.0 code paths - Use convenience methods for HRESULT handling Task-number: QTBUG-38115 Change-Id: I05e77d75a7975a783d0f0714e6bab014231a406c Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* WinRT: Fix compile warningsMaurice Kalinowski2014-05-261-0/+2
| | | | | Change-Id: If223dd73b9558a0f5144be38f19a61316f8c807b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* WinRT: Support High-DPIAndrew Knight2014-05-221-24/+131
| | | | | | | | | | | | | | | | | Previously, the backing store and default framebuffer were created with the logical screen resolution (in device-independent pixels), not the the physical screen resolution. This lead to blurry text on high-DPI devices. This change fixes this by creating those at full size, and setting the device pixel ratio appropriately. Windows are still reported in device-independent pixels, but text and images are now rendered sharply for Qt Quick applications. As QPainter does not support non-integer scaling, the backing store is still drawn in DIPs and scaled by OpenGL. Task-number: QTBUG-38464 Change-Id: I7377d4c734126825d670b8ebb65fd0dd1ef705f2 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-121-52/+29
|\ | | | | | | Change-Id: I9300572e2b74f0564b2589cbd0fbdf24850f68df
| * WinRT: Fix multi-touch on PCAndrew Knight2014-05-051-52/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pointer ID was incorrectly interpreted as a device ID, which caused creating a new QTouchDevice for each touch update and potential crashes in QtQuick. The handling has now been simplified and aligned with Windows Phone, treating all touch events as if they originate from the same device. Given that the native device has no ID, it is not possible to track the native device between events anyway (even the pointer values change). Task-number: QTBUG-38745 Change-Id: I24b6c00b765dcb49cd653638afafc04fdd80f774 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* | WinRT: set orientation update mask to native orientation by defaultAndrew Knight2014-05-051-0/+1
|/ | | | | | | | This aligns with the other mobile platforms. Task-number: QTBUG-38691 Change-Id: I7b9b70a1182c0e53f997cae111ec46b5161b0b48 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* WinRT: Handle back button as press or releaseAndrew Knight2014-04-221-6/+4
| | | | | | | | | | | | Earlier, only the back press was checked for acceptance. By also checking the release event, this makes the backstepping behavior consistent with Qt for Android, and fixes the expected behavior found in our demo applications. Task-number: QTBUG-35951 Change-Id: I9c2f18816b838d57713ba4dd3624e2f3f1ac40ac Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Windows Phone: Handle back-button pressAndrew Knight2014-03-071-0/+37
| | | | | | | | | | | | | | | | | When the back button is pressed, send an immediate key event to the topmost window (or the application if there is no window). If it is accepted, mark the native event as accepted and send a key release event. This way, the application may call accept() on the KeyPress event for Qt::Key_Back in order to create backstepping behaviors within the app. This is in line with Android, which quits the app when the event is ignored. On Windows Phone, the default behavior occurs when the event is ignored, which is to back out of the application and leave it running in the background. Task-number: QTBUG-35951 Change-Id: I46d15478f441f73d3660370370689b2f9fa11f25 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* WinRT: Handle window exposure when visibility changesAndrew Knight2014-03-071-0/+2
| | | | | | | | | Expose events should be sent to application windows when the main view becomes visible (again). This fixes a blank screen which may occur when resuming an app from suspend. Change-Id: I33dc00482ef17cdc954a71626a8ad3cd24361a64 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Add suspend and resume event handling for WinRTMaurice Kalinowski2014-02-041-0/+28
| | | | | | | Task-number: QTBUG-35952 Change-Id: Icb4edb0f55c1d02dfbb5501df311b0fff87d2dc1 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* WinRT QPA: Improve key handlingAndrew Knight2013-10-161-205/+148
| | | | | | | | | Simplify key handling by providing a cleaner tracking of physical key presses and associated character events. Change-Id: I5aa8990e0b24e101b348c04d1ada2cbcd1b0b6be Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* WinRT: Improve orientation handlingAndrew Knight2013-10-121-16/+32
| | | | | | | Support setting the update mask. Change-Id: I88f4dddd9af5203ec47c70ad3381436caf140fef Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* WinRT QPA: Fix touch release on phoneMaurice Kalinowski2013-10-111-0/+4
| | | | | | | | | | The IsInContact API is not reliable on phone, so use IsLeftButtonPressed instead. Change-Id: If17089f976586879355f127dadbe394b57afe3c3 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Windows RT and Windows Phone QPAAndrew Knight2013-10-021-0/+1012
Change-Id: I6ab8af31f73439172e43fb709831821482b1cc99 Done-with: Kamil Trzcinski Done-with: Oliver Wolff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>