aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quickcontrols/filesystemexplorer/FileSystemModule/qml/Icon.qml
blob: 25162d9d3f6ad22fb7d06909b5524b68fd4a3341 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtQuick.Effects

// Custom Component for displaying Icons
Item {
    id: root

    required property url path
    property real padding: 5
    property real size: 30
    property alias iconColor: overlay.colorizationColor
    property alias hovered: mouse.hovered

    width: size
    height: size

    Image {
        id: icon
        anchors.fill: root
        anchors.margins: padding
        source: path
        sourceSize: Qt.size(size, size)
        fillMode: Image.PreserveAspectFit
        smooth: true
        antialiasing: true
        asynchronous: true
    }

    MultiEffect {
        id: overlay
        anchors.fill: icon
        source: icon
        colorization: 1.0
        brightness: 1.0
    }

    HoverHandler {
        id: mouse
        acceptedDevices: PointerDevice.Mouse
    }
}