|
Blender V5.0
|
#include <GHOST_Context.hh>
Inherits GHOST_IContext.
Inherited by GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
Public Member Functions | |
| GHOST_Context (const GHOST_ContextParams &context_params) | |
| ~GHOST_Context () override | |
| GHOST_TSuccess | swapBufferAcquire () override=0 |
| GHOST_TSuccess | swapBufferRelease () 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 GHOST_TVSyncModes | getVSync () |
| 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 | |
| GHOST_ContextParams | context_params_ |
| void * | user_data_ = nullptr |
Static Protected Attributes | |
| static GHOST_Context * | active_context_ |
Definition at line 17 of file GHOST_Context.hh.
|
inline |
Constructor.
| context_params | Parameters to use when initializing the context. |
Definition at line 26 of file GHOST_Context.hh.
References context_params_.
Referenced by getActiveDrawingContext(), GHOST_ContextD3D::GHOST_ContextD3D(), GHOST_ContextEGL::GHOST_ContextEGL(), GHOST_ContextGLX::GHOST_ContextGLX(), GHOST_ContextMTL::GHOST_ContextMTL(), GHOST_ContextNone::GHOST_ContextNone(), GHOST_ContextSDL::GHOST_ContextSDL(), GHOST_ContextVK::GHOST_ContextVK(), and GHOST_ContextWGL::GHOST_ContextWGL().
|
inlineoverride |
|
overridepure virtual |
Activates the drawing context.
Implements GHOST_IContext.
Implemented in GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, 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_ContextD3D, and GHOST_ContextMTL.
Definition at line 141 of file GHOST_Context.hh.
|
inlinevirtual |
Gets the current swap interval for #swapBuffers.
| interval_out | Variable to store the swap interval if it can be read. |
Reimplemented in GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
Definition at line 95 of file GHOST_Context.hh.
References GHOST_kFailure.
|
inline |
|
inlinevirtual |
Get the VSync value.
Definition at line 127 of file GHOST_Context.hh.
References context_params_.
Referenced by GHOST_ContextMTL::GHOST_ContextMTL(), GHOST_ContextEGL::initializeDrawingContext(), GHOST_ContextGLX::initializeDrawingContext(), GHOST_ContextSDL::initializeDrawingContext(), and GHOST_ContextWGL::initializeDrawingContext().
|
pure virtual |
Call immediately after new to initialize. If this fails then immediately delete the object.
Implemented in GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, 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 121 of file GHOST_Context.hh.
References context_params_.
|
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_XrGraphicsBindingVulkan::needsUpsideDownDrawing().
|
overridepure virtual |
Release the drawing context of the calling thread.
Implements GHOST_IContext.
Implemented in GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, 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_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, 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_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
Definition at line 85 of file GHOST_Context.hh.
References GHOST_kFailure.
|
inline |
Set user data (intended for the caller to use as needed).
Definition at line 111 of file GHOST_Context.hh.
References user_data_.
|
overridepure virtual |
Implements GHOST_IContext.
Implemented in GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, GHOST_ContextNone, GHOST_ContextSDL, GHOST_ContextVK, and GHOST_ContextWGL.
|
overridepure virtual |
Implements GHOST_IContext.
Implemented in GHOST_ContextD3D, GHOST_ContextEGL, GHOST_ContextGLX, GHOST_ContextMTL, 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_ContextD3D, GHOST_ContextMTL, and GHOST_ContextNone.
Definition at line 69 of file GHOST_Context.hh.
References GHOST_kFailure.
|
inlinethread_localstaticprotected |
Definition at line 19 of file GHOST_Context.hh.
Referenced by GHOST_ContextD3D::activateDrawingContext(), GHOST_ContextEGL::activateDrawingContext(), GHOST_ContextGLX::activateDrawingContext(), GHOST_ContextMTL::activateDrawingContext(), GHOST_ContextNone::activateDrawingContext(), GHOST_ContextSDL::activateDrawingContext(), GHOST_ContextVK::activateDrawingContext(), GHOST_ContextWGL::activateDrawingContext(), getActiveDrawingContext(), GHOST_ContextD3D::initializeDrawingContext(), GHOST_ContextEGL::initializeDrawingContext(), GHOST_ContextGLX::initializeDrawingContext(), GHOST_ContextMTL::initializeDrawingContext(), GHOST_ContextNone::initializeDrawingContext(), GHOST_ContextSDL::initializeDrawingContext(), GHOST_ContextVK::initializeDrawingContext(), GHOST_ContextWGL::initializeDrawingContext(), GHOST_ContextD3D::releaseDrawingContext(), GHOST_ContextEGL::releaseDrawingContext(), GHOST_ContextGLX::releaseDrawingContext(), GHOST_ContextMTL::releaseDrawingContext(), GHOST_ContextNone::releaseDrawingContext(), GHOST_ContextSDL::releaseDrawingContext(), GHOST_ContextVK::releaseDrawingContext(), GHOST_ContextWGL::releaseDrawingContext(), and ~GHOST_Context().
|
protected |
Definition at line 172 of file GHOST_Context.hh.
Referenced by getVSync(), GHOST_Context(), GHOST_ContextMTL::GHOST_ContextMTL(), GHOST_ContextEGL::initializeDrawingContext(), GHOST_ContextGLX::initializeDrawingContext(), GHOST_ContextSDL::initializeDrawingContext(), GHOST_ContextVK::initializeDrawingContext(), GHOST_ContextWGL::initializeDrawingContext(), and isStereoVisual().
|
protected |
Caller specified, not for internal use.
Definition at line 175 of file GHOST_Context.hh.
Referenced by getUserData(), and setUserData().