|
Blender V4.5
|
#include <GHOST_Context.hh>
Inherits GHOST_IContext.
Inherited by GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
Public Member Functions | |
| GHOST_Context (bool stereoVisual) | |
| ~GHOST_Context () override | |
| GHOST_TSuccess | swapBuffers () override=0 |
| GHOST_TSuccess | activateDrawingContext () override=0 |
| GHOST_TSuccess | releaseDrawingContext () override=0 |
| virtual GHOST_TSuccess | initializeDrawingContext ()=0 |
| virtual GHOST_TSuccess | updateDrawingContext () |
| virtual GHOST_TSuccess | releaseNativeHandles ()=0 |
| virtual GHOST_TSuccess | setSwapInterval (int) |
| virtual GHOST_TSuccess | getSwapInterval (int &) |
| void * | getUserData () |
| void | setUserData (void *user_data) |
| bool | isStereoVisual () const |
| virtual bool | isUpsideDown () const |
| unsigned int | getDefaultFramebuffer () override |
| Public Member Functions inherited from GHOST_IContext | |
| virtual | ~GHOST_IContext ()=default |
Static Public Member Functions | |
| static GHOST_Context * | getActiveDrawingContext () |
| Static Public Member Functions inherited from GHOST_IContext | |
| static GHOST_IContext * | getActiveDrawingContext () |
Protected Attributes | |
| bool | m_stereoVisual |
| void * | m_user_data = nullptr |
Static Protected Attributes | |
| static GHOST_Context * | active_context_ |
Definition at line 17 of file GHOST_Context.hh.
|
inline |
Constructor.
| stereoVisual | Stereo visual for quad buffered stereo. |
Definition at line 26 of file GHOST_Context.hh.
References m_stereoVisual.
Referenced by getActiveDrawingContext(), GHOST_ContextCGL::GHOST_ContextCGL(), GHOST_ContextD3D::GHOST_ContextD3D(), GHOST_ContextEGL::GHOST_ContextEGL(), GHOST_ContextGLX::GHOST_ContextGLX(), GHOST_ContextNone::GHOST_ContextNone(), GHOST_ContextSDL::GHOST_ContextSDL(), GHOST_ContextVK::GHOST_ContextVK(), and GHOST_ContextWGL::GHOST_ContextWGL().
|
inlineoverride |
|
overridepure virtual |
Activates the drawing context of this window.
Implements GHOST_IContext.
Implemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
|
inlinestatic |
Returns the thread's currently active drawing context.
Definition at line 41 of file GHOST_Context.hh.
References active_context_, and GHOST_Context().
Referenced by GHOST_IContext::getActiveDrawingContext().
|
inlineoverridevirtual |
Gets the OpenGL frame-buffer associated with the OpenGL context
Implements GHOST_IContext.
Reimplemented in GHOST_ContextCGL, and GHOST_ContextD3D.
Definition at line 144 of file GHOST_Context.hh.
|
inlinevirtual |
Gets the current swap interval for swapBuffers.
| intervalOut | Variable to store the swap interval if it can be read. |
Reimplemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
Definition at line 101 of file GHOST_Context.hh.
References GHOST_kFailure.
|
inline |
|
pure virtual |
Call immediately after new to initialize. If this fails then immediately delete the object.
Implemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
|
inline |
Stereo visual created. Only necessary for 'real' stereo support, ie quad buffered stereo. This is not always possible, depends on the graphics h/w
Definition at line 127 of file GHOST_Context.hh.
References m_stereoVisual.
|
inlinevirtual |
Returns if the context is rendered upside down compared to OpenGL.
Reimplemented in GHOST_ContextD3D, and GHOST_ContextVK.
Definition at line 135 of file GHOST_Context.hh.
Referenced by GHOST_XrGraphicsBindingOpenGL::needsUpsideDownDrawing(), and GHOST_XrGraphicsBindingVulkan::needsUpsideDownDrawing().
|
overridepure virtual |
Release the drawing context of the calling thread.
Implements GHOST_IContext.
Implemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
|
pure virtual |
Checks if it is OK for a remove the native display
Implemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
|
inlinevirtual |
Sets the swap interval for swapBuffers.
| interval | The swap interval to use. |
Reimplemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
Definition at line 91 of file GHOST_Context.hh.
References GHOST_kFailure.
|
inline |
Set user data (intended for the caller to use as needed).
Definition at line 117 of file GHOST_Context.hh.
References m_user_data.
|
overridepure virtual |
Swaps front and back buffers of a window.
Implements GHOST_IContext.
Implemented in GHOST_ContextCGL, GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
|
inlinevirtual |
Updates the drawing context of this window. Needed whenever the window is changed.
Reimplemented in GHOST_ContextCGL, GHOST_ContextD3D, and GHOST_ContextNone.
Definition at line 75 of file GHOST_Context.hh.
References GHOST_kFailure.
|
inlinethread_localstaticprotected |
Definition at line 19 of file GHOST_Context.hh.
Referenced by GHOST_ContextCGL::activateDrawingContext(), GHOST_ContextD3D::activateDrawingContext(), GHOST_ContextEGL::activateDrawingContext(), GHOST_ContextGLX::activateDrawingContext(), GHOST_ContextNone::activateDrawingContext(), GHOST_ContextSDL::activateDrawingContext(), GHOST_ContextVK::activateDrawingContext(), GHOST_ContextWGL::activateDrawingContext(), getActiveDrawingContext(), GHOST_ContextCGL::initializeDrawingContext(), GHOST_ContextD3D::initializeDrawingContext(), GHOST_ContextEGL::initializeDrawingContext(), GHOST_ContextGLX::initializeDrawingContext(), GHOST_ContextNone::initializeDrawingContext(), GHOST_ContextSDL::initializeDrawingContext(), GHOST_ContextVK::initializeDrawingContext(), GHOST_ContextWGL::initializeDrawingContext(), GHOST_ContextCGL::releaseDrawingContext(), GHOST_ContextD3D::releaseDrawingContext(), GHOST_ContextEGL::releaseDrawingContext(), GHOST_ContextGLX::releaseDrawingContext(), GHOST_ContextNone::releaseDrawingContext(), GHOST_ContextSDL::releaseDrawingContext(), GHOST_ContextVK::releaseDrawingContext(), GHOST_ContextWGL::releaseDrawingContext(), and ~GHOST_Context().
|
protected |
Definition at line 203 of file GHOST_Context.hh.
Referenced by GHOST_Context(), GHOST_ContextEGL::initializeDrawingContext(), GHOST_ContextGLX::initializeDrawingContext(), GHOST_ContextSDL::initializeDrawingContext(), GHOST_ContextWGL::initializeDrawingContext(), and isStereoVisual().
|
protected |
Caller specified, not for internal use.
Definition at line 206 of file GHOST_Context.hh.
Referenced by getUserData(), and setUserData().