GLGraphicsOutput class. More...
#include <kanzi/core.ui/platform/graphics_backend/gl/gl_graphics_output.hpp>
Public Types | |
using | GLProcPointer) = void(*)( |
Pointer to GL function. More... | |
Public Member Functions | |
virtual KZ_NO_DISCARD optional< void * > | createImage (int target, void *data, int *attributes) noexcept=0 |
Function for creating native image object, which can be shared between client APIs. More... | |
virtual bool | destroyImage (void *image) noexcept=0 |
Function for destroying native image object. More... | |
virtual KZ_NO_DISCARD optional< SurfaceColorSpace > | getColorSpace () const noexcept=0 |
Gets the color space used by the associated graphics context. More... | |
virtual KZ_NO_DISCARD optional< GraphicsContextAPI > | getGraphicsContextAPI () const noexcept=0 |
Gets the API used by the associated graphics context. More... | |
virtual KZ_NO_DISCARD optional< void * > | getNativeContextHandle () const noexcept=0 |
Gets associated native GL context handle. More... | |
virtual KZ_NO_DISCARD optional< void * > | getNativeDisplayHandle () const noexcept=0 |
Gets associated native GL display handle. More... | |
virtual KZ_NO_DISCARD optional< void * > | getNativeSurfaceHandle () const noexcept=0 |
Gets associated native GL surface handle. More... | |
virtual KZ_NO_DISCARD GLProcPointer | getProcAddress (string_view functionName)=0 |
Retrieves pointer to GL function. More... | |
virtual KZ_NO_DISCARD optional< SurfaceClientAPI > | getSurfaceClientAPI () const noexcept=0 |
Gets the type of the associated graphics surface. More... | |
virtual KZ_NO_DISCARD Matrix4x4 | getTargetTransformation () const noexcept=0 |
Returns the target transformation. More... | |
virtual bool | makeCurrent ()=0 |
Makes the graphics output active for the current thread. More... | |
virtual bool | releaseCurrent ()=0 |
Makes the currently active graphics output inactive for the current thread. More... | |
virtual bool | swapBuffers ()=0 |
Posts rendering results. More... | |
virtual bool | swapInterval (int interval)=0 |
Sets the minimum number of frames per buffer swap. More... | |
virtual | ~GLGraphicsOutput ()=default |
Destructor. More... | |
GLGraphicsOutput class.
Interface defining basic functionality used by the GL renderer.
using kanzi::GLGraphicsOutput::GLProcPointer = void (*)( |
Pointer to GL function.
|
virtualdefault |
Destructor.
|
pure virtual |
Retrieves pointer to GL function.
functionName | Name of the function. |
Implemented in kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtual |
Makes the graphics output active for the current thread.
Implemented in kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtual |
Makes the currently active graphics output inactive for the current thread.
Implemented in kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtual |
Posts rendering results.
Implicitly flushes the rendering pipeline and executes all received rendering commands before posting.
Implemented in kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtual |
Sets the minimum number of frames per buffer swap.
interval | The minimum number of video frame periods per buffer swap. Negative interval values are reserved for platform-specific special cases. |
Implemented in kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Returns the target transformation.
Use the target transformation to transform content coordinates to target coordinates.
Implemented in kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Gets associated native GL display handle.
Implemented in kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Gets associated native GL context handle.
Implemented in kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Gets associated native GL surface handle.
Implemented in kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Function for creating native image object, which can be shared between client APIs.
The returned image must be destroyed using destroyImage().
target | Context-specific target specifier. |
data | Data to use as image contents. |
attributes | Context-specific attributes list. |
Implemented in kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Function for destroying native image object.
image | Image to destroy. |
Implemented in kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, and kanzi::LegacyGraphicsOutput.
|
pure virtualnoexcept |
Gets the API used by the associated graphics context.
Implemented in kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::LegacyGraphicsOutput, and kanzi::emscripten::DefaultEmscriptenGraphicsOutput.
|
pure virtualnoexcept |
Gets the type of the associated graphics surface.
Implemented in kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::LegacyGraphicsOutput, and kanzi::emscripten::DefaultEmscriptenGraphicsOutput.
|
pure virtualnoexcept |
Gets the color space used by the associated graphics context.
Implemented in kanzi::win32::DefaultWin32WGLGraphicsOutput, kanzi::wayland::DefaultWaylandEGLGraphicsOutput, kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutput, kanzi::qnx::DefaultQnxEGLGraphicsOutput, kanzi::x11::DefaultX11EGLGraphicsOutput, kanzi::qnx::QnxEGLPBufferGraphicsOutput, kanzi::android_ws::DefaultAndroidWSEGLGraphicsOutput, kanzi::emscripten::DefaultEmscriptenGraphicsOutput, and kanzi::LegacyGraphicsOutput.