summaryrefslogtreecommitdiffstats
path: root/examples/wayland/pure-qml/qml/CompositorScreen.qml
diff options
context:
space:
mode:
authorEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2023-02-13 08:28:46 +0100
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2023-03-06 07:58:48 +0000
commit6ffff6b50be77cda196851fe81e30445e8a1e723 (patch)
tree788d65623eaf686353ea20f9c02019690a3868da /examples/wayland/pure-qml/qml/CompositorScreen.qml
parent5826c898b6a624c669bf1bfeea4265b7f4934ffe (diff)
Rename pure-qml to fancy-compositor
The pure-qml name made sense when the example was made, but since then we have added a lot of examples that are all in Pure QML. Minimal QML covers the basics of how to set up a compositor in QML, but Pure QML shows a more advanced use case, with animations, windowing system features, virtual keyboard support, etc. To make it clear what the example is demonstrating, we call it Fancy Compositor instead. Task-number: QTBUG-110993 Change-Id: Iad1cfb11b6461858ebcdaa388ed16e1fd3ec8805 Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'examples/wayland/pure-qml/qml/CompositorScreen.qml')
-rw-r--r--examples/wayland/pure-qml/qml/CompositorScreen.qml83
1 files changed, 0 insertions, 83 deletions
diff --git a/examples/wayland/pure-qml/qml/CompositorScreen.qml b/examples/wayland/pure-qml/qml/CompositorScreen.qml
deleted file mode 100644
index 4b2ba36d6..000000000
--- a/examples/wayland/pure-qml/qml/CompositorScreen.qml
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright (C) 2017 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-import QtQuick
-import QtQuick.Window
-import QtWayland.Compositor
-
-WaylandOutput {
- id: output
-
- property ListModel shellSurfaces: ListModel {}
- property bool isNestedCompositor: Qt.platform.pluginName.startsWith("wayland") || Qt.platform.pluginName === "xcb"
-
- // ![handleShellSurface]
- function handleShellSurface(shellSurface) {
- shellSurfaces.append({shellSurface: shellSurface});
- }
- // ![handleShellSurface]
-
- // During development, it can be useful to start the compositor inside X11 or
- // another Wayland compositor. In such cases, set sizeFollowsWindow to true to
- // enable resizing of the compositor window to be forwarded to the Wayland clients
- // as the output (screen) changing resolution. Consider setting it to false if you
- // are running the compositor using eglfs, linuxfb or similar QPA backends.
- sizeFollowsWindow: output.isNestedCompositor
-
- window: Window {
- width: 1024
- height: 760
- visible: true
-
- WaylandMouseTracker {
- id: mouseTracker
-
- anchors.fill: parent
-
- // Set this to false to disable the outer mouse cursor when running nested
- // compositors. Otherwise you would see two mouse cursors, one for each compositor.
- windowSystemCursorEnabled: output.isNestedCompositor
-
- Image {
- id: background
-
- anchors.fill: parent
- fillMode: Image.Tile
- source: "qrc:/images/background.jpg"
- smooth: true
-
- // ![repeater]
- Repeater {
- model: output.shellSurfaces
- // Chrome displays a shell surface on the screen (See Chrome.qml)
- Chrome {
- shellSurface: modelData
- onDestroyAnimationFinished: output.shellSurfaces.remove(index)
- }
- }
- // ![repeater]
- }
-
- // Virtual Keyboard
- // ![keyboard]
- Loader {
- anchors.fill: parent
- source: "Keyboard.qml"
- }
- // ![keyboard]
-
- // Draws the mouse cursor for a given Wayland seat
- WaylandCursorItem {
- inputEventsEnabled: false
- x: mouseTracker.mouseX
- y: mouseTracker.mouseY
- seat: output.compositor.defaultSeat
- }
- }
-
- Shortcut {
- sequence: "Ctrl+Alt+Backspace"
- onActivated: Qt.quit()
- }
- }
-}