Kirigami2

MenuIcon.qml
1 /*
2  * SPDX-FileCopyrightText: 2015 Marco Martin <[email protected]>
3  *
4  * SPDX-License-Identifier: LGPL-2.0-or-later
5  */
6 
7 import QtQuick 2.1
8 import org.kde.kirigami 2.4 as Kirigami
9 
10 Item {
11  id: canvas
12  width: height
13  height: Kirigami.Units.iconSizes.smallMedium
14  property Kirigami.OverlayDrawer drawer
15  property color color: Kirigami.Theme.textColor
16  opacity: 0.8
17  layer.enabled: true
18 
19  LayoutMirroring.enabled: false
20  LayoutMirroring.childrenInherit: true
21  Item {
22  id: iconRoot
23  anchors {
24  fill: parent
25  margins: Kirigami.Units.smallSpacing
26  }
27  readonly property int thickness: 2
28  readonly property real drawerPosition: drawer ? drawer.position : 0
29 
30  Rectangle {
31  anchors {
32  right: parent.right
33  top: parent.top
34  topMargin: -iconRoot.thickness/2 * iconRoot.drawerPosition
35  }
36  antialiasing: iconRoot.drawerPosition !== 0
37  transformOrigin: Item.Right
38  width: (1 - iconRoot.drawerPosition) * parent.width + iconRoot.drawerPosition * (Math.sqrt(2*(parent.width*parent.width)))
39  height: iconRoot.thickness
40  color: canvas.color
41  rotation: -45 * iconRoot.drawerPosition
42  }
43 
44  Rectangle {
45  anchors.centerIn: parent
46  width: parent.width - parent.width * iconRoot.drawerPosition
47  height: iconRoot.thickness
48  color: canvas.color
49  }
50 
51  Rectangle {
52  anchors {
53  right: parent.right
54  bottom: parent.bottom
55  bottomMargin: -iconRoot.thickness/2 * iconRoot.drawerPosition
56  }
57  antialiasing: iconRoot.drawerPosition !== 0
58  transformOrigin: Item.Right
59  width: (1 - iconRoot.drawerPosition) * parent.width + iconRoot.drawerPosition * (Math.sqrt(2*(parent.width*parent.width)))
60  height: iconRoot.thickness
61  color: canvas.color
62  rotation: 45 * iconRoot.drawerPosition
63  }
64  }
65 }
QTextStream & right(QTextStream &stream)
QTextStream & right(QTextStream &s)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Feb 7 2023 04:14:23 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.