Blender V4.3
GHOST_ContextEGL Class Reference

#include <GHOST_ContextEGL.hh>

Inherits GHOST_Context.

Public Member Functions

 GHOST_ContextEGL (const GHOST_System *const system, bool stereoVisual, EGLNativeWindowType nativeWindow, EGLNativeDisplayType nativeDisplay, EGLint contextProfileMask, EGLint contextMajorVersion, EGLint contextMinorVersion, EGLint contextFlags, EGLint contextResetNotificationStrategy, EGLenum api)
 ~GHOST_ContextEGL () override
GHOST_TSuccess swapBuffers () 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 &intervalOut) override
EGLDisplay getDisplay () const
EGLConfig getConfig () const
EGLContext getContext () const
Public Member Functions inherited from GHOST_Context
 GHOST_Context (bool stereoVisual)
virtual ~GHOST_Context ()
virtual GHOST_TSuccess updateDrawingContext ()
void * getUserData ()
void setUserData (void *user_data)
bool isStereoVisual () const
virtual bool isUpsideDown () const
virtual unsigned int getDefaultFramebuffer () override
Public Member Functions inherited from GHOST_IContext
virtual ~GHOST_IContext ()

Friends

class GHOST_XrGraphicsBindingOpenGL

Additional Inherited Members

Protected Attributes inherited from GHOST_Context
bool m_stereoVisual
void * m_user_data = nullptr

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,
bool stereoVisual,
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 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 EGL_CHK, GHOST_kFailure, and GHOST_kSuccess.

◆ getConfig()

EGLConfig GHOST_ContextEGL::getConfig ( ) const

◆ getContext()

EGLContext GHOST_ContextEGL::getContext ( ) const

◆ getDisplay()

EGLDisplay GHOST_ContextEGL::getDisplay ( ) const

◆ getSwapInterval()

GHOST_TSuccess GHOST_ContextEGL::getSwapInterval ( int & intervalOut)
overridevirtual

Gets the current swap interval for swapBuffers.

Parameters
intervalOutVariable 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 331 of file GHOST_ContextEGL.cc.

References api_string(), EGL_CHK, egl_print_error(), error(), GHOST_kFailure, GHOST_kSuccess, and GHOST_Context::m_stereoVisual.

◆ 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 301 of file GHOST_ContextEGL.cc.

References 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 640 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.

◆ swapBuffers()

GHOST_TSuccess GHOST_ContextEGL::swapBuffers ( )
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: