4 #ifndef vtkEGLWaylandConfig_h
5 #define vtkEGLWaylandConfig_h
9 #include <wayland-client.h>
10 #include <wayland-egl.h>
12 #include "vtkABINamespace.h"
14 VTK_ABI_NAMESPACE_BEGIN
39 [[nodiscard]]
void*
GetDisplay()
override {
return this->Display; }
40 [[nodiscard]] EGLenum
GetPlatform()
override {
return EGL_PLATFORM_WAYLAND_EXT; }
41 void CreateContext(EGLContext& context, EGLDisplay display, EGLConfig config)
override;
52 EGLSurface& surface, EGLDisplay display, EGLConfig config,
int width,
int height)
override;
55 struct wl_display* Display =
nullptr;
56 struct wl_surface* Surface =
nullptr;
57 wl_egl_window* Window =
nullptr;
59 struct xdg_surface* XdgSurface =
nullptr;
60 struct xdg_toplevel* XdgToplevel =
nullptr;
void * GetDisplay() override
Implementation of vtkEGLConfig.
EGLenum GetPlatform() override
Implementation of vtkEGLConfig.
vtkEGLWaylandConfig()
Setup wayland attributes.
void CreateContext(EGLContext &context, EGLDisplay display, EGLConfig config) override
Implementation of vtkEGLConfig.
Base class for EGL configuration.
void CreateWindowSurface(EGLSurface &surface, EGLDisplay display, EGLConfig config, int width, int height) override
Create the EGL window surface.