8#include <qpa/qplatformwindow.h>
9#include <qpa/qwindowsysteminterface.h>
11#import <UIKit/UIKit.h>
20class QIOSWindow :
public QObject,
public QPlatformWindow
25 explicit QIOSWindow(QWindow *window, WId nativeHandle = 0);
28 void setGeometry(
const QRect &rect) override;
30 void setWindowState(Qt::WindowStates state) override;
31 void setParent(
const QPlatformWindow *window) override;
32 void setVisible(
bool visible) override;
33 void setOpacity(qreal level) override;
35 bool isExposed()
const override;
36 void propagateSizeHints() override {}
38 QMargins safeAreaMargins()
const override;
40 void raise() override{ raiseOrLower(
true); }
41 void lower() override { raiseOrLower(
false); }
43 bool shouldAutoActivateWindow()
const;
44 void requestActivateWindow() override;
46 qreal devicePixelRatio()
const override;
48 bool setMouseGrabEnabled(
bool grab) override {
return grab; }
49 bool setKeyboardGrabEnabled(
bool grab) override {
return grab; }
51 WId winId()
const override {
return WId(m_view); }
53 void clearAccessibleCache();
55 QSurfaceFormat format()
const override;
57 void requestUpdate() override;
59 void setMask(
const QRegion ®ion) override;
62 CAEAGLLayer *eaglLayer()
const;
65 bool isForeignWindow()
const override;
69 void applicationStateChanged(Qt::ApplicationState state);
70 void applyGeometry(
const QRect &rect);
74 QRect m_normalGeometry;
76 void raiseOrLower(
bool raise);
77 int windowLevel()
const;
78 bool blockedByModal();
80 friend class QIOSScreen;
83#ifndef QT_NO_DEBUG_STREAM
bool openUrl(const QUrl &url)
bool openDocument(const QUrl &url)
bool handleUrl(const QUrl &url)
QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcEventDispatcher)
Q_DECLARE_LOGGING_CATEGORY(lcQpaWindowScene)
UIView * rootViewForScreen(const QPlatformScreen *)
UIWindow * presentationWindow(QWindow *)
int infoPlistValue(NSString *key, int defaultValue)
Qt::ScreenOrientation toQtScreenOrientation(UIDeviceOrientation uiDeviceOrientation)
bool isRunningOnVisionOS()
Q_DECLARE_LOGGING_CATEGORY(lcQpaInputMethods)
UIDeviceOrientation fromQtScreenOrientation(Qt::ScreenOrientation qtOrientation)
Q_DECLARE_LOGGING_CATEGORY(lcQpaWindow)
QDebug operator<<(QDebug debug, const QIOSWindow *window)
QT_MANGLE_NAMESPACE(QUIView) *quiview_cast(UIView *view)