qmlfrontend/main.cpp
author unC0Rr
Tue, 04 Feb 2025 17:31:55 +0100
branchqmlrenderer
changeset 16087 8da5a118120b
parent 16010 a73b9770467a
permissions -rw-r--r--
Modernize approach for building qmlfrontend
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14154
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14143
diff changeset
     1
#include <QDebug>
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     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
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     4
#include <QQmlApplicationEngine>
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     5
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
     6
int main(int argc, char* argv[]) {
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     7
  QGuiApplication app(argc, argv);
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     8
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     9
  QQmlApplicationEngine engine;
16087
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    10
  /*
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    11
    qRegisterMetaType<Engine::SimpleEventType>();
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    12
    qRegisterMetaType<Engine::LongEventType>();
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    13
    qRegisterMetaType<Engine::LongEventState>();
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    14
    qRegisterMetaType<Engine::PositionedEventType>();
14854
aed75d439027 Implement external events approach to input user actions into engine.
unc0rr
parents: 14372
diff changeset
    15
16087
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    16
    qmlRegisterSingletonType<PreviewAcceptor>(
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    17
        "Hedgewars.Engine", 1, 0, "PreviewAcceptor",
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    18
        previewacceptor_singletontype_provider);
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    19
    qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine");
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    20
    qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    21
    qmlRegisterType<NetSession>("Hedgewars.Engine", 1, 0, "NetSession");
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    22
    qmlRegisterUncreatableType<EngineInstance>(
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    23
        "Hedgewars.Engine", 1, 0, "EngineInstance",
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    24
        QStringLiteral("Create by HWEngine run methods"));
14143
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    25
16087
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    26
    qmlRegisterUncreatableMetaObject(Engine::staticMetaObject,
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    27
    "Hedgewars.Engine", 1, 0, "Engine", QStringLiteral("Namespace: only
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    28
    enums"));
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    29
  */
16010
a73b9770467a Port QML frontend to Qt6, use rendering to framebuffer object
unC0Rr
parents: 15217
diff changeset
    30
  engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
16087
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    31
  if (engine.rootObjects().isEmpty()) {
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    32
    return -1;
8da5a118120b Modernize approach for building qmlfrontend
unC0Rr
parents: 16010
diff changeset
    33
  }
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    34
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    35
  return app.exec();
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    36
}