summaryrefslogtreecommitdiffstats
path: root/src/imports/particles/spritestate.h
blob: bbd75520c8482f61e634c1dd44097d78f06ff849 (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
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#ifndef SPRITESTATE_H
#define SPRITESTATE_H

#include <QObject>
#include <QUrl>
#include <QVariantMap>

QT_BEGIN_HEADER

QT_BEGIN_NAMESPACE

QT_MODULE(Declarative)


class SpriteState : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
    Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
    Q_PROPERTY(int frames READ frames WRITE setFrames NOTIFY framesChanged)
    Q_PROPERTY(int duration READ duration WRITE setDuration NOTIFY durationChanged)
    Q_PROPERTY(int durationVariance READ durationVariance WRITE setDurationVariance NOTIFY durationVarianceChanged)
    Q_PROPERTY(qreal speedModifiesDuration READ speedModifer WRITE setSpeedModifier NOTIFY speedModifierChanged)
    Q_PROPERTY(QVariantMap to READ to WRITE setTo NOTIFY toChanged)

public:
    explicit SpriteState(QObject *parent = 0);

    QUrl source() const
    {
        return m_source;
    }

    int frames() const
    {
        return m_frames;
    }

    int duration() const
    {
        return m_duration;
    }

    QString name() const
    {
        return m_name;
    }

    QVariantMap to() const
    {
        return m_to;
    }

    qreal speedModifer() const
    {
        return m_speedModifier;
    }

    int durationVariance() const
    {
        return m_durationVariance;
    }

signals:

    void sourceChanged(QUrl arg);

    void framesChanged(int arg);

    void durationChanged(int arg);

    void nameChanged(QString arg);

    void toChanged(QVariantMap arg);

    void speedModifierChanged(qreal arg);

    void durationVarianceChanged(int arg);

public slots:

    void setSource(QUrl arg)
    {
        if (m_source != arg) {
            m_source = arg;
            emit sourceChanged(arg);
        }
    }

    void setFrames(int arg)
    {
        if (m_frames != arg) {
            m_frames = arg;
            emit framesChanged(arg);
        }
    }

    void setDuration(int arg)
    {
        if (m_duration != arg) {
            m_duration = arg;
            emit durationChanged(arg);
        }
    }

    void setName(QString arg)
    {
        if (m_name != arg) {
            m_name = arg;
            emit nameChanged(arg);
        }
    }

    void setTo(QVariantMap arg)
    {
        if (m_to != arg) {
            m_to = arg;
            emit toChanged(arg);
        }
    }

    void setSpeedModifier(qreal arg)
    {
        if (m_speedModifier != arg) {
            m_speedModifier = arg;
            emit speedModifierChanged(arg);
        }
    }

    void setDurationVariance(int arg)
    {
        if (m_durationVariance != arg) {
            m_durationVariance = arg;
            emit durationVarianceChanged(arg);
        }
    }

private:
    friend class SpriteParticle;
    friend class SpriteEngine;
    QUrl m_source;
    int m_frames;
    int m_duration;
    QString m_name;
    QVariantMap m_to;
    qreal m_speedModifier;
    int m_durationVariance;
};

QT_END_NAMESPACE
QT_END_HEADER
#endif // SPRITESTATE_H