aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/compatibility/Layers
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/compatibility/Layers')
-rw-r--r--src/imports/compatibility/Layers/+DesignMode/Screen.qml43
-rw-r--r--src/imports/compatibility/Layers/Application.qml35
-rw-r--r--src/imports/compatibility/Layers/CMakeLists.txt18
-rw-r--r--src/imports/compatibility/Layers/ImageLayer.qml49
-rw-r--r--src/imports/compatibility/Layers/ItemLayer.qml49
-rw-r--r--src/imports/compatibility/Layers/Screen.qml48
-rw-r--r--src/imports/compatibility/Layers/SpriteLayer.qml41
-rw-r--r--src/imports/compatibility/Layers/designer/ApplicationSpecifics.qml43
-rw-r--r--src/imports/compatibility/Layers/designer/CMakeLists.txt16
-rw-r--r--src/imports/compatibility/Layers/designer/ImageLayerSpecifics.qml82
-rw-r--r--src/imports/compatibility/Layers/designer/ItemLayerSpecifics.qml101
-rw-r--r--src/imports/compatibility/Layers/designer/QtQuickUltraliteLayers.metainfo87
-rw-r--r--src/imports/compatibility/Layers/designer/ScreenSpecifics.qml112
-rw-r--r--src/imports/compatibility/Layers/designer/SpriteLayerSpecifics.qml73
-rw-r--r--src/imports/compatibility/Layers/designer/images/item-icon.pngbin0 -> 148 bytes
-rw-r--r--src/imports/compatibility/Layers/designer/images/item-icon@2x.pngbin0 -> 167 bytes
-rw-r--r--src/imports/compatibility/Layers/plugins.qmltypes10
-rw-r--r--src/imports/compatibility/Layers/qmldir12
-rw-r--r--src/imports/compatibility/Layers/studiocompatibilityqullayers.cpp55
19 files changed, 874 insertions, 0 deletions
diff --git a/src/imports/compatibility/Layers/+DesignMode/Screen.qml b/src/imports/compatibility/Layers/+DesignMode/Screen.qml
new file mode 100644
index 0000000..f86c272
--- /dev/null
+++ b/src/imports/compatibility/Layers/+DesignMode/Screen.qml
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+//! [Screen compatibility]
+Rectangle {
+ id: wnd
+ property var outputDevice: "device"
+ property alias backgroundColor: color
+
+ property int defaultApplicationWidth: width
+ property int defaultApplicationHeight: height
+
+ visible: true
+}
+//! [Screen compatibility]
diff --git a/src/imports/compatibility/Layers/Application.qml b/src/imports/compatibility/Layers/Application.qml
new file mode 100644
index 0000000..f13f25e
--- /dev/null
+++ b/src/imports/compatibility/Layers/Application.qml
@@ -0,0 +1,35 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+//! [Application compatibility]
+Item {
+}
+//! [Application compatibility]
diff --git a/src/imports/compatibility/Layers/CMakeLists.txt b/src/imports/compatibility/Layers/CMakeLists.txt
new file mode 100644
index 0000000..1903505
--- /dev/null
+++ b/src/imports/compatibility/Layers/CMakeLists.txt
@@ -0,0 +1,18 @@
+qt_internal_add_qml_module(QuickUltraLiteStudioLayers
+ URI "QtQuickUltralite.Layers"
+ VERSION "${PROJECT_VERSION}"
+ DESIGNER_SUPPORTED
+ NO_SYNC_QT
+ PAST_MAJOR_VERSIONS 1
+ QML_FILES
+ Application.qml
+ ImageLayer.qml
+ ItemLayer.qml
+ Screen.qml
+ SpriteLayer.qml
+)
+
+if(QT_FEATURE_quick_designer AND QT_BUILD_SHARED_LIBS)
+ add_subdirectory(designer)
+endif()
+
diff --git a/src/imports/compatibility/Layers/ImageLayer.qml b/src/imports/compatibility/Layers/ImageLayer.qml
new file mode 100644
index 0000000..f4c0647
--- /dev/null
+++ b/src/imports/compatibility/Layers/ImageLayer.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+//! [ImageLayer compatibility]
+Item {
+ enum RenderingHints {
+ OptimizeForSpeed,
+ OptimizeForSize,
+ StaticContents
+ }
+
+ property int platformId: 0
+ property int renderingHints: ImageLayer.RenderingHints.OptimizeForSpeed
+ property alias source: internalImage.source
+
+ Image {
+ id: internalImage
+ anchors.fill: parent
+ }
+}
+//! [ImageLayer compatibility]
diff --git a/src/imports/compatibility/Layers/ItemLayer.qml b/src/imports/compatibility/Layers/ItemLayer.qml
new file mode 100644
index 0000000..231c3d3
--- /dev/null
+++ b/src/imports/compatibility/Layers/ItemLayer.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+//! [ItemLayer compatibility]
+Item {
+ enum ColorDepth {
+ Bpp16, Bpp16Alpha, Bpp24, Bpp32, Bpp32Alpha
+ }
+
+ enum RenderingHints {
+ OptimizeForSpeed,
+ OptimizeForSize,
+ StaticContents
+ }
+
+ property int depth: ColorDepth.Bpp32
+ property int refreshInterval: 1
+ property int platformId: 0
+ property int renderingHints: RenderingHints.OptimizeForSpeed
+}
+//! [ItemLayer compatibility]
diff --git a/src/imports/compatibility/Layers/Screen.qml b/src/imports/compatibility/Layers/Screen.qml
new file mode 100644
index 0000000..ad50a8d
--- /dev/null
+++ b/src/imports/compatibility/Layers/Screen.qml
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Window 2.2
+
+//! [Screen compatibility]
+Item {
+ id: root
+
+ property var outputDevice: "device"
+ property alias backgroundColor: wnd.color
+
+ property alias defaultApplicationWidth: wnd.width
+ property alias defaultApplicationHeight: wnd.height
+
+ Window {
+ id: wnd
+ visible: true
+ }
+}
+//! [Screen compatibility]
diff --git a/src/imports/compatibility/Layers/SpriteLayer.qml b/src/imports/compatibility/Layers/SpriteLayer.qml
new file mode 100644
index 0000000..29f3db9
--- /dev/null
+++ b/src/imports/compatibility/Layers/SpriteLayer.qml
@@ -0,0 +1,41 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+//! [SpriteLayer compatibility]
+Item {
+ enum ColorDepth {
+ Bpp8, Bpp16, Bpp16Alpha, Bpp24, Bpp32, Bpp32Alpha
+ }
+
+ property int depth: ColorDepth.Bpp32
+ property int platformId: 0
+}
+//! [SpriteLayer compatibility]
diff --git a/src/imports/compatibility/Layers/designer/ApplicationSpecifics.qml b/src/imports/compatibility/Layers/designer/ApplicationSpecifics.qml
new file mode 100644
index 0000000..58374ef
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/ApplicationSpecifics.qml
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+
+import HelperWidgets 2.0
+import QtQuick.Layouts 1.0
+
+//! [Application compatibility]
+Section {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ caption: qsTr("Application")
+
+ //Application type has no properties
+}
+//! [Application compatibility]
diff --git a/src/imports/compatibility/Layers/designer/CMakeLists.txt b/src/imports/compatibility/Layers/designer/CMakeLists.txt
new file mode 100644
index 0000000..508a4ea
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/CMakeLists.txt
@@ -0,0 +1,16 @@
+qt_path_join(installdesignerdir "${INSTALL_QMLDIR}" "QtQuickUltralite/Layers")
+qt_path_join(targetdesignerdir "${CMAKE_BINARY_DIR}" "${installdesignerdir}/designer")
+
+file(
+ COPY .
+ DESTINATION ${targetdesignerdir}
+ FILES_MATCHING PATTERN "*qml"
+ PATTERN "*metainfo"
+ PATTERN "images/*png"
+ PATTERN "CMakeFiles" EXCLUDE
+)
+
+qt_install(
+ DIRECTORY ${targetdesignerdir}
+ DESTINATION ${installdesignerdir}
+)
diff --git a/src/imports/compatibility/Layers/designer/ImageLayerSpecifics.qml b/src/imports/compatibility/Layers/designer/ImageLayerSpecifics.qml
new file mode 100644
index 0000000..ac60034
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/ImageLayerSpecifics.qml
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import HelperWidgets 2.0
+import StudioTheme 1.0 as StudioTheme
+
+//! [ImageLayer compatibility]
+Section {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ caption: qsTr("Image Layer")
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Platform ID") }
+
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.platformId
+ minimumValue: 0
+ maximumValue: 2000
+ decimals: 0
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Rendering hints") }
+
+ SecondColumnLayout {
+ ComboBox {
+ model: ["OptimizeForSpeed", "OptimizeForSize", "StaticContents"]
+ backendValue: backendValues.renderingHints
+ scope: "ImageLayer"
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Source") }
+
+ SecondColumnLayout {
+ UrlChooser {
+ backendValue: backendValues.source
+ }
+
+ ExpandingSpacer {}
+ }
+ }
+}
+//! [ImageLayer compatibility]
diff --git a/src/imports/compatibility/Layers/designer/ItemLayerSpecifics.qml b/src/imports/compatibility/Layers/designer/ItemLayerSpecifics.qml
new file mode 100644
index 0000000..d36486c
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/ItemLayerSpecifics.qml
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import HelperWidgets 2.0
+import StudioTheme 1.0 as StudioTheme
+
+//! [ItemLayer compatibility]
+Section {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ caption: qsTr("Item Layer")
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Platform ID") }
+
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.platformId
+ minimumValue: 0
+ maximumValue: 2000
+ decimals: 0
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Rendering hints") }
+
+ SecondColumnLayout {
+ ComboBox {
+ model: ["OptimizeForSpeed", "OptimizeForSize", "StaticContents"]
+ backendValue: backendValues.renderingHints
+ scope: "ItemLayer"
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Depth") }
+
+ SecondColumnLayout {
+ ComboBox {
+ model: ["Bpp16", "Bpp16Alpha", "Bpp24", "Bpp32", "Bpp32Alpha"]
+ backendValue: backendValues.depth
+ scope: "ItemLayer"
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Refresh interval") }
+
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.refreshInterval
+ minimumValue: 0
+ maximumValue: 1000
+ decimals: 0
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+ }
+}
+//! [ItemLayer compatibility]
diff --git a/src/imports/compatibility/Layers/designer/QtQuickUltraliteLayers.metainfo b/src/imports/compatibility/Layers/designer/QtQuickUltraliteLayers.metainfo
new file mode 100644
index 0000000..649154b
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/QtQuickUltraliteLayers.metainfo
@@ -0,0 +1,87 @@
+MetaInfo {
+ Type {
+ name: "QtQuickUltralite.Layers.Application"
+ icon: "images/item-icon.png"
+
+ ItemLibraryEntry {
+ name: "Application"
+ category: "QtQuickUltralite - Layers"
+ libraryIcon: "images/item-icon@2x.png"
+ version: "1.9"
+ requiredImport: "QtQuickUltralite.Layers"
+ }
+
+ Hints {
+ visibleInNavigator: true
+ canBeDroppedInNavigator: true
+ canBeDroppedInFormEditor: false
+ canBeContainer: true
+ }
+ }
+ Type {
+ name: "QtQuickUltralite.Layers.ImageLayer"
+ icon: "images/item-icon.png"
+
+ ItemLibraryEntry {
+ name: "Image Layer"
+ category: "QtQuickUltralite - Layers"
+ libraryIcon: "images/item-icon@2x.png"
+ version: "1.9"
+ requiredImport: "QtQuickUltralite.Layers"
+
+ Property { name: "renderingHints"; type: "enum"; value: "ImageLayer.OptimizeForSpeed"; }
+ Property { name: "platformId"; type: "int"; value: 0; }
+ }
+ }
+ Type {
+ name: "QtQuickUltralite.Layers.ItemLayer"
+ icon: "images/item-icon.png"
+
+ ItemLibraryEntry {
+ name: "Item Layer"
+ category: "QtQuickUltralite - Layers"
+ libraryIcon: "images/item-icon@2x.png"
+ version: "1.9"
+ requiredImport: "QtQuickUltralite.Layers"
+
+ Property { name: "depth"; type: "enum"; value: "ItemLayer.Bpp32"; }
+ Property { name: "renderingHints"; type: "enum"; value: "ItemLayer.OptimizeForSpeed"; }
+ Property { name: "refreshInterval"; type: "int"; value: 1; }
+ Property { name: "platformId"; type: "int"; value: 0; }
+ }
+ }
+ Type {
+ name: "QtQuickUltralite.Layers.Screen"
+ icon: "images/item-icon.png"
+
+ ItemLibraryEntry {
+ name: "Screen"
+ category: "QtQuickUltralite - Layers"
+ libraryIcon: "images/item-icon@2x.png"
+ version: "1.9"
+ requiredImport: "QtQuickUltralite.Layers"
+ }
+
+ Hints {
+ visibleInNavigator: true
+ canBeDroppedInNavigator: true
+ canBeDroppedInFormEditor: false
+ canBeContainer: true
+ }
+ }
+ Type {
+ name: "QtQuickUltralite.Layers.SpriteLayer"
+ icon: "images/item-icon.png"
+
+ ItemLibraryEntry {
+ name: "Sprite Layer"
+ category: "QtQuickUltralite - Layers"
+ libraryIcon: "images/item-icon@2x.png"
+ version: "1.9"
+ requiredImport: "QtQuickUltralite.Layers"
+
+ Property { name: "depth"; type: "enum"; value: "SpriteLayer.Bpp32"; }
+ Property { name: "platformId"; type: "int"; value: 0; }
+ }
+ }
+}
diff --git a/src/imports/compatibility/Layers/designer/ScreenSpecifics.qml b/src/imports/compatibility/Layers/designer/ScreenSpecifics.qml
new file mode 100644
index 0000000..80c7357
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/ScreenSpecifics.qml
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import HelperWidgets 2.0
+import StudioTheme 1.0 as StudioTheme
+
+//! [Screen compatibility]
+Section {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ caption: qsTr("Screen")
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Output Device") }
+
+ SecondColumnLayout {
+ LineEdit {
+ backendValue: backendValues.outputDevice
+ showTranslateCheckBox: false
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Background color") }
+
+ ColorEditor {
+ backendValue: backendValues.backgroundColor
+ supportGradient: false
+ }
+
+ PropertyLabel { text: qsTr("Application size") }
+
+ SecondColumnLayout {
+ SpinBox {
+ id: widthSpinBox
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ backendValue: backendValues.defaultApplicationWidth
+ maximumValue: 0xffff
+ minimumValue: 0
+ decimals: 0
+ enabled: true
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ //: The width of the object
+ text: qsTr("W", "width")
+ tooltip: widthSpinBox.enabled ? qsTr("Width") : root.disbaledTooltip
+ enabled: widthSpinBox.enabled
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlGap }
+
+ SpinBox {
+ id: heightSpinBox
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ backendValue: backendValues.defaultApplicationHeight
+ maximumValue: 0xffff
+ minimumValue: 0
+ decimals: 0
+ enabled: true
+ }
+
+ Spacer { implicitWidth: StudioTheme.Values.controlLabelGap }
+
+ ControlLabel {
+ //: The height of the object
+ text: qsTr("H", "height")
+ tooltip: heightSpinBox.enabled ? qsTr("Height") : root.disbaledTooltip
+ enabled: heightSpinBox.enabled
+ }
+
+ ExpandingSpacer {}
+ }
+ }
+}
+//! [Screen compatibility]
diff --git a/src/imports/compatibility/Layers/designer/SpriteLayerSpecifics.qml b/src/imports/compatibility/Layers/designer/SpriteLayerSpecifics.qml
new file mode 100644
index 0000000..c13054d
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/SpriteLayerSpecifics.qml
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Layouts 1.15
+import HelperWidgets 2.0
+import StudioTheme 1.0 as StudioTheme
+
+//! [SpriteLayer compatibility]
+Section {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ caption: qsTr("Sprite Layer")
+
+ SectionLayout {
+ PropertyLabel { text: qsTr("Platform ID") }
+
+ SecondColumnLayout {
+ SpinBox {
+ backendValue: backendValues.platformId
+ minimumValue: 0
+ maximumValue: 2000
+ decimals: 0
+ implicitWidth: StudioTheme.Values.twoControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ }
+
+ ExpandingSpacer {}
+ }
+
+ PropertyLabel { text: qsTr("Depth") }
+
+ SecondColumnLayout {
+ ComboBox {
+ model: ["Bpp8", "Bpp16", "Bpp16Alpha", "Bpp24", "Bpp32", "Bpp32Alpha"]
+ backendValue: backendValues.depth
+ scope: "SpriteLayer"
+ implicitWidth: StudioTheme.Values.singleControlColumnWidth
+ + StudioTheme.Values.actionIndicatorWidth
+ width: implicitWidth
+ }
+
+ ExpandingSpacer {}
+ }
+ }
+}
+//! [SpriteLayer compatibility]
diff --git a/src/imports/compatibility/Layers/designer/images/item-icon.png b/src/imports/compatibility/Layers/designer/images/item-icon.png
new file mode 100644
index 0000000..af81cdf
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/images/item-icon.png
Binary files differ
diff --git a/src/imports/compatibility/Layers/designer/images/item-icon@2x.png b/src/imports/compatibility/Layers/designer/images/item-icon@2x.png
new file mode 100644
index 0000000..f05aa57
--- /dev/null
+++ b/src/imports/compatibility/Layers/designer/images/item-icon@2x.png
Binary files differ
diff --git a/src/imports/compatibility/Layers/plugins.qmltypes b/src/imports/compatibility/Layers/plugins.qmltypes
new file mode 100644
index 0000000..05873fb
--- /dev/null
+++ b/src/imports/compatibility/Layers/plugins.qmltypes
@@ -0,0 +1,10 @@
+import QtQuick.tooling 1.2
+
+// This file describes the plugin-supplied types contained in the library.
+// It is used for QML tooling purposes only.
+
+Module {
+ dependencies: [
+ "QtQuick 2.15"
+ ]
+}
diff --git a/src/imports/compatibility/Layers/qmldir b/src/imports/compatibility/Layers/qmldir
new file mode 100644
index 0000000..8d0a4b2
--- /dev/null
+++ b/src/imports/compatibility/Layers/qmldir
@@ -0,0 +1,12 @@
+module QtQuickUltralite.Layers
+linktarget studioqtquickultralitelayersplugin
+optional plugin studioqtquickultralitelayersplugin
+classname QtQuickUltralite_LayersPlugin
+typeinfo studioqtquickultralitelayers.qmltypes
+prefer :/QtQuickUltralite/Layers/
+Application 1.0 Application.qml
+ImageLayer 1.0 ImageLayer.qml
+ItemLayer 1.0 ItemLayer.qml
+Screen 1.0 Screen.qml
+SpriteLayer 1.0 SpriteLayer.qml
+
diff --git a/src/imports/compatibility/Layers/studiocompatibilityqullayers.cpp b/src/imports/compatibility/Layers/studiocompatibilityqullayers.cpp
new file mode 100644
index 0000000..762371a
--- /dev/null
+++ b/src/imports/compatibility/Layers/studiocompatibilityqullayers.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Quick Ultralite compatibility.
+**
+** $QT_BEGIN_LICENSE:GPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 or (at your option) any later version
+** approved by the KDE Free Qt Foundation. The licenses are as published by
+** the Free Software Foundation and appearing in the file LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtQml/qqmlextensionplugin.h>
+
+QT_BEGIN_NAMESPACE
+
+class StudioCompatibilityQULLayers: public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
+
+public:
+ StudioCompatibilityQULLayers(QObject *parent = nullptr);
+ void registerTypes(const char *uri) override;
+};
+
+StudioCompatibilityQULLayers::StudioCompatibilityQULLayers(QObject *parent)
+ : QQmlExtensionPlugin(parent)
+{
+}
+
+void StudioCompatibilityQULLayers::registerTypes(const char *)
+{
+}
+
+QT_END_NAMESPACE
+
+#include "studiocompatibilityqullayers.moc"