8#include <qpa/qplatformwindow.h>
9#include <qpa/qwindowsysteminterface.h>
11#import <UIKit/UIKit.h>
17class QIOSWindow :
public QObject,
public QPlatformWindow
22 explicit QIOSWindow(QWindow *window, WId nativeHandle = 0);
25 void setGeometry(
const QRect &rect) override;
27 void setWindowState(Qt::WindowStates state) override;
28 void setParent(
const QPlatformWindow *window) override;
29 void setVisible(
bool visible) override;
30 void setOpacity(qreal level) override;
32 bool isExposed()
const override;
33 void propagateSizeHints() override {}
35 QMargins safeAreaMargins()
const override;
37 void raise() override{ raiseOrLower(
true); }
38 void lower() override { raiseOrLower(
false); }
40 bool shouldAutoActivateWindow()
const;
41 void requestActivateWindow() override;
43 qreal devicePixelRatio()
const override;
45 bool setMouseGrabEnabled(
bool grab) override {
return grab; }
46 bool setKeyboardGrabEnabled(
bool grab) override {
return grab; }
48 WId winId()
const override {
return WId(m_view); }
50 void clearAccessibleCache();
52 QSurfaceFormat format()
const override;
54 void requestUpdate() override;
56 void setMask(
const QRegion ®ion) override;
59 CAEAGLLayer *eaglLayer()
const;
62 bool isForeignWindow()
const override;
66 void applicationStateChanged(Qt::ApplicationState state);
67 void applyGeometry(
const QRect &rect);
71 QRect m_normalGeometry;
73 void raiseOrLower(
bool raise);
74 int windowLevel()
const;
75 bool blockedByModal();
77 friend class QIOSScreen;
80#ifndef QT_NO_DEBUG_STREAM
bool openUrl(const QUrl &url)
bool openDocument(const QUrl &url)
bool handleUrl(const QUrl &url)
Combined button and popup list for selecting options.
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)
QUIView * quiview_cast(UIView *view)
Returns the view cast to a QUIview if possible.