File indexing completed on 2024-04-21 15:24:03

0001 // This file is part of Washi Pad
0002 // SPDX-FileCopyrightText: 2018 Kevin Ottens <ervin@kde.org>
0003 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 
0005 #include <QApplication>
0006 #include <QQmlEngine>
0007 #include <QQuickView>
0008 
0009 #include "pressureequation.h"
0010 #include "sketchmodel.h"
0011 #include "sketchserializer.h"
0012 #include "sketchview.h"
0013 #include "strokeitem.h"
0014 #include "strokelistitem.h"
0015 
0016 int main(int argc, char *argv[])
0017 {
0018     QApplication app(argc, argv);
0019     SketchView view;
0020 
0021     QObject::connect(view.engine(), &QQmlEngine::quit, &app, &QGuiApplication::quit);
0022 
0023     qRegisterMetaType<StrokeSample>();
0024     qRegisterMetaType<Stroke>();
0025     qRegisterMetaType<Stroke::Type>();
0026     qRegisterMetaType<Event>();
0027 
0028     qmlRegisterType<PressureEquation>("WashiPad", 1, 0, "PressureEquation");
0029     qmlRegisterUncreatableType<StrokeSample>("WashiPad", 1, 0, "StrokeSample", "Use the createSample function on SketchViewHandler instead");
0030     qmlRegisterUncreatableType<Stroke>("WashiPad", 1, 0, "Stroke", "Use the createStroke function on SketchViewHandler instead");
0031 
0032     qmlRegisterType<SketchViewHandler>("WashiPad", 1, 0, "SketchViewHandler");
0033     qmlRegisterUncreatableType<Event>("WashiPad", 1, 0, "TabletEvent", "They are provided by the SketchViewHandler");
0034 
0035     qmlRegisterType<SketchModel>("WashiPad", 1, 0, "SketchModel");
0036     qmlRegisterType<SketchSerializer>("WashiPad", 1, 0, "SketchSerializer");
0037     qmlRegisterType<StrokeItem>("WashiPad", 1, 0, "StrokeItem");
0038     qmlRegisterType<StrokeListItem>("WashiPad", 1, 0, "StrokeListItem");
0039 
0040     view.setResizeMode(QQuickView::SizeRootObjectToView);
0041     view.setSource(QUrl("qrc:/main.qml"));
0042     view.setCursor(Qt::BlankCursor);
0043     view.showFullScreen();
0044     return app.exec();
0045 }