author | unC0Rr |
Wed, 01 May 2024 16:49:16 +0200 | |
changeset 16012 | caba603f461f |
parent 16010 | a73b9770467a |
child 16017 | e8afb1bf2779 |
permissions | -rw-r--r-- |
14143 | 1 |
#ifndef GAMEVIEW_H |
2 |
#define GAMEVIEW_H |
|
3 |
||
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
4 |
#include <QPointer> |
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
14842
diff
changeset
|
5 |
#include <QQuickFramebufferObject> |
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
6 |
#include <QScopedPointer> |
14143 | 7 |
|
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
8 |
#include "engine_instance.h" |
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
9 |
|
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
14842
diff
changeset
|
10 |
class GameView : public QQuickFramebufferObject { |
14143 | 11 |
Q_OBJECT |
12 |
||
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
13 |
Q_PROPERTY(EngineInstance* engineInstance READ engineInstance WRITE |
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
14 |
setEngineInstance NOTIFY engineInstanceChanged) |
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
15 |
|
14143 | 16 |
public: |
14842 | 17 |
explicit GameView(QQuickItem* parent = nullptr); |
14143 | 18 |
|
19 |
Q_INVOKABLE void tick(quint32 delta); |
|
20 |
||
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
21 |
EngineInstance* engineInstance() const; |
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
22 |
|
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
14842
diff
changeset
|
23 |
Renderer* createRenderer() const override; |
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
14842
diff
changeset
|
24 |
|
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
14842
diff
changeset
|
25 |
Q_SIGNALS: |
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
26 |
void engineInstanceChanged(EngineInstance* engineInstance); |
14143 | 27 |
|
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
14842
diff
changeset
|
28 |
public Q_SLOTS: |
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
29 |
void setEngineInstance(EngineInstance* engineInstance); |
14143 | 30 |
|
31 |
private: |
|
32 |
quint32 m_delta; |
|
14290
92e5682810d4
Prepare to have possibility to pass opengl context to engine
unc0rr
parents:
14154
diff
changeset
|
33 |
QPointer<EngineInstance> m_engineInstance; |
14712 | 34 |
QSize m_viewportSize; |
14713 | 35 |
QPoint m_centerPoint; |
14143 | 36 |
}; |
37 |
||
38 |
#endif // GAMEVIEW_H |