Back to home page

EIC code displayed by LXR

 
 

    


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 // Copyright (C) 2021 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 
0004 #ifndef QGUIAPPLICATION_PLATFORM_H
0005 #define QGUIAPPLICATION_PLATFORM_H
0006 
0007 //
0008 //  W A R N I N G
0009 //  -------------
0010 //
0011 // This file is part of the native interface APIs. Usage of
0012 // this API may make your code source and binary incompatible
0013 // with future versions of Qt.
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 } // QNativeInterface
0096 
0097 QT_END_NAMESPACE
0098 
0099 #endif // QGUIAPPLICATION_PLATFORM_H