13#include <QCoreApplication>
15#include <qpa/qplatformwindow.h>
16#include <qpa/qwindowsysteminterface.h>
17#include <QtGui/private/qgenericunixeventdispatcher_p.h>
19#include <Application.h>
23using namespace Qt::StringLiterals;
33 : m_clipboard(
new QHaikuClipboard)
37 const QString signature =
"application/x-vnd.Qt.%1"_L1.arg(QFileInfo(QCoreApplication::applicationFilePath()).fileName());
42 const thread_id applicationThreadId = spawn_thread(
startApplicationThread,
"app_thread", 1,
static_cast<
void*>(app));
43 resume_thread(applicationThreadId);
46 m_screen =
new QHaikuScreen;
49 QWindowSystemInterface::handleScreenAdded(m_screen);
54 QWindowSystemInterface::handleScreenRemoved(m_screen);
61 m_clipboard =
nullptr;
69 return QPlatformIntegration::hasCapability(capability);
74 return QPlatformIntegration::fontDatabase();
80 m_services =
new QHaikuServices;
93 platformWindow->requestActivateWindow();
94 return platformWindow;
104 return createUnixEventDispatcher();
bool hasCapability(QPlatformIntegration::Capability cap) const override
QHaikuIntegration(const QStringList ¶mList)
QAbstractEventDispatcher * createEventDispatcher() const override
Factory function for the GUI event dispatcher.
QPlatformBackingStore * createPlatformBackingStore(QWindow *window) const override
Factory function for QPlatformBackingStore.
QPlatformClipboard * clipboard() const override
Accessor for the platform integration's clipboard.
QPlatformFontDatabase * fontDatabase() const override
Accessor for the platform integration's fontdatabase.
QPlatformWindow * createPlatformWindow(QWindow *window) const override
Factory function for QPlatformWindow.
QPlatformServices * services() const override
static long int startApplicationThread(void *data)