Warning, /libraries/kquickimageeditor/src/controls/SelectionBackground.qml is written in an unsupported language. File is not indexed.
0001 /* SPDX-FileCopyrightText: 2021 Noah Davis <noahadvs@gmail.com> 0002 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0003 */ 0004 0005 import QtQuick 2.15 0006 import QtQuick.Shapes 1.15 0007 import org.kde.kirigami 2.15 as Kirigami 0008 0009 Shape { 0010 id: root 0011 property bool enableAnimation: !(root.parent instanceof SelectionTool) 0012 || !(parent.selectionArea.drag.active 0013 || (parent.pressedHandle && parent.pressedHandle.drag.active)) 0014 Rectangle { 0015 z: -1 0016 anchors.fill: parent 0017 anchors.margins: -1 0018 color: "transparent" 0019 border.color: Kirigami.Theme.highlightColor 0020 border.width: 1 0021 } 0022 ShapePath { 0023 id: shapePath 0024 fillColor: "transparent" 0025 strokeWidth: 1 0026 strokeColor: "white" 0027 strokeStyle: ShapePath.DashLine 0028 // for some reason, +2 makes the spacing and dash lengths the same, no matter what the strokeWidth is. 0029 dashPattern: [Kirigami.Units.smallSpacing / strokeWidth, Kirigami.Units.smallSpacing / strokeWidth + 2] 0030 dashOffset: 0 0031 startX: -strokeWidth/2; startY: startX 0032 PathLine { x: root.width - shapePath.startX; y: shapePath.startY } 0033 PathLine { x: root.width - shapePath.startX; y: root.height - shapePath.startY } 0034 PathLine { x: shapePath.startX; y: root.height - shapePath.startY } 0035 PathLine { x: shapePath.startX; y: shapePath.startY } 0036 NumberAnimation on dashOffset { 0037 running: root.enableAnimation 0038 loops: Animation.Infinite 0039 from: shapePath.dashOffset; to: shapePath.dashOffset + shapePath.dashPattern[0] + shapePath.dashPattern[1] 0040 duration: 1000 0041 } 0042 } 0043 }