author | unC0Rr |
Wed, 15 May 2024 10:05:13 +0200 | |
changeset 16013 | 2e529b1a9d5b |
parent 16010 | a73b9770467a |
permissions | -rw-r--r-- |
14154
8354b390f1a2
Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents:
14143
diff
changeset
|
1 |
#include <QDebug> |
12854 | 2 |
#include <QGuiApplication> |
14154
8354b390f1a2
Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents:
14143
diff
changeset
|
3 |
#include <QLibrary> |
12854 | 4 |
#include <QQmlApplicationEngine> |
5 |
||
14154
8354b390f1a2
Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents:
14143
diff
changeset
|
6 |
#include "engine_interface.h" |
14371
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
7 |
#include "game_view.h" |
14143 | 8 |
#include "hwengine.h" |
14915 | 9 |
#include "net_session.h" |
14371
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
10 |
#include "preview_acceptor.h" |
14143 | 11 |
|
14371
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
12 |
static QObject* previewacceptor_singletontype_provider( |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
13 |
QQmlEngine* engine, QJSEngine* scriptEngine) { |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
14 |
Q_UNUSED(scriptEngine) |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
15 |
|
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
16 |
PreviewAcceptor* acceptor = new PreviewAcceptor(engine); |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
17 |
return acceptor; |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
18 |
} |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
19 |
|
14143 | 20 |
int main(int argc, char* argv[]) { |
12854 | 21 |
QGuiApplication app(argc, argv); |
22 |
||
23 |
QQmlApplicationEngine engine; |
|
14143 | 24 |
|
15217 | 25 |
qRegisterMetaType<Engine::SimpleEventType>(); |
26 |
qRegisterMetaType<Engine::LongEventType>(); |
|
27 |
qRegisterMetaType<Engine::LongEventState>(); |
|
28 |
qRegisterMetaType<Engine::PositionedEventType>(); |
|
14854
aed75d439027
Implement external events approach to input user actions into engine.
unc0rr
parents:
14372
diff
changeset
|
29 |
|
14371
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
30 |
qmlRegisterSingletonType<PreviewAcceptor>( |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
31 |
"Hedgewars.Engine", 1, 0, "PreviewAcceptor", |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
32 |
previewacceptor_singletontype_provider); |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
33 |
qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine"); |
90bd2c331703
Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents:
14370
diff
changeset
|
34 |
qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView"); |
14915 | 35 |
qmlRegisterType<NetSession>("Hedgewars.Engine", 1, 0, "NetSession"); |
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
15217
diff
changeset
|
36 |
qmlRegisterUncreatableType<EngineInstance>( |
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
15217
diff
changeset
|
37 |
"Hedgewars.Engine", 1, 0, "EngineInstance", |
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
15217
diff
changeset
|
38 |
QStringLiteral("Create by HWEngine run methods")); |
14143 | 39 |
|
15217 | 40 |
qmlRegisterUncreatableMetaObject(Engine::staticMetaObject, "Hedgewars.Engine", |
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
15217
diff
changeset
|
41 |
1, 0, "Engine", |
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
15217
diff
changeset
|
42 |
QStringLiteral("Namespace: only enums")); |
15217 | 43 |
|
16010
a73b9770467a
Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents:
15217
diff
changeset
|
44 |
engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); |
14143 | 45 |
if (engine.rootObjects().isEmpty()) return -1; |
12854 | 46 |
|
47 |
return app.exec(); |
|
48 |
} |