4#ifndef QWASMINTEGRATION_H
5#define QWASMINTEGRATION_H
11#include <qpa/qplatformintegration.h>
12#include <qpa/qplatformscreen.h>
13#include <qpa/qplatforminputcontext.h>
15#include <QtCore/qhash.h>
17#include <private/qstdweb_p.h>
19#include <emscripten.h>
20#include <emscripten/html5.h>
21#include <emscripten/val.h>
25class QWasmEventTranslator;
33class QWasmAccessibility;
59#ifndef QT_NO_ACCESSIBILITY
65#if QT_CONFIG(draganddrop)
87 struct ScreenMapping {
88 emscripten::val emscriptenVal;
94 mutable QHash<QWindow *, QWasmBackingStore *> m_backingStores;
95 QList<ScreenMapping> m_screens;
97 mutable QWasmAccessibility *m_accessibility;
100 mutable QScopedPointer<QPlatformInputContext> m_inputContext;
105#if QT_CONFIG(draganddrop)
106 std::unique_ptr<QWasmDrag> m_drag;
The QPlatformInputContext class abstracts the input method dependent data and composing state.
The QPlatformOpenGLContext class provides an abstraction for native GL contexts.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QPlatformInputContext * inputContext() const override
Returns the platforms input context.
void setContainerElements(emscripten::val elementArray)
static QWasmIntegration * get()
Qt::WindowState defaultWindowState(Qt::WindowFlags flags) const override
QPlatformFontDatabase * fontDatabase() const override
Accessor for the platform integration's fontdatabase.
QPlatformOffscreenSurface * createPlatformOffscreenSurface(QOffscreenSurface *surface) const override
Factory function for QOffscreenSurface.
void addContainerElement(emscripten::val elementArray)
void initialize() override
Performs initialization steps that depend on having an event dispatcher available.
QWasmClipboard * getWasmClipboard()
QWasmInputContext * getWasmInputContext()
void removeContainerElement(emscripten::val elementArray)
QAbstractEventDispatcher * createEventDispatcher() const override
Factory function for the GUI event dispatcher.
QStringList themeNames() const override
void releaseRequesetUpdateHold()
void loadLocalFontFamilies(emscripten::val families)
QPlatformOpenGLContext * createPlatformOpenGLContext(QOpenGLContext *context) const override
Factory function for QPlatformOpenGLContext.
void removeBackingStore(QWindow *window)
QPlatformBackingStore * createPlatformBackingStore(QWindow *window) const override
Factory function for QPlatformBackingStore.
static quint64 getTimestamp()
QPlatformServices * services() const override
QPlatformClipboard * clipboard() const override
Accessor for the platform integration's clipboard.
QPlatformTheme * createPlatformTheme(const QString &name) const override
void resizeScreen(const emscripten::val &canvas)
QVariant styleHint(QPlatformIntegration::StyleHint hint) const override
bool hasCapability(QPlatformIntegration::Capability cap) const override
QPlatformWindow * createPlatformWindow(QWindow *window) const override
Factory function for QPlatformWindow.
QPlatformAccessibility * accessibility() const override
Combined button and popup list for selecting options.
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
unsigned long long quint64