VTK  9.5.20250823
vtkEGLConfig.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3
4#ifndef vtkEGLConfig_h
5#define vtkEGLConfig_h
6
7#include "vtkglad/include/glad/egl.h"
8
9#include "vtkABINamespace.h"
10
11#include <vector>
12
13VTK_ABI_NAMESPACE_BEGIN
14
23{
24public:
25 vtkEGLConfig() = default;
26 virtual ~vtkEGLConfig() = default;
27
32 virtual void SetOnscreenRendering([[maybe_unused]] bool onscreenRendering);
33
37 [[nodiscard]] virtual EGLenum GetPlatform() = 0;
38
44 [[nodiscard]] virtual void* GetDisplay() = 0;
45
49 virtual void CreateWindowSurface(
50 EGLSurface& surface, EGLDisplay display, EGLConfig config, int width, int height) = 0;
51
55 virtual void CreateContext(EGLContext& context, EGLDisplay display, EGLConfig config) = 0;
56
57protected:
58 bool OnscreenRendering = false;
59};
60VTK_ABI_NAMESPACE_END
61#endif
Base class for EGL configuration.
virtual void SetOnscreenRendering(bool onscreenRendering)
Set the onscreen rendering flag.
virtual void CreateContext(EGLContext &context, EGLDisplay display, EGLConfig config)=0
Create an EGL context.
bool OnscreenRendering
virtual ~vtkEGLConfig()=default
virtual void * GetDisplay()=0
Get the display object.
virtual EGLenum GetPlatform()=0
Get the platform type.
virtual void CreateWindowSurface(EGLSurface &surface, EGLDisplay display, EGLConfig config, int width, int height)=0
Create an EGL window surface.
vtkEGLConfig()=default