13 #ifndef EGLPLUS_CONFIGS_1303292057_HPP
14 #define EGLPLUS_CONFIGS_1303292057_HPP
31 ::EGLConfig GetEGLHandle(
const Config&);
40 friend ::EGLConfig GetEGLHandle(
const Config&);
55 EGLPLUS_EGLFUNC(GetConfigAttrib)(
56 GetEGLHandle(_display),
58 EGLint(EGLenum(attrib)),
61 EGLPLUS_VERIFY_SIMPLE(GetConfigAttrib);
301 return Bitfield<eglplus::RenderableTypeBit>(
315 EGLenum b = EGLenum(type);
327 return Bitfield<eglplus::SurfaceTypeBit>(
341 EGLenum b = EGLenum(type);
353 return Bitfield<eglplus::RenderableTypeBit>(
367 EGLenum b = EGLenum(type);
372 inline ::EGLConfig GetEGLHandle(
const Config& config)
374 return config._handle;
377 struct ConfigValueTypeToConfigAttrib
380 ValueType(std::integral_constant<int, 0>);
387 ValueType(std::integral_constant<int, 1>);
394 ValueType(std::integral_constant<int, 2>);
401 ValueType(std::integral_constant<int, 3>);
408 ValueType(std::integral_constant<int, 4>);
414 static std::integral_constant<int, 4> MaxValueType(
void);
418 typedef AttributeList<
420 ConfigValueTypeToConfigAttrib,
425 typedef FinishedAttributeList<
435 std::vector<EGLConfig> _configs;
437 struct _config_range_conv
441 _config_range_conv(
const Display& display)
445 Config operator()(EGLConfig handle)
const
447 return Config(_display, handle);
468 typedef aux::ConvIterRange<
469 std::vector<EGLConfig>::const_iterator,
475 ConfigRange
All(
void)
const
478 _config_range_conv(_display),
487 return _configs.empty();
497 return Config(_display, _configs.front());
503 #if !EGLPLUS_LINK_LIBRARY || defined(EGLPLUS_IMPLEMENTING_LIBRARY)
504 #include <eglplus/configs.ipp>
507 #endif // include guard
EGL bitfield-related helpers.
RenderableTypeBit
EGL renderable type bits enumeration.
Definition: renderable_type_bit.hpp:25
AttributeList< ConfigAttrib, ConfigValueTypeToConfigAttrib, AttributeListTraits > ConfigAttribs
Attribute list for configuration attributes.
Definition: configs.hpp:422
EGL color buffer type enumeration.
Bitfield< eglplus::SurfaceTypeBit > SurfaceTypes(void) const
Returns the surface type bits.
Definition: configs.hpp:325
A provides access to all configurations of a Display.
Definition: configs.hpp:431
ConfigAttrib
EGL configuration attribute enumeration.
Definition: config_attrib.hpp:24
EGL surface type enumeration.
bool HasSurfaceType(eglplus::SurfaceTypeBit type) const
Returns true if a specified surface type is supported.
Definition: configs.hpp:338
EGLint GetAttrib(ConfigAttrib attrib) const
Get the value of a specified attribute.
Definition: configs.hpp:52
eglplus::ConfigCaveat ConfigCaveat(void) const
Returns the caveat for this config.
Definition: configs.hpp:248
EGLint MaxSwapInterval(void) const
Returns the maximum swap interval.
Definition: configs.hpp:226
Template for EGL surface and configuration attribute list.
EGLint MinSwapInterval(void) const
Returns the minimum swap interval.
Definition: configs.hpp:215
ConfigCaveat
EGL config caveat enumeration.
Definition: config_caveat.hpp:24
eglplus::TransparentType TransparentType(void) const
Returns the transparency type.
Definition: configs.hpp:286
EGLint BlueSize(void) const
Returns the number of bits of the blue color component.
Definition: configs.hpp:127
ConfigRange All(void) const
Returns a range of all supported configurations.
Definition: configs.hpp:475
Bitfield< eglplus::RenderableTypeBit > RenderableTypes(void) const
Returns the renderable type bits.
Definition: configs.hpp:299
ColorBufferType
EGL color_buffer_type enumeration.
Definition: color_buffer_type.hpp:24
EGLint MaxPbufferPixels(void) const
Returns the maximum size (number of pixels) of Pbuffers.
Definition: configs.hpp:204
EGLint MaxPbufferHeight(void) const
Returns the maximum height of Pbuffers in pixels.
Definition: configs.hpp:193
EGL config attribute type enumeration.
Bitfield< eglplus::RenderableTypeBit > Conformant(void) const
Returns the conformant bits for this config.
Definition: configs.hpp:351
Wrapper around EGLDisplay.
Definition: display.hpp:27
Declares and implements wrapper for EGLDisplay.
EGLint MaxPbufferWidth(void) const
Returns the maximum width of Pbuffers in pixels.
Definition: configs.hpp:182
bool IsConformantTo(eglplus::RenderableTypeBit type) const
Returns true if the config is conformant to a renderable type.
Definition: configs.hpp:364
EGLint StencilSize(void) const
Returns the number of bits of the stencil buffer.
Definition: configs.hpp:171
EGLint RedSize(void) const
Returns the number of bits of the red color component.
Definition: configs.hpp:105
SurfaceTypeBit
EGL surface type bits enumeration.
Definition: surface_type_bit.hpp:25
EGLint GreenSize(void) const
Returns the number of bits of the green color component.
Definition: configs.hpp:116
eglplus::ConfigCaveat Caveat(void) const
Returns the caveat for this config.
Definition: configs.hpp:262
eglplus::ColorBufferType ColorBufferType(void) const
Returns the color buffer type.
Definition: configs.hpp:273
FinishedAttributeList< ConfigAttrib, AttributeListTraits > FinishedConfigAttribs
Finished list of configuration attribute values.
Definition: configs.hpp:428
EGL renderable type enumeration.
TransparentType
EGL transparent type enumeration.
Definition: transparent_type.hpp:24
EGLint LuminanceSize(void) const
Returns the number of bits of the luminance component.
Definition: configs.hpp:138
EGLint NativeRenderable(void) const
Returns true if native rendering API can render to surface.
Definition: configs.hpp:237
Configs(const Display &display, const FinishedConfigAttribs &attribs)
Gets configurations matching the specified attribute values.
Definition: configs.hpp:462
bool Empty(void) const
Returns true if there are no matching configs.
Definition: configs.hpp:485
EGLint DepthSize(void) const
Returns the number of bits of the depth buffer.
Definition: configs.hpp:160
EGL transparent type enumeration.
EGLint BufferSize(void) const
Return the total component bits of the color buffer.
Definition: configs.hpp:94
EGLint ConfigId(void) const
Get the unique configuration identifier.
Definition: configs.hpp:71
EGLint Id(void) const
Get the unique configuration identifier.
Definition: configs.hpp:83
EGLint AlphaSize(void) const
Returns the number of bits of the alpha component.
Definition: configs.hpp:149
A wrapper for EGL configuration.
Definition: configs.hpp:34
bool HasRenderableType(eglplus::RenderableTypeBit type) const
Returns true if a specified renderable type is supported.
Definition: configs.hpp:312
EGL config caveat type enumeration.
Configs(const Display &display)
Gets the configurations for the specified display.
Definition: configs.hpp:455
Config First(void) const
Returns the first config in this set of configurations.
Definition: configs.hpp:494