LibreOffice Module vcl (master)  1
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Qt5OpenGLContext Class Reference

#include <Qt5OpenGLContext.hxx>

Inheritance diagram for Qt5OpenGLContext:
[legend]
Collaboration diagram for Qt5OpenGLContext:
[legend]

Public Member Functions

virtual void initWindow () override
 
- Public Member Functions inherited from OpenGLContext
virtual ~OpenGLContext ()
 
void acquire ()
 
void release ()
 
void dispose ()
 
void requestLegacyContext ()
 
bool init (vcl::Window *pParent)
 
void reset ()
 
void BindFramebuffer (OpenGLFramebuffer *pFramebuffer)
 
void AcquireDefaultFramebuffer ()
 
OpenGLFramebufferAcquireFramebuffer (const OpenGLTexture &rTexture)
 
void UnbindTextureFromFramebuffers (GLuint nTexture)
 
void ReleaseFramebuffer (const OpenGLTexture &rTexture)
 
void ReleaseFramebuffers ()
 
OpenGLProgramGetProgram (const OUString &rVertexShader, const OUString &rFragmentShader, const OString &preamble="")
 
OpenGLProgramUseProgram (const OUString &rVertexShader, const OUString &rFragmentShader, const OString &preamble="")
 
RenderStatestate ()
 
OpenGLCapabilitySwitchgetOpenGLCapabilitySwitch ()
 
void registerAsCurrent ()
 Put this GL context to the end of the context list. More...
 
virtual void restoreDefaultFramebuffer ()
 unbind the GL_FRAMEBUFFER to its default state, needed for gtk3 More...
 
virtual void sync ()
 
void show ()
 
void setWinPosAndSize (const Point &rPos, const Size &rSize)
 
SystemChildWindowgetChildWindow ()
 
const SystemChildWindowgetChildWindow () const
 
bool isInitialized () const
 
void setVCLOnly ()
 VCL promiscuously re-uses its own contexts: More...
 
bool isVCLOnly () const
 
virtual SystemWindowData generateWinData (vcl::Window *pParent, bool bRequestLegacyContext)
 

Private Member Functions

virtual const GLWindowgetOpenGLWindow () const override
 
virtual GLWindowgetModifiableOpenGLWindow () override
 
virtual bool ImplInit () override
 
virtual void makeCurrent () override
 make this GL context current - so it is implicit in subsequent GL calls More...
 
virtual void destroyCurrentContext () override
 
virtual bool isCurrent () override
 Is this GL context the current context ? More...
 
virtual bool isAnyCurrent () override
 Is any GL context the current context ? More...
 
virtual void resetCurrent () override
 reset the GL context so this context is not implicit in subsequent GL calls. More...
 
virtual void swapBuffers () override
 

Private Attributes

GLWindow m_aGLWin
 
QWindow * m_pWindow
 
QOpenGLContext * m_pContext
 

Static Private Attributes

static bool g_bAnyCurrent
 

Additional Inherited Members

- Static Public Member Functions inherited from OpenGLContext
static rtl::Reference< OpenGLContextCreate ()
 
static void ReleaseFramebuffer (OpenGLFramebuffer *pFramebuffer)
 
static bool IsTextureAttachedAnywhere (GLuint nTexture)
 Method for debugging; check texture is not already attached. More...
 
static void clearCurrent ()
 release bound resources from the current context More...
 
static void prepareForYield ()
 release contexts etc. before (potentially) allowing another thread run. More...
 
static bool hasCurrent ()
 Is there a current GL context ? More...
 
static void makeVCLCurrent ()
 make a VCL context (any context) current, create it if necessary. More...
 
static rtl::Reference< OpenGLContextgetVCLContext (bool bMakeIfNecessary=true)
 fetch any VCL context, creating one if bMakeIfNecessary is set. More...
 
- Public Attributes inherited from OpenGLContext
vcl::Region maClipRegion
 
OpenGLContextmpPrevContext
 
OpenGLContextmpNextContext
 
- Protected Member Functions inherited from OpenGLContext
 OpenGLContext ()
 
bool InitGL ()
 
- Static Protected Member Functions inherited from OpenGLContext
static void InitGLDebugging ()
 
static void InitChildWindow (SystemChildWindow *pChildWindow)
 
static void BuffersSwapped ()
 
- Protected Attributes inherited from OpenGLContext
VclPtr< vcl::Windowm_xWindow
 
VclPtr< vcl::WindowmpWindow
 
VclPtr< SystemChildWindowm_pChildWindow
 
bool mbInitialized
 
int mnRefCount
 
bool mbRequestLegacyContext
 
bool mbVCLOnly
 
int mnFramebufferCount
 
OpenGLFramebuffermpCurrentFramebuffer
 
OpenGLFramebuffermpFirstFramebuffer
 
OpenGLFramebuffermpLastFramebuffer
 
OpenGLCapabilitySwitch maOpenGLCapabilitySwitch
 

Detailed Description

Definition at line 27 of file Qt5OpenGLContext.hxx.

Member Function Documentation

virtual void Qt5OpenGLContext::destroyCurrentContext ( )
overrideprivatevirtual

Reimplemented from OpenGLContext.

virtual GLWindow& Qt5OpenGLContext::getModifiableOpenGLWindow ( )
inlineoverrideprivatevirtual

Implements OpenGLContext.

Definition at line 34 of file Qt5OpenGLContext.hxx.

References m_aGLWin.

virtual const GLWindow& Qt5OpenGLContext::getOpenGLWindow ( ) const
inlineoverrideprivatevirtual

Implements OpenGLContext.

Definition at line 33 of file Qt5OpenGLContext.hxx.

References m_aGLWin.

virtual bool Qt5OpenGLContext::ImplInit ( )
overrideprivatevirtual

Reimplemented from OpenGLContext.

virtual void Qt5OpenGLContext::initWindow ( )
overridevirtual

Reimplemented from OpenGLContext.

virtual bool Qt5OpenGLContext::isAnyCurrent ( )
overrideprivatevirtual

Is any GL context the current context ?

Reimplemented from OpenGLContext.

virtual bool Qt5OpenGLContext::isCurrent ( )
overrideprivatevirtual

Is this GL context the current context ?

Reimplemented from OpenGLContext.

virtual void Qt5OpenGLContext::makeCurrent ( )
overrideprivatevirtual

make this GL context current - so it is implicit in subsequent GL calls

Reimplemented from OpenGLContext.

virtual void Qt5OpenGLContext::resetCurrent ( )
overrideprivatevirtual

reset the GL context so this context is not implicit in subsequent GL calls.

Reimplemented from OpenGLContext.

virtual void Qt5OpenGLContext::swapBuffers ( )
overrideprivatevirtual

Reimplemented from OpenGLContext.

Member Data Documentation

bool Qt5OpenGLContext::g_bAnyCurrent
staticprivate

Definition at line 44 of file Qt5OpenGLContext.hxx.

GLWindow Qt5OpenGLContext::m_aGLWin
private

Definition at line 46 of file Qt5OpenGLContext.hxx.

Referenced by getModifiableOpenGLWindow(), and getOpenGLWindow().

QOpenGLContext* Qt5OpenGLContext::m_pContext
private

Definition at line 49 of file Qt5OpenGLContext.hxx.

QWindow* Qt5OpenGLContext::m_pWindow
private

Definition at line 48 of file Qt5OpenGLContext.hxx.


The documentation for this class was generated from the following file: