EGL implementation of GlGraphicsContext for X11. More...
#include <kanzi/platform/platform/gl/graphics_context/egl_x11/egl_x11_graphics_context.hpp>
Protected Member Functions | |
| KZ_NO_DISCARD::EGLNativeDisplayType | fetchNativeDisplay (PlatformContext &platformContext) override |
| EglGraphicsContext::fetchNativeDisplay() implementation. | |
Protected Member Functions inherited from kanzi::platform::EglGraphicsContext | |
| KZ_NO_DISCARD PresentMode | clampToSupportedPresentMode (PresentMode mode) noexcept |
| Clamps provided PresentMode to a supported subset. | |
| virtual KZ_NO_DISCARD unique_ptr< AbstractWindowSurface > | createDummySurface (EGLPBufferSurface &&pbuffer) noexcept |
| Creates the dummy surface wrapper used for surfaceless context fallback. | |
| virtual KZ_NO_DISCARD ContextNodePtr | createEGLContext (const EGLConfig &config, ::EGLContext parentContext) noexcept |
| Creates a new suitable context for provided config. | |
| virtual KZ_NO_DISCARD unique_ptr< AbstractWindowSurface > | createWindowSurface (NativeSurfaceHandle windowHandle, const EGLConfig &config, SurfaceColorSpace colorSpace) noexcept |
| Factory function to create window surface. | |
| virtual bool | destroySurfaceInternal (SurfaceNodePtr surfaceNode) noexcept |
| Destroys EGL surface. | |
| KZ_NO_DISCARD ContextNodePtr | ensureEGLContext (const EGLConfig &config, ::EGLContext parentContext) noexcept |
| Finds suitable context for provided config or creates a new one. | |
| KZ_NO_DISCARD ContextNodePtr | findLastUsedContext (thread::id threadId) noexcept |
| Finds last context that was used on a specified thread. | |
| KZ_NO_DISCARD const EGLDisplay & | getDisplay () const noexcept |
| Gets EGL display. | |
| KZ_NO_DISCARD const GLFunctionPointers & | getGlFunctionPointers () const noexcept |
| Gets GL function pointers struct. | |
| virtual KZ_NO_DISCARD flat_set< string_view > | getUndiscoverableEglExtensions () noexcept |
| Gets extensions that platform does not report support for, but are nevertheless supported. | |
| virtual KZ_NO_DISCARD GLFunctionPointers | loadGlFunctions () noexcept |
| Loads required GL function pointers. | |
| virtual bool | makeCurrentInternal (ContextNodePtr contextNode, SurfaceNodePtr surfaceNode) noexcept |
| Makes provided context and surface current on this thread. | |
| KZ_NO_DISCARD flat_set< string_view > | queryEglExtensions () const noexcept |
| Queries supported EGL extensions. | |
| KZ_NO_DISCARD flat_set< string_view > | queryGlExtensions () const noexcept |
| Queries supported GL extensions. | |
| virtual KZ_NO_DISCARD EGLConfig | selectEGLConfig (const SurfaceProperties &properties) noexcept |
| Selects EGL config based on provided surface properties. | |
| KZ_NO_DISCARD SurfaceColorSpace | selectSuitableColorSpace (const SurfaceProperties &properties) noexcept |
| Selects suitable colorspace for specified surface properties. | |
| void | setSwapInterval (SurfaceNodePtr surfaceNode, ContextNodePtr contextNode, ContextNodePtr lastUsedContextNode, PresentMode presentMode) noexcept |
| Sets swap interval for a specified surface, while preserving current EGL context and surface. | |
| virtual bool | setSwapIntervalForCurrentSurface (PresentMode mode) noexcept |
| Sets swap interval for current surface based on present mode. | |
| KZ_NO_DISCARD vector< EGLint > | surfaceColorSpaceToAttributes (SurfaceColorSpace colorSpace) noexcept |
| Constructs EGL attributes for a specified SurfaceColorSpace. | |
Additional Inherited Members | |
Protected Types inherited from kanzi::platform::EglGraphicsContext | |
| using | ContextContainer |
| using | ContextNodePtr |
| using | SurfaceContainer |
| using | SurfaceNodePtr |
| using | ThreadContainer |
| using | ThreadNodePtr |
EGL implementation of GlGraphicsContext for X11.
Provides an X11-specific override of getNativeDisplay().
|
explicit |
Constructor.
| platformContext | Platform context to use. |
| info | Initialization info struct. |
|
overrideprotectedvirtual |
EglGraphicsContext::fetchNativeDisplay() implementation.
Reimplemented from kanzi::platform::EglGraphicsContext.