Warning, file /include/QtGui/qguiapplication_platform.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004 #ifndef QGUIAPPLICATION_PLATFORM_H
0005 #define QGUIAPPLICATION_PLATFORM_H
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include <QtGui/qtguiglobal.h>
0017
0018 #include <QtCore/qnativeinterface.h>
0019 #include <QtGui/qguiapplication.h>
0020
0021 #if QT_CONFIG(xcb)
0022 typedef struct _XDisplay Display;
0023 struct xcb_connection_t;
0024 #endif
0025
0026 #if QT_CONFIG(wayland)
0027 struct wl_display;
0028 struct wl_compositor;
0029 struct wl_seat;
0030 struct wl_keyboard;
0031 struct wl_pointer;
0032 struct wl_touch;
0033 #endif
0034
0035 #if defined(Q_OS_VISIONOS) || defined(Q_QDOC)
0036 # ifdef __OBJC__
0037 Q_FORWARD_DECLARE_OBJC_CLASS(CP_OBJECT_cp_layer_renderer_capabilities);
0038 typedef CP_OBJECT_cp_layer_renderer_capabilities *cp_layer_renderer_capabilities_t;
0039 Q_FORWARD_DECLARE_OBJC_CLASS(CP_OBJECT_cp_layer_renderer_configuration);
0040 typedef CP_OBJECT_cp_layer_renderer_configuration *cp_layer_renderer_configuration_t;
0041 Q_FORWARD_DECLARE_OBJC_CLASS(CP_OBJECT_cp_layer_renderer);
0042 typedef CP_OBJECT_cp_layer_renderer *cp_layer_renderer_t;
0043 # else
0044 typedef struct cp_layer_renderer_capabilities_s *cp_layer_renderer_capabilities_t;
0045 typedef struct cp_layer_renderer_configuration_s *cp_layer_renderer_configuration_t;
0046 typedef struct cp_layer_renderer_s *cp_layer_renderer_t;
0047 # endif
0048 #endif
0049
0050
0051 QT_BEGIN_NAMESPACE
0052
0053 namespace QNativeInterface
0054 {
0055
0056 #if QT_CONFIG(xcb) || defined(Q_QDOC)
0057 struct Q_GUI_EXPORT QX11Application
0058 {
0059 QT_DECLARE_NATIVE_INTERFACE(QX11Application, 1, QGuiApplication)
0060 virtual Display *display() const = 0;
0061 virtual xcb_connection_t *connection() const = 0;
0062 };
0063 #endif
0064
0065 #if QT_CONFIG(wayland) || defined(Q_QDOC)
0066 struct Q_GUI_EXPORT QWaylandApplication
0067 {
0068 QT_DECLARE_NATIVE_INTERFACE(QWaylandApplication, 1, QGuiApplication)
0069 virtual wl_display *display() const = 0;
0070 virtual wl_compositor *compositor() const = 0;
0071 virtual wl_seat *seat() const = 0;
0072 virtual wl_keyboard *keyboard() const = 0;
0073 virtual wl_pointer *pointer() const = 0;
0074 virtual wl_touch *touch() const = 0;
0075 virtual uint lastInputSerial() const = 0;
0076 virtual wl_seat *lastInputSeat() const = 0;
0077 };
0078 #endif
0079
0080 #if defined(Q_OS_VISIONOS) || defined(Q_QDOC)
0081 struct Q_GUI_EXPORT QVisionOSApplication
0082 {
0083 QT_DECLARE_NATIVE_INTERFACE(QVisionOSApplication, 1, QGuiApplication)
0084 struct ImmersiveSpaceCompositorLayer {
0085 virtual void configure(cp_layer_renderer_capabilities_t, cp_layer_renderer_configuration_t) const {}
0086 virtual void render(cp_layer_renderer_t) = 0;
0087 virtual void handleSpatialEvents(const QJsonObject &) {};
0088 };
0089 virtual void setImmersiveSpaceCompositorLayer(ImmersiveSpaceCompositorLayer *layer) = 0;
0090 virtual void openImmersiveSpace() = 0;
0091 virtual void dismissImmersiveSpace() = 0;
0092 };
0093 #endif
0094
0095 }
0096
0097 QT_END_NAMESPACE
0098
0099 #endif