aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/qml2puppet/mockfiles/qt6/PlanarScaleHandle.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qml2puppet/mockfiles/qt6/PlanarScaleHandle.qml')
-rw-r--r--src/tools/qml2puppet/mockfiles/qt6/PlanarScaleHandle.qml42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/tools/qml2puppet/mockfiles/qt6/PlanarScaleHandle.qml b/src/tools/qml2puppet/mockfiles/qt6/PlanarScaleHandle.qml
new file mode 100644
index 0000000000..916640b230
--- /dev/null
+++ b/src/tools/qml2puppet/mockfiles/qt6/PlanarScaleHandle.qml
@@ -0,0 +1,42 @@
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
+
+import QtQuick 6.0
+import QtQuick3D 6.0
+import MouseArea3D 1.0
+
+PlanarDraggable {
+ id: planarHandle
+ scale: Qt.vector3d(0.024, 0.024, 0.024)
+
+ property bool globalOrientation: false
+ property vector3d axisX
+ property vector3d axisY
+
+ signal scaleCommit()
+ signal scaleChange()
+
+ property vector3d _startScale
+
+ onPressed: {
+ if (targetNode == multiSelectionNode)
+ _generalHelper.restartMultiSelection();
+ _startScale = targetNode.scale;
+ }
+
+ onDragged: (mouseArea, sceneRelativeDistance, relativeDistance)=> {
+ targetNode.scale = mouseArea.getNewScale(_startScale, relativeDistance.times(scale.x),
+ axisX, axisY);
+ if (targetNode == multiSelectionNode)
+ _generalHelper.scaleMultiSelection(false);
+ scaleChange();
+ }
+
+ onReleased: (mouseArea, sceneRelativeDistance, relativeDistance)=> {
+ targetNode.scale = mouseArea.getNewScale(_startScale, relativeDistance.times(scale.x),
+ axisX, axisY);
+ if (targetNode == multiSelectionNode)
+ _generalHelper.scaleMultiSelection(true);
+ scaleCommit();
+ }
+}