4#ifndef QPLATFORMOPENGLCONTEXT_H
5#define QPLATFORMOPENGLCONTEXT_H
16#include <QtGui/qtguiglobal.h>
17#include <QtCore/qnamespace.h>
21#include <QtGui/qsurfaceformat.h>
22#include <QtGui/qwindow.h>
23#include <QtGui/qopengl.h>
24#include <QtGui/qopenglcontext.h>
26#include <QtCore/qnativeinterface.h>
31class QPlatformOpenGLContextPrivate;
35 Q_DECLARE_PRIVATE(QPlatformOpenGLContext)
37 QPlatformOpenGLContext();
38 virtual ~QPlatformOpenGLContext();
55 virtual bool isValid()
const {
return true; }
61 static bool parseOpenGLVersion(
const QByteArray &versionString,
int &major,
int &minor);
64 friend class QOpenGLContext;
67 QScopedPointer<QPlatformOpenGLContextPrivate> d_ptr;
69 void setContext(QOpenGLContext *context);
74namespace QNativeInterface::
Private {
76#if defined(Q_OS_MACOS)
93#if QT_CONFIG(xcb_glx_plugin)
QByteArray format() const
Returns the format QImageReader uses for reading images.
QPlatformOpenGLContextPrivate()
The QPlatformOpenGLContext class provides an abstraction for native GL contexts.
friend class QOpenGLContextPrivate
virtual void initialize()
Called after a new instance is constructed.
virtual QFunctionPointer getProcAddress(const char *procName)=0
Reimplement in subclass to allow dynamic querying of OpenGL symbols.
virtual void swapBuffers(QPlatformSurface *surface)=0
Reimplement in subclass to native swap buffers calls.
virtual bool makeCurrent(QPlatformSurface *surface)=0
virtual bool isSharing() const
virtual void doneCurrent()=0
QOpenGLContext * context() const
virtual void endFrame()
Called when the RHI ends rendering a in the context.
virtual GLuint defaultFramebufferObject(QPlatformSurface *surface) const
Reimplement in subclass if your platform uses framebuffer objects for surfaces.
virtual void beginFrame()
Called when the RHI begins rendering a new frame in the context.
virtual bool isValid() const
static bool parseOpenGLVersion(const QByteArray &versionString, int &major, int &minor)