-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathSceneItem.hpp
50 lines (35 loc) · 888 Bytes
/
SceneItem.hpp
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
#pragma once
#include <QQuickItem>
#include <QTransform>
namespace rogii
{
namespace qt_quick
{
class Scene;
class SceneItem : public QQuickItem
{
Q_OBJECT
public:
explicit SceneItem(QQuickItem * scene = nullptr);
const QTransform & getModelMatrix() const;
void setModelMatrix(const QTransform & matrix);
public:
SceneItem(const SceneItem &) = delete;
SceneItem(SceneItem &&) = delete;
SceneItem & operator=(const SceneItem &) = delete;
SceneItem & operator=(SceneItem &&) = delete;
protected:
const Scene * getScene() const;
Scene * getScene();
private:
friend class Scene;
private:
void setScene(Scene * scene);
private Q_SLOTS:
void onSceneCombinedMatrixChanged();
private:
QTransform mModelMatrix;
QMetaObject::Connection mSceneCombinedMatrixChangedConnection;
};
} //~namespace qt_quick
} //~namespace rogii