4#ifndef vtkEGLWaylandConfig_h
5#define vtkEGLWaylandConfig_h
9#include <wayland-client.h>
10#include <wayland-egl.h>
12#include "vtkABINamespace.h"
14VTK_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;
Base class for EGL configuration.
vtkEGLWaylandConfig()
Setup wayland attributes.
void CreateWindowSurface(EGLSurface &surface, EGLDisplay display, EGLConfig config, int width, int height) override
Create the EGL window surface.
void CreateContext(EGLContext &context, EGLDisplay display, EGLConfig config) override
Implementation of vtkEGLConfig.
EGLenum GetPlatform() override
Implementation of vtkEGLConfig.
void * GetDisplay() override
Implementation of vtkEGLConfig.