summaryrefslogtreecommitdiffstats
path: root/QtDemo/qml/QtDemo/demos/shaders/LogoContainer.qml
blob: 43be60db9ae6583f511d4bb39c90583305306ba1 (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
45
46
47
import QtQuick 2.0

Item {
    id: root
    anchors.fill: parent

    property int logoCount: 0

    Image {
        id: background
        source: "images/wallpaper.png"
        anchors.fill: root
    }

    function createNewLogo(x,y,logoState) {
        logoCount++;
        var component = Qt.createComponent("Logo.qml")
        if (component.status === Component.Ready) {
            var logo = component.createObject(root, {"posX": x, "posY": y, "logoState": logoState, "logoSizeDivider" : logoState, "objectName": "logo"});
            logo.play();
        }
    }

    function createNewLogos(x, y, logoSize, logoState) {
        var newSize = logoSize / logoState;
        var temp = logoSize - newSize;

        createNewLogo(x, y, logoState);
        createNewLogo(x+temp, y, logoState);
        createNewLogo(x+temp, y+temp, logoState);
        createNewLogo(x, y+temp, logoState);
        createNewLogo(x+logoSize/2-newSize/2, y+logoSize/2-newSize/2, logoState);
    }

    function decreaseCounter() {
        if (logoCount > 1) {
            logoCount--;
            return true;
        }
        return false;
    }

    Component.onCompleted: {
        var logoSize = Math.min(root.height, root.width) / 2;
        createNewLogo(root.width/2 - logoSize/2, root.height/2 - logoSize/2, 1)
    }
}