File: AnimatedShaderEffectSource.qml

package info (click to toggle)
lomiri-ui-toolkit 1.3.5110%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 26,436 kB
  • sloc: cpp: 85,830; python: 5,537; sh: 1,344; javascript: 919; ansic: 573; makefile: 204
file content (63 lines) | stat: -rw-r--r-- 1,779 bytes parent folder | download | duplicates (2)
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
/*
 * Copyright 2015 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/>.
 */

// Test if the LomiriShape is correctly updated when its source is a ShaderEffectSource.

import QtQuick 2.4
import Lomiri.Components 1.2

Rectangle {
    id: root
    width: 300
    height: 150
    color: "#c0c0c0"

    Text {
        id: text
        anchors.centerIn: parent
        font.family: "Noto Sans"
        font.pixelSize: 34
        color: "#c0c0c0"
        text: "This is a scrolling text... "
        font.bold: true
    }

    ShaderEffectSource {
        id: effectSource
        sourceItem: text
        hideSource: true
        visible: false
    }

    LomiriShape {
        id: shape
        anchors.fill: parent
        anchors.margins: 50
        backgroundColor: "black"
        radius: "medium"
        source: effectSource
        sourceFillMode: LomiriShape.Pad
        sourceHorizontalAlignment: LomiriShape.AlignLeft
        sourceHorizontalWrapMode: LomiriShape.Repeat

        PropertyAnimation on sourceTranslation {
            from: Qt.vector2d(0.0, 0.0)
            to: Qt.vector2d(-text.width / shape.width, 0.0)
            loops: Animation.Infinite
            duration: 2500
        }
    }
}