Blender V5.0
GHOST_ContextEGL Class Reference

#include <GHOST_ContextEGL.hh>

Inherits GHOST_Context.

Public Member Functions

 GHOST_ContextEGL (const GHOST_System *const system, const GHOST_ContextParams &context_params, EGLNativeWindowType nativeWindow, EGLNativeDisplayType nativeDisplay, EGLint contextProfileMask, EGLint contextMajorVersion, EGLint contextMinorVersion, EGLint contextFlags, EGLint contextResetNotificationStrategy, EGLenum api)
 ~GHOST_ContextEGL () override
GHOST_TSuccess swapBufferAcquire () override
GHOST_TSuccess swapBufferRelease () override
GHOST_TSuccess activateDrawingContext () override
GHOST_TSuccess releaseDrawingContext () override
GHOST_TSuccess initializeDrawingContext () override
GHOST_TSuccess releaseNativeHandles () override
GHOST_TSuccess setSwapInterval (int interval) override
GHOST_TSuccess getSwapInterval (int &interval_out) override
EGLDisplay getDisplay () const
EGLConfig getConfig () const
EGLContext getContext () const
Public Member Functions inherited from GHOST_Context
 GHOST_Context (const GHOST_ContextParams &context_params)
 ~GHOST_Context () override
virtual GHOST_TSuccess updateDrawingContext ()
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

Friends

class GHOST_XrGraphicsBindingOpenGL

Additional Inherited Members

Static Public Member Functions inherited from GHOST_Context
static GHOST_ContextgetActiveDrawingContext ()
Static Public Member Functions inherited from GHOST_IContext
static GHOST_IContextgetActiveDrawingContext ()
Protected Attributes inherited from GHOST_Context
GHOST_ContextParams context_params_
void * user_data_ = nullptr
Static Protected Attributes inherited from GHOST_Context
static GHOST_Contextactive_context_

Detailed Description

Definition at line 29 of file GHOST_ContextEGL.hh.

Constructor & Destructor Documentation

◆ GHOST_ContextEGL()

GHOST_ContextEGL::GHOST_ContextEGL ( const GHOST_System *const system,
const GHOST_ContextParams & context_params,
EGLNativeWindowType nativeWindow,
EGLNativeDisplayType nativeDisplay,
EGLint contextProfileMask,
EGLint contextMajorVersion,
EGLint contextMinorVersion,
EGLint contextFlags,
EGLint contextResetNotificationStrategy,
EGLenum api )

Constructor.

Definition at line 189 of file GHOST_ContextEGL.cc.

References choose_api(), false, and GHOST_Context::GHOST_Context().

◆ ~GHOST_ContextEGL()

GHOST_ContextEGL::~GHOST_ContextEGL ( )
override

Destructor.

Definition at line 221 of file GHOST_ContextEGL.cc.

References assert, and EGL_CHK.

Member Function Documentation

◆ activateDrawingContext()

GHOST_TSuccess GHOST_ContextEGL::activateDrawingContext ( )
overridevirtual

Activates the drawing context of this window.

Returns
A boolean success indicator.

Implements GHOST_Context.

Definition at line 291 of file GHOST_ContextEGL.cc.

References GHOST_Context::active_context_, EGL_CHK, GHOST_kFailure, and GHOST_kSuccess.

◆ getConfig()

EGLConfig GHOST_ContextEGL::getConfig ( ) const

Definition at line 281 of file GHOST_ContextEGL.cc.

◆ getContext()

EGLContext GHOST_ContextEGL::getContext ( ) const

Definition at line 286 of file GHOST_ContextEGL.cc.

◆ getDisplay()

EGLDisplay GHOST_ContextEGL::getDisplay ( ) const

Definition at line 276 of file GHOST_ContextEGL.cc.

◆ getSwapInterval()

GHOST_TSuccess GHOST_ContextEGL::getSwapInterval ( int & interval_out)
overridevirtual

Gets the current swap interval for #swapBuffers.

Parameters
interval_outVariable to store the swap interval if it can be read.
Returns
Whether the swap interval can be read.

Reimplemented from GHOST_Context.

Definition at line 267 of file GHOST_ContextEGL.cc.

References GHOST_kSuccess.

◆ initializeDrawingContext()

GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext ( )
overridevirtual

Call immediately after new to initialize. If this fails then immediately delete the object.

Returns
Indication as to whether initialization has succeeded.

Implements GHOST_Context.

Definition at line 333 of file GHOST_ContextEGL.cc.

References GHOST_Context::active_context_, api_string(), assert, GHOST_Context::context_params_, EGL_CHK, egl_print_error(), error(), GHOST_Context::getVSync(), GHOST_kFailure, GHOST_kSuccess, GHOST_kVSyncModeUnset, and setSwapInterval().

◆ releaseDrawingContext()

GHOST_TSuccess GHOST_ContextEGL::releaseDrawingContext ( )
overridevirtual

Release the drawing context of the calling thread.

Returns
A boolean success indicator.

Implements GHOST_Context.

Definition at line 302 of file GHOST_ContextEGL.cc.

References GHOST_Context::active_context_, EGL_CHK, GHOST_kFailure, and GHOST_kSuccess.

◆ releaseNativeHandles()

GHOST_TSuccess GHOST_ContextEGL::releaseNativeHandles ( )
overridevirtual

Removes references to native handles from this context and then returns

Returns
GHOST_kSuccess if it is OK for the parent to release the handles and GHOST_kFailure if releasing the handles will interfere with sharing

Implements GHOST_Context.

Definition at line 649 of file GHOST_ContextEGL.cc.

References GHOST_kSuccess.

◆ setSwapInterval()

GHOST_TSuccess GHOST_ContextEGL::setSwapInterval ( int interval)
overridevirtual

Sets the swap interval for #swapBuffers.

Parameters
intervalThe swap interval to use.
Returns
A boolean success indicator.

Reimplemented from GHOST_Context.

Definition at line 254 of file GHOST_ContextEGL.cc.

References EGL_CHK, GHOST_kFailure, and GHOST_kSuccess.

Referenced by initializeDrawingContext().

◆ swapBufferAcquire()

GHOST_TSuccess GHOST_ContextEGL::swapBufferAcquire ( )
inlineoverridevirtual

Implements GHOST_Context.

Definition at line 54 of file GHOST_ContextEGL.hh.

References GHOST_kSuccess.

◆ swapBufferRelease()

GHOST_TSuccess GHOST_ContextEGL::swapBufferRelease ( )
overridevirtual

Swaps front and back buffers of a window.

Returns
A boolean success indicator.

Implements GHOST_Context.

Definition at line 249 of file GHOST_ContextEGL.cc.

References EGL_CHK, GHOST_kFailure, and GHOST_kSuccess.

◆ GHOST_XrGraphicsBindingOpenGL

friend class GHOST_XrGraphicsBindingOpenGL
friend

Definition at line 31 of file GHOST_ContextEGL.hh.

References GHOST_XrGraphicsBindingOpenGL.

Referenced by GHOST_XrGraphicsBindingOpenGL.


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