File: CrossFadeImage.qml

package info (click to toggle)
lomiri-ui-toolkit 1.3.5010%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 25,900 kB
  • sloc: cpp: 85,772; python: 5,528; sh: 1,364; javascript: 919; ansic: 573; makefile: 204
file content (83 lines) | stat: -rw-r--r-- 2,647 bytes parent folder | download
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
 * Copyright 2014 Canonical Ltd.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; version 3.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import QtQuick 2.4
import Lomiri.Components 1.3

Template {
    objectName: "crossFadeImagesTemplate"

    TemplateSection {
        id: crossFadeImageTemplateSection
        className: "CrossFadeImage"
        documentation: "Lomiri.Components/%1.html".arg(className)

        function next() {
            if (internal.index < internal.paths.length - 1)
                internal.index++;
            else
                internal.index = 0;
        }

        QtObject {
            id: internal
            property int index: 0
            property var paths: ["demo_image.jpg", "demo_image_2.png", "demo_image_3.png"]
            property url source: Qt.resolvedUrl(paths[index])
            property int fadeDuration: 1000
        }

        Timer {
            id: timer
            interval: 2000; running: true; repeat: true
            onTriggered: crossFadeImageTemplateSection.next()
        }

        Column {
            spacing: units.gu(2)
            anchors { left: parent.left; right: parent.right; }

            CrossFadeImage {
                width: parent.width
                height: units.gu(24)
                source: internal.source
                fadeStyle: "overlay"
                fadeDuration: internal.fadeDuration

                Label {
                    anchors.centerIn: parent
                    text: "fadeStyle: overlay"
                    color: "white"; style: Text.Raised; styleColor: "black"
                    z: 10
                }
            }
            CrossFadeImage {
                width: parent.width
                height: units.gu(24)
                source: internal.source
                fadeStyle: "cross"
                fadeDuration: internal.fadeDuration

                Label {
                    anchors.centerIn: parent
                    text: "fadeStyle: cross"
                    color: "white"; style: Text.Raised; styleColor: "black"
                    z: 10
                }
            }
        }
    }
}