summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandquickitem.h
Commit message (Collapse)AuthorAgeFilesLines
* Forward active focus to clients immediatelyBernd Weimer2023-03-161-0/+1
| | | | | | | | | The acitve focus has only been set in clients when a key was pressed. This caused Qt clients to miss the pressed key event. Fixes: QTBUG-108645 Change-Id: Ie277d64e4e707533d84179c01a69a745cb4da950 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-101-28/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtWaylandCompositor: use cmake-generated export headersMarc Mutz2022-02-141-1/+1
| | | | | | | | Pick-to: 6.3 Change-Id: Ifda9223dbf9d7c615de6540250a23a6687daecd7 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Fix WaylandCompositor PCH build without qtdeclarativeIlya Fedin2022-01-181-0/+2
| | | | | | | | | | | Currently, quick-related headers included in the module header conditionlessly what makes it fail with PCH when Qt is built without qtdeclarative. Fixes: QTBUG-97593 Pick-to: 6.2 6.3 Change-Id: Ida73f3369982594aae9e14160f6966fe57c7e089 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix build after changes in qtbaseLars Knoll2020-09-111-0/+2
| | | | | | | moc now requires that all types are fully defined. Change-Id: I1378f635af5c044284f1973cbc1292b4bbc839df Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Port QtWayland.Compositor to new QML extension APIEskil Abrahamsen Blomfeldt2020-08-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In order to add new properties and types in Qt 6, we need to port everything over to the new extension API in QML. This is generally more type safe and needs less manual maintenance, but there is some work involved in porting. The previous version exposed some types from the QtWaylandCompositor C++ library, extended a few of them with Qt Quick-specific subclass, added one additional C++-implemented type (QWaylandMouseTracker) and two additional QML-implemented types. We need all types to be defined in the same place for the automatic generation of plugins.qmltypes to work. Therefore all the additional types are moved from the plugin into the library, but still not exposed through public API. The plugin still exposes the types, so for the user this change will be transparent. Fixes: QTBUG-85512 Change-Id: I46e9e80424c9299c3eaee92773d233b1ec29cf2c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Update QtWayland.Compositor version to match Qt versionEskil Abrahamsen Blomfeldt2020-07-071-1/+1
| | | | | | | | | | | | | | | | | The new convention is to match the C++ module version in the QML import. QtWaylandCompositor is technically a new type, since it was previously named QtWayland.Compositor, but since it might make porting easier, we keep the revision history for QtWayland.Compositor intact and keep \since tags in documentation etc. This also removes the QtQuick.Window import from the QML files (the Window class has been moved to QtQuick) and removes the versioned import per the new standard. Task-number: QTBUG-68840 Change-Id: I40483c7e16d92915adf08d0ff3c5d48af04db6af Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Rename method for consistencyPier Luigi Fiorini2020-04-031-2/+2
| | | | | | | Follow the naming convention of other boolean getters. Change-Id: I0e1e56b0cab41910b8a8269d17e6ea1d5f453e9e Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Prospective build fix after meta-type changesSimon Hausmann2020-03-161-0/+1
| | | | | | | | | The moc generated code needs to have full visibility into all types used in properties, so Q_MOC_INCLUDE statements are needed to ensure the generated code is compiled with the right includes. Change-Id: I73552a916430cf7db14121f2ba1ec610e5b3382f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-01-181-1/+2
|\ | | | | | | Change-Id: Ibd911372386f9f5fddb13afa05b84af6fe422fdd
| * Implement missing changed signals to propertiesPier Luigi Fiorini2020-01-101-1/+2
| | | | | | | | | | | | | | | | | | QML cannot do property binding with properties without CONSTANT or NOTIFY. Also emit changed signal where it's not. Change-Id: I5117383e22085af08589f6aa05892676c24f3846 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-261-15/+5
|\| | | | | | | Change-Id: I25e65c392612cc1c379bd408adb60559b1d8a498
| * Update QtWaylandCompositor license headers to GPL 3v5.14.0-beta2Paul Olav Tvete2019-10-161-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | As announced on the mailing list, QtWaylandCompositor licensing is changing to GPLv3: https://lists.qt-project.org/pipermail/development/2019-October/037666.html Change-Id: I4bdc1aa5914e53ac760acc2b6453355af636baa9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Compositor: Remove QWaylandQuickItem::sizeFollowsSurfaceJohan Klokkhammer Helsing2019-10-031-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | As the TODO says, this can be handled by implicit size instead. [ChangeLog][Compositor] WaylandQuickItem.sizeFollowsSurface has been removed since it didn't offer anything not already covered by the implicit size. Fixes: QTBUG-68841 Change-Id: I6c4c9975ac245d107665e01690493a4c57dc2ac8 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* | Compositor: Remove non-const QWaylandQuickItem::inputRegionContainsJohan Klokkhammer Helsing2019-10-031-1/+0
|/ | | | | Change-Id: I8c338255272523c0d1f1d2f33c77b341fcde1de2 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Compositor: Add revision number for new APIJohan Klokkhammer Helsing2019-03-051-1/+1
| | | | | | | | | | | | | Revisioning API in QML serves two purposes: - Making sure QML code developed against an older version of Qt doesn't change its behavior when run with newer versions. This can otherwise happen due to QML being interpreted, and QML's liberal scoping rules. - Allowing developers to target an older version of Qt, but developing a newer version by explicitly asking for an older import. Change-Id: I837cd449028c4b84c33afa97bcf6c1149801facd Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Emit a signal when WaylandQuickItem.compositor changesJohan Klokkhammer Helsing2019-01-171-1/+2
| | | | | | | | | | | | | Fixes warnings like: QQmlExpression: Expression qrc:/Chrome.qml:13:5 depends on non-NOTIFYable properties: Chrome_QMLTYPE_28::compositor [ChangeLog][Compositor] Added a missing change signal for WaylandQuickItem.compositor. Change-Id: I9f372c46778d0851a82a8dcbb0751a0e12f825b1 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-301-0/+1
|\ | | | | | | Change-Id: I1d9281750b06f7584e55759994dc6fcbcc5b2455
| * Compositor: Add const version of QWaylandQuickItem::inputRegionContainsJohan Klokkhammer Helsing2018-10-221-0/+1
| | | | | | | | | | Change-Id: I649149e2cee24f8296bf24a22ee8bb865feea9c6 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | Compositor: Add QWaylandQuickItem::mapFromSurfaceJohan Klokkhammer Helsing2018-09-241-0/+1
|/ | | | | | | | | | | [ChangeLog][Compositor] Added QWaylandQuickItem::mapFromSurface which converts points in Wayland surface coordinates to points in QQuickItem coordinates. i.e. the inverse of the existing QWaylandQuickItem::mapToSurface. Task-number: QTBUG-70662 Change-Id: I11123c2c5394d7d9b7b8fdfcfd325592597a6b50 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Update WaylandQuickItem size on new dpr or scaleFactorJohan Klokkhammer Helsing2018-08-301-0/+1
| | | | | | | | | | | | updateSize() depends on both screen devicePixelRatio and output scaleFactor. Make sure to call it when they change. This still doesn't handle all cases, because there is no signal for when a screen device pixel ratio changes, but we update when we get a new screen, which should be good enough in most cases Change-Id: I4550cf580d4821e4b0f4da0d2eb7bb8d9ab823cf Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Subsurface placeAbove/Below implementationPaul Olav Tvete2018-08-171-0/+2
| | | | | | | | | | [ChangeLog][Compositor] Added support for wl_subsurface.place_above and place_below in WaylandQuickItem. Task-number: QTBUG-49809 Change-Id: Ie30c342f329c26feaa954f8909b61b139e5588dc Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor QML API: Add QWaylandQuickItem::sendMouseMoveEventJohan Klokkhammer Helsing2018-04-181-0/+1
| | | | | | | | | | | QWaylandSeat::sendMouseMoveEvent can't be exposed to QML, because it requires a QWaylandView, which is not available from QML. [ChangeLog][Compositor] QWaylandQuickItem::sendMouseMoveEvent was added to allow sending generated mouse move events from QML. Change-Id: I5793444a3367863980d2feca78ea56de5da231ad Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
* Use override when applicableJohan Klokkhammer Helsing2018-02-281-1/+1
| | | | | | | | | | Applied automatic fixes using clang-tidy's modernize-use-override. This adds the "override" keyword where it's possible and also removes the "virtual" keyword when redundant. Change-Id: I899950e5cf8782785d30a245a9c69c1720905d50 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor API: Add support for hardware compositingJohan Klokkhammer Helsing2018-02-091-1/+1
| | | | | | | | | | [ChangeLog][Compositor] Add a tech preview for a plugin-based hardware layer API and a VSP2 implementation (for Renesas R-Car M3 and H3). Task-number: QTBUG-64600 Task-number: QTBUG-64604 Change-Id: Ia4abfb6343cf4f006ba408d293ec9464cd6f31b7 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix licensingv5.9.0-beta4Jani Heikkinen2017-05-041-12/+15
| | | | | | | | | | Currently tests are licensed under GPL-EXCEPT, examples under BSD and src under LGPL so replase old license headers with new & proper ones. Also remove old & unused license files Task-number: QTBUG-57147 Change-Id: Ia6a738798736c275dc309ccfa5b627dc2178d241 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Clean up draganddrop and clipboard featuresPaul Olav Tvete2017-03-231-0/+2
| | | | | | | | | | | | Don't assume that no-draganddrop implies no-clipboard. Introduce a new private feature wayland-datadevice which contains the common functionality. This feature cannot be controlled independently, but is automatically disabled when both clipboard and draganddrop are disabled. Change-Id: I6aac09c7ee524e3b11f0a1caa4a6c62fc3f1d10f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Replace all occurrences of Q_DECL_OVERRIDE with overrideJohan Klokkhammer Helsing2017-01-231-14/+14
| | | | | Change-Id: I16b7b23efe944b49d1fcc9e7588cdb0a991cebd1 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Fix build without feature.wheeleventTasuku Suzuki2017-01-131-0/+2
| | | | | Change-Id: Ib78093b75f99a5b7b2589722f4706b75c2431c74 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Send touch cancel event when QWaylandQuickItem::visible is set to falseJohan Klokkhammer Helsing2017-01-121-1/+2
| | | | | | | | Task-number: QTBUG-57927 Change-Id: I8b6a5aaa9337222286382ffbeee13b794bec125c Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Use new feature system, part 2Lars Knoll2016-11-231-3/+3
| | | | | | | | | Convert all uses of QT_NO_FOO to proper QT_CONFIG(foo) checks. Change-Id: Id0f0b3325c246567a43d6b2d71b0d69e5535e648 Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Use the feature system internallyLars Knoll2016-11-231-1/+1
| | | | | | | | | Get rid of almost all DEFINES += ... in the pro files, instead use the proper QT_CONFIG() macro to determine whether a feature is available. Change-Id: I867769be2085c6ba93b6815e223e2b89edcb245d Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Rename QWaylandSurface::throttlingView to primaryViewJohan Klokkhammer Helsing2016-10-071-0/+2
| | | | | | | | | | And make sure QWaylandWlShellIntegration and QWaylandXdgShellV5Integration only send configure events if they have the primary view. Also add a convenience, QWaylandView::isPrimary. Change-Id: Ib3a9615f46c8c43897c7fac22f832d2581190c0a Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Compositor: Send touch events to the surface pressedJohan Klokkahmmer Helsing2016-10-031-1/+0
| | | | | | | | | | | This changes the API so that QWaylandTouch does not make assumptions about touch focus, and consequently enables writing compositors where multiple clients can receive touch input at the same time. Task-number: QTBUG-56237 Change-Id: I21fe6d9b5ac65e9f910f64cc4a02824119571c52 Reviewed-by: Nedim Hadzic <nedim.hadzic@pelagicore.com> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Remove QWaylandView from the QML APIPaul Olav Tvete2016-08-221-1/+15
| | | | | | | | | | QWaylandQuickItem already encapsulates the view. Also rename the confusing 'discardFrontBuffers' property to 'allowDiscardFrontBuffer' Change-Id: Ibd74ad54bfe3d5187c2ed91ff0378b45e144e109 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Johan Helsing <johan.helsing@qt.io>
* Compositor API: rename QWaylandInputDevice to QWaylandSeatJohan Klokkhammer Helsing2016-08-111-2/+2
| | | | | | | | | | | | The name QWaylandInputDevice could be confusing and misleading: - A QWaylandInputDevice was not one input device, but a collection of many. - Classes that sounded like they should inherit from it did not, i.e: QWaylandKeyboard, QWaylandPointer and QWaylandTouch. - The Wayland protocol already has another term for this, which is seat. Change-Id: I9d9690d5b378075d9dddaeb8cf18395c7f47603e Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Initial drag and drop support for QML compositorsJohan Klokkhammer Helsing2016-06-101-0/+1
| | | | | Change-Id: I3328387d925dcb2f586dc69867fd3c4e58ef5e51 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Add mapToSurface method to QWaylandQuickItemJohan Klokkhammer Helsing2016-06-031-0/+1
| | | | | | | | | Takes the scale factor into account and maps the position to Wayland surface coordinates. Change-Id: Ia96de6d0f53d47c43ef07a4daec7ddb248a51664 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Compile with -Wzero-as-null-pointer-constantPaul Olav Tvete2016-05-251-3/+3
| | | | | | | | Task-number: QTBUG-53619 Change-Id: Idf073287f215113431cad64f85628e010176ab74 Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* QtWaylandCompositor: Add support for different EGL buffer formatsLouai Al-Khanji2016-04-291-1/+1
| | | | | Change-Id: Idfeeedbf247fa81dccdf28a1aa04f878900ed262 Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* QML API for subsurfacesPaul Olav Tvete2016-04-201-2/+7
| | | | | | Task-number: QTBUG-49809 Change-Id: I433fd5ee4d920e6fc6696627b45738631ab329c4 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Fix text-input support for new APIJan Arne Petersen2016-04-181-0/+12
| | | | | | | | | | | | | | | | Update text input support to upstream text-input protocol v2 from wayland-protocols. Remove support for input-method protocol for now. Map text-input protocol on compositor side to the Qt input method API, this allows to use any qt platform input method on compositor side (especially qtvirtualkeyboard). Add support for qtvirtualkeyboard to pure-qml example. Implement all missing functions of the text-input protocol. Change-Id: I597451ff65454a63dff86026b6a8d1ffbe07ce02 Done-with: Zeno Endemann <zeno.endemann@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
* Add missing Q_DECL_OVERRIDE to QWaylandQuickItem virtual functionsJohan Klokkhammer Helsing2016-03-081-2/+2
| | | | | | | | This caused compilation issues with clang. Task-number: QTBUG-50265 Change-Id: If42d33bd4c74ee25b8eead0c08447ecbc1392b42 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
* Use WaylandCompositor module name for export macroPaul Olav Tvete2016-02-151-1/+1
| | | | | | | Change-Id: Ieb65b66f28986845f50647ae338678f0a1e7a153 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Erik Larsson <erik@ortogonal.com> Reviewed-by: Johan Helsing <johan.helsing@theqtcompany.com>
* Mark reimplemented methods as overridePier Luigi Fiorini2015-11-281-13/+13
| | | | | Change-Id: I2a1f9dee1bc7f29a8e81b2429f49748ee477bd4f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Add documentation to Qt Wayland CompositorEskil Abrahamsen Blomfeldt2015-10-261-1/+1
| | | | | | | | | | | This adds some preliminary documentation for the Qt Wayland Compositor. There are a few classes which remain undocumented. The documentation in some areas may be a bit minimal, but this can be expanded gradually with code examples and more details. Change-Id: I5d285a5a25e8602ac2fdddc84c3fd217e7b77c95 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Add raise() and lower() to QWaylandQuickItemPaul Olav Tvete2015-09-291-0/+2
| | | | | Change-Id: Idbd0ec7e8b77f6241aa6ac91639d76a0ffe2dae9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Add sizeFollowsSurface property to QWaylandQuickItemJørgen Lind2015-09-181-4/+6
| | | | | Change-Id: I416f5689679d08b9ba89dceceac5c2ed9128ed9a Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Implement resize/move for pure-qmlJørgen Lind2015-09-161-2/+1
| | | | | Change-Id: I7919f7715486fa2d8cfe35c08095f6c33757a515 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Create a utility function for QWaylandQuickItem::inputRegionContainsJørgen Lind2015-09-161-2/+1
| | | | | Change-Id: I7bfdd54015e768e0336bda6e74e1816188d30c94 Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>