VTK  9.7.1
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 
13 VTK_ABI_NAMESPACE_BEGIN
14 
23 {
24 public:
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 
57 protected:
58  bool OnscreenRendering = false;
59 };
60 VTK_ABI_NAMESPACE_END
61 #endif
virtual void CreateContext(EGLContext &context, EGLDisplay display, EGLConfig config)=0
Create an EGL context.
virtual ~vtkEGLConfig()=default
vtkEGLConfig()=default
virtual void SetOnscreenRendering([[maybe_unused]] bool onscreenRendering)
Set the onscreen rendering flag.
virtual void * GetDisplay()=0
Get the display object.
virtual EGLenum GetPlatform()=0
Get the platform type.
Base class for EGL configuration.
Definition: vtkEGLConfig.h:22
virtual void CreateWindowSurface(EGLSurface &surface, EGLDisplay display, EGLConfig config, int width, int height)=0
Create an EGL window surface.
bool OnscreenRendering
Definition: vtkEGLConfig.h:58