4#ifndef QOFFSCREENINTEGRATION_X11_H
5#define QOFFSCREENINTEGRATION_X11_H
11#include <qscopedpointer.h>
13#include <qpa/qplatformopenglcontext.h>
14#include <QtGui/qguiapplication.h>
18class QOffscreenX11Connection;
19class QOffscreenX11Info;
31#if !defined(QT_NO_OPENGL) && QT_CONFIG(xcb_glx_plugin)
46 bool hasCapability(QPlatformIntegration::Capability cap)
const override;
48#if !defined(QT_NO_OPENGL) && QT_CONFIG(xcb_glx_plugin)
61 void *
display()
const {
return m_display; }
68 QScopedPointer<QOffscreenX11Info> m_x11Info;
71#if QT_CONFIG(xcb_glx_plugin)
72class QOffscreenX11GLXContextData;
74class QOffscreenX11GLXContext :
public QPlatformOpenGLContext
75 ,
public QNativeInterface::QGLXContext
78 QOffscreenX11GLXContext(QOffscreenX11Info *x11, QOpenGLContext *context);
79 ~QOffscreenX11GLXContext();
81 bool makeCurrent(QPlatformSurface *surface) override;
82 void doneCurrent() override;
83 void swapBuffers(QPlatformSurface *surface) override;
84 QFunctionPointer getProcAddress(
const char *procName) override;
86 QSurfaceFormat format()
const override;
87 bool isSharing()
const override;
88 bool isValid()
const override;
90 GLXContext nativeContext()
const override {
return glxContext(); }
92 void *glxConfig()
const;
93 GLXContext glxContext()
const;
96 QScopedPointer<QOffscreenX11GLXContextData> d;
~QOffscreenX11Connection()
QOffscreenX11Connection()
QOffscreenX11Info * x11Info()
bool hasCapability(QPlatformIntegration::Capability cap) const override
QOffscreenX11PlatformNativeInterface * nativeInterface() const override
QOffscreenX11Integration(const QStringList ¶mList)
~QOffscreenX11Integration()