Flutter Engine
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef FLUTTER_IMPELLER_TOOLKIT_EGL_CONFIG_H_
6
#define FLUTTER_IMPELLER_TOOLKIT_EGL_CONFIG_H_
7
8
#include "
impeller/toolkit/egl/egl.h
"
9
10
namespace
impeller
{
11
namespace
egl {
12
13
enum class
API
{
14
kOpenGL
,
15
kOpenGLES2
,
16
kOpenGLES3
,
17
};
18
19
enum class
Samples
{
20
kOne
= 1,
21
kTwo
= 2,
22
kFour
= 4,
23
};
24
25
enum class
ColorFormat
{
26
kRGBA8888
,
27
kRGB565
,
28
};
29
30
enum class
StencilBits
{
31
kZero
= 0,
32
kEight
= 8,
33
};
34
35
enum class
DepthBits
{
36
kZero
= 0,
37
kEight
= 8,
38
kTwentyFour
= 24,
39
};
40
41
enum class
SurfaceType
{
42
kWindow
,
43
kPBuffer
,
44
};
45
46
struct
ConfigDescriptor
{
47
API
api
=
API::kOpenGLES2
;
48
Samples
samples
=
Samples::kOne
;
49
ColorFormat
color_format
=
ColorFormat::kRGB565
;
50
StencilBits
stencil_bits
=
StencilBits::kZero
;
51
DepthBits
depth_bits
=
DepthBits::kZero
;
52
SurfaceType
surface_type
=
SurfaceType::kPBuffer
;
53
};
54
55
class
Display
;
56
57
//------------------------------------------------------------------------------
58
/// @brief An EGL config. These are returned by the display to indicate
59
/// support for a specific config descriptor.
60
///
61
/// There is no ability to construct these manually except for
62
/// testing.
63
///
64
class
Config
{
65
public
:
66
~Config
();
67
68
bool
IsValid
()
const
;
69
70
const
ConfigDescriptor
&
GetDescriptor
()
const
;
71
72
const
EGLConfig&
GetHandle
()
const
;
73
74
// Do not use. Only for testing.
75
Config
(
ConfigDescriptor
descriptor, EGLConfig config);
76
77
private
:
78
const
ConfigDescriptor
desc_;
79
EGLConfig config_ =
nullptr
;
80
81
Config
(
const
Config
&) =
delete
;
82
83
Config
& operator=(
const
Config
&) =
delete
;
84
};
85
86
}
// namespace egl
87
}
// namespace impeller
88
89
#endif
// FLUTTER_IMPELLER_TOOLKIT_EGL_CONFIG_H_
impeller::egl::Config
An EGL config. These are returned by the display to indicate support for a specific config descriptor...
Definition
config.h:64
impeller::egl::Config::IsValid
bool IsValid() const
Definition
config.cc:25
impeller::egl::Config::~Config
~Config()
impeller::egl::Config::GetHandle
const EGLConfig & GetHandle() const
Definition
config.cc:21
impeller::egl::Config::GetDescriptor
const ConfigDescriptor & GetDescriptor() const
Definition
config.cc:17
impeller::egl::Display
A connection to an EGL display. Only one connection per application instance is sufficient.
Definition
display.h:28
egl.h
impeller::egl::ColorFormat
ColorFormat
Definition
config.h:25
impeller::egl::ColorFormat::kRGB565
@ kRGB565
impeller::egl::ColorFormat::kRGBA8888
@ kRGBA8888
impeller::egl::Samples
Samples
Definition
config.h:19
impeller::egl::Samples::kOne
@ kOne
impeller::egl::Samples::kTwo
@ kTwo
impeller::egl::Samples::kFour
@ kFour
impeller::egl::SurfaceType
SurfaceType
Definition
config.h:41
impeller::egl::SurfaceType::kWindow
@ kWindow
impeller::egl::SurfaceType::kPBuffer
@ kPBuffer
impeller::egl::StencilBits
StencilBits
Definition
config.h:30
impeller::egl::StencilBits::kZero
@ kZero
impeller::egl::StencilBits::kEight
@ kEight
impeller::egl::DepthBits
DepthBits
Definition
config.h:35
impeller::egl::DepthBits::kTwentyFour
@ kTwentyFour
impeller::egl::DepthBits::kZero
@ kZero
impeller::egl::API
API
Definition
config.h:13
impeller::egl::API::kOpenGL
@ kOpenGL
impeller::egl::API::kOpenGLES2
@ kOpenGLES2
impeller::egl::API::kOpenGLES3
@ kOpenGLES3
impeller
Definition
texture.h:16
impeller::egl::ConfigDescriptor
Definition
config.h:46
impeller::egl::ConfigDescriptor::samples
Samples samples
Definition
config.h:48
impeller::egl::ConfigDescriptor::api
API api
Definition
config.h:47
impeller::egl::ConfigDescriptor::color_format
ColorFormat color_format
Definition
config.h:49
impeller::egl::ConfigDescriptor::stencil_bits
StencilBits stencil_bits
Definition
config.h:50
impeller::egl::ConfigDescriptor::depth_bits
DepthBits depth_bits
Definition
config.h:51
impeller::egl::ConfigDescriptor::surface_type
SurfaceType surface_type
Definition
config.h:52
impeller
toolkit
egl
config.h
Generated on Thu Nov 6 2025 16:11:24 for Flutter Engine by
1.9.8