Warning, /frameworks/kirigami/src/controls/private/EdgeShadow.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
0003 *
0004 * SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006
0007 import QtQuick
0008 import org.kde.kirigami as Kirigami
0009
0010 Item {
0011 id: shadow
0012 /**
0013 * @brief This property holds the edge of the shadow that will determine the direction of the gradient.
0014 * The acceptable values are:
0015 * * ``Qt.TopEdge``: the top edge of the content item.
0016 * * ``Qt.LeftEdge``: the left edge of the content item
0017 * * ``Qt.RightEdge``: the right edge of the content item.
0018 * * ``Qt.BottomEdge``: the bottom edge of the content item.
0019 *
0020 * @see Qt::Edges
0021 */
0022 property int edge: Qt.LeftEdge
0023
0024 property int radius: Kirigami.Units.gridUnit
0025 implicitWidth: radius
0026 implicitHeight: radius
0027
0028 Rectangle {
0029 x: shadow.width / 2 - width / 2
0030 y: shadow.height / 2 - height / 2
0031 width: (shadow.edge === Qt.LeftEdge || shadow.edge === Qt.RightEdge) ? shadow.height : shadow.width
0032 height: (shadow.edge === Qt.LeftEdge || shadow.edge === Qt.RightEdge) ? shadow.width : shadow.height
0033 rotation: {
0034 switch (shadow.edge) {
0035 case Qt.TopEdge: return 0;
0036 case Qt.LeftEdge: return 270;
0037 case Qt.RightEdge: return 90;
0038 case Qt.BottomEdge: return 180;
0039 }
0040 }
0041
0042 gradient: Gradient {
0043 GradientStop {
0044 position: 0.0
0045 color: Qt.rgba(0, 0, 0, 0.25)
0046 }
0047 GradientStop {
0048 position: 0.20
0049 color: Qt.rgba(0, 0, 0, 0.1)
0050 }
0051 GradientStop {
0052 position: 0.35
0053 color: Qt.rgba(0, 0, 0, 0.02)
0054 }
0055 GradientStop {
0056 position: 1.0
0057 color: "transparent"
0058 }
0059 }
0060 }
0061 }
0062