Go to the documentation of this file. 1 #ifndef EGLPLUS_EGL_API_CONSTANTS_HPP
9 #define EGLPLUS_EGL_API_CONSTANTS_HPP
20 template <
typename ApiTraits>
36 template <enum_type value>
37 using enum_type_c = std::integral_constant<enum_type, value>;
41 template <
int_type value>
42 using int_type_c = std::integral_constant<int_type, value>;
49 int_type_c<EGL_SUCCESS>>
59 #ifdef EGL_NOT_INITIALIZED
60 int_type_c<EGL_NOT_INITIALIZED>>
71 int_type_c<EGL_BAD_ACCESS>>
82 int_type_c<EGL_BAD_ALLOC>>
92 #ifdef EGL_BAD_ATTRIBUTE
93 int_type_c<EGL_BAD_ATTRIBUTE>>
103 #ifdef EGL_BAD_CONTEXT
104 int_type_c<EGL_BAD_CONTEXT>>
114 #ifdef EGL_BAD_CONFIG
115 int_type_c<EGL_BAD_CONFIG>>
125 #ifdef EGL_BAD_CURRENT_SURFACE
126 int_type_c<EGL_BAD_CURRENT_SURFACE>>
136 #ifdef EGL_BAD_DISPLAY
137 int_type_c<EGL_BAD_DISPLAY>>
147 #ifdef EGL_BAD_SURFACE
148 int_type_c<EGL_BAD_SURFACE>>
159 int_type_c<EGL_BAD_MATCH>>
169 #ifdef EGL_BAD_PARAMETER
170 int_type_c<EGL_BAD_PARAMETER>>
180 #ifdef EGL_BAD_NATIVE_PIXMAP
181 int_type_c<EGL_BAD_NATIVE_PIXMAP>>
191 #ifdef EGL_BAD_NATIVE_WINDOW
192 int_type_c<EGL_BAD_NATIVE_WINDOW>>
202 #ifdef EGL_CONTEXT_LOST
203 int_type_c<EGL_CONTEXT_LOST>>
214 enum_type_c<EGL_TRUE>>
225 enum_type_c<EGL_FALSE>>
235 #ifdef EGL_PLATFORM_DEVICE_EXT
236 int_type_c<EGL_PLATFORM_DEVICE_EXT>
272 #ifdef EGL_CLIENT_APIS
273 int_type_c<EGL_CLIENT_APIS>>
284 int_type_c<EGL_VENDOR>>
295 int_type_c<EGL_VERSION>>
310 #ifdef EGL_EXTENSIONS
311 int_type_c<EGL_EXTENSIONS>>
332 int_type_c<EGL_CONFIG_ID>>
340 #ifdef EGL_CONFORMANT
341 int_type_c<EGL_CONFORMANT>>
349 #ifdef EGL_SURFACE_TYPE
350 int_type_c<EGL_SURFACE_TYPE>>
358 #ifdef EGL_RENDERABLE_TYPE
359 int_type_c<EGL_RENDERABLE_TYPE>>
367 #ifdef EGL_COLOR_BUFFER_TYPE
368 int_type_c<EGL_COLOR_BUFFER_TYPE>>
376 #ifdef EGL_BUFFER_SIZE
377 int_type_c<EGL_BUFFER_SIZE>>
386 int_type_c<EGL_RED_SIZE>>
394 #ifdef EGL_GREEN_SIZE
395 int_type_c<EGL_GREEN_SIZE>>
404 int_type_c<EGL_BLUE_SIZE>>
412 #ifdef EGL_LUMINANCE_SIZE
413 int_type_c<EGL_LUMINANCE_SIZE>>
421 #ifdef EGL_ALPHA_SIZE
422 int_type_c<EGL_ALPHA_SIZE>>
430 #ifdef EGL_ALPHA_MASK_SIZE
431 int_type_c<EGL_ALPHA_MASK_SIZE>>
439 #ifdef EGL_DEPTH_SIZE
440 int_type_c<EGL_DEPTH_SIZE>>
448 #ifdef EGL_STENCIL_SIZE
449 int_type_c<EGL_STENCIL_SIZE>>
457 #ifdef EGL_SAMPLE_BUFFERS
458 int_type_c<EGL_SAMPLE_BUFFERS>>
467 int_type_c<EGL_SAMPLES>>
475 #ifdef EGL_TRANSPARENT_TYPE
476 int_type_c<EGL_TRANSPARENT_TYPE>>
484 #ifdef EGL_TRANSPARENT_RED_VALUE
485 int_type_c<EGL_TRANSPARENT_RED_VALUE>>
489 transparent_red_value;
493 #ifdef EGL_TRANSPARENT_GREEN_VALUE
494 int_type_c<EGL_TRANSPARENT_GREEN_VALUE>>
498 transparent_green_value;
502 #ifdef EGL_TRANSPARENT_BLUE_VALUE
503 int_type_c<EGL_TRANSPARENT_BLUE_VALUE>>
507 transparent_blue_value;
515 int_type_c<EGL_LEVEL>>
523 #ifdef EGL_PBUFFER_WIDTH
524 int_type_c<EGL_PBUFFER_WIDTH>>
532 #ifdef EGL_PBUFFER_HEIGHT
533 int_type_c<EGL_PBUFFER_HEIGHT>>
541 #ifdef EGL_PBUFFER_PIXELS
542 int_type_c<EGL_PBUFFER_PIXELS>>
550 #ifdef EGL_MAX_SWAP_INTERVAL
551 int_type_c<EGL_MAX_SWAP_INTERVAL>>
559 #ifdef EGL_MIN_SWAP_INTERVAL
560 int_type_c<EGL_MIN_SWAP_INTERVAL>>
569 int_type_c<EGL_WIDTH>>
578 int_type_c<EGL_HEIGHT>>
586 #ifdef EGL_LARGEST_PBUFFER
587 int_type_c<EGL_LARGEST_PBUFFER>>
595 #ifdef EGL_GL_COLORSPACE
596 int_type_c<EGL_GL_COLORSPACE>,
605 #ifdef EGL_TEXTURE_TARGET
606 int_type_c<EGL_TEXTURE_TARGET>,
615 #ifdef EGL_MIPMAP_LEVEL
616 int_type_c<EGL_MIPMAP_LEVEL>>
624 #ifdef EGL_MULTISAMPLE_RESOLVE
625 int_type_c<EGL_MULTISAMPLE_RESOLVE>>
633 #ifdef EGL_SWAP_BEHAVIOR
634 int_type_c<EGL_SWAP_BEHAVIOR>>
642 #ifdef EGL_CONTEXT_MAJOR_VERSION
643 int_type_c<EGL_CONTEXT_MAJOR_VERSION>>
647 context_major_version;
651 #ifdef EGL_CONTEXT_MINOR_VERSION
652 int_type_c<EGL_CONTEXT_MINOR_VERSION>>
656 context_minor_version;
660 #ifdef EGL_CONTEXT_OPENGL_PROFILE_MASK
661 int_type_c<EGL_CONTEXT_OPENGL_PROFILE_MASK>>
665 context_opengl_profile_mask;
669 #ifdef EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE
670 int_type_c<EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE>>
674 context_opengl_forward_compatible;
678 #ifdef EGL_CONTEXT_OPENGL_DEBUG
679 int_type_c<EGL_CONTEXT_OPENGL_DEBUG>>
683 context_opengl_debug;
687 #ifdef EGL_CONTEXT_OPENGL_ROBUST_ACCESS
688 int_type_c<EGL_CONTEXT_OPENGL_ROBUST_ACCESS>>
692 context_opengl_robust_access;
696 #ifdef EGL_WINDOW_BIT
697 int_type_c<EGL_WINDOW_BIT>>
705 #ifdef EGL_PIXMAP_BIT
706 int_type_c<EGL_PIXMAP_BIT>>
714 #ifdef EGL_PBUFFER_BIT
715 int_type_c<EGL_PBUFFER_BIT>>
725 #ifdef EGL_MULTISAMPLE_RESOLVE_BOX_BIT
726 int_type_c<EGL_MULTISAMPLE_RESOLVE_BOX_BIT>>
730 multisample_resolve_box_bit;
734 #ifdef EGL_SWAP_BEHAVIOR_PRESERVED_BIT
735 int_type_c<EGL_SWAP_BEHAVIOR_PRESERVED_BIT>>
739 swap_behavior_preserved_bit;
743 #ifdef EGL_VG_COLORSPACE_LINEAR_BIT
744 int_type_c<EGL_VG_COLORSPACE_LINEAR_BIT>>
748 vg_colorspace_linear_bit;
752 #ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT_BIT
753 int_type_c<EGL_VG_ALPHA_FORMAT_PRE_BIT_BIT>>
757 vg_alpha_format_pre_bit_bit;
760 consumer_latency_usec;
763 consumer_acquire_timeout_usec;
775 stream_state_created;
778 stream_state_connecting;
784 stream_state_new_frame_available;
787 stream_state_old_frame_available;
790 stream_state_disconnected;
797 #ifdef EGL_OPENGL_BIT
798 int_type_c<EGL_OPENGL_BIT>>
806 #ifdef EGL_OPENGL_ES_BIT
807 int_type_c<EGL_OPENGL_ES_BIT>>
815 #ifdef EGL_OPENGL_ES2_BIT
816 int_type_c<EGL_OPENGL_ES2_BIT>>
824 #ifdef EGL_OPENGL_ES3_BIT
825 int_type_c<EGL_OPENGL_ES3_BIT>>
833 #ifdef EGL_OPENVG_BIT
834 int_type_c<EGL_OPENVG_BIT>>
842 #ifdef EGL_OPENGL_API
843 int_type_c<EGL_OPENGL_API>>
851 #ifdef EGL_OPENGL_ES_API
852 int_type_c<EGL_OPENGL_ES_API>>
860 #ifdef EGL_OPENVG_API
861 int_type_c<EGL_OPENVG_API>>
869 #ifdef EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT
870 int_type_c<EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT>>
874 context_opengl_core_profile_bit;
878 #ifdef EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT
879 int_type_c<EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT>>
883 context_opengl_compatibility_profile_bit;
887 #ifdef EGL_RGB_BUFFER
888 int_type_c<EGL_RGB_BUFFER>>
896 #ifdef EGL_LUMINANCE_BUFFER
897 int_type_c<EGL_LUMINANCE_BUFFER>>
904 color_component_type_fixed;
907 color_component_type_float;
912 int_type_c<EGL_READ>>
921 int_type_c<EGL_DRAW>>
929 #ifdef EGL_SYNC_FENCE
930 int_type_c<EGL_SYNC_FENCE>>
938 #ifdef EGL_SYNC_CL_EVENT
939 int_type_c<EGL_SYNC_CL_EVENT>>
947 #ifdef EGL_NO_TEXTURE
948 int_type_c<EGL_NO_TEXTURE>>
956 #ifdef EGL_TEXTURE_2D
957 int_type_c<EGL_TEXTURE_2D>>
965 #ifdef EGL_TEXTURE_RGB
966 int_type_c<EGL_TEXTURE_RGB>>
974 #ifdef EGL_TEXTURE_RGBA
975 int_type_c<EGL_TEXTURE_RGBA>>
983 #ifdef EGL_GL_COLORSPACE_LINEAR
984 int_type_c<EGL_GL_COLORSPACE_LINEAR>>
988 gl_colorspace_linear;
992 #ifdef EGL_GL_COLORSPACE_SRGB
993 int_type_c<EGL_GL_COLORSPACE_SRGB>>
1002 int_type_c<EGL_NONE>>
1013 #endif // EGLPLUS_EGL_API_CONSTANTS_HPP
typename get_opt_c_api_constant< ClassList, Constant, Tag, IsIndexed >::type opt_c_api_constant
Template alias used for switching between static and dynamic constants.
Definition: c_api_wrap.hpp:175
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_current_surface
Definition: constants.hpp:130
EGL-related code is placed in this namespace.
Definition: eglplus.hpp:11
Typed enumeration for EGL stream state constants.
Definition: enum_types.hpp:131
opt_c_api_constant< mp_list< device_string_query >, int_type_c< 0x335E > > renderer
Definition: constants.hpp:304
Class wrapping the constants from the EGL API.
Definition: constants.hpp:21
opt_c_api_constant< mp_list< error_code >, int_type_i > success
Definition: constants.hpp:53
Typed enumeration for EGL color component type constants.
Definition: enum_types.hpp:199
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_attribute
Definition: constants.hpp:97
opt_c_api_constant< mp_list< eglp::true_false >, enum_type_i > true_
Definition: constants.hpp:218
EGLConfig config_type
Config handle type.
Definition: config.hpp:89
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_config
Definition: constants.hpp:119
opt_c_api_constant< mp_list< platform >, int_type_c< 0x31DD > > platform_surfaceless
Definition: constants.hpp:262
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_context
Definition: constants.hpp:108
opt_c_api_constant< mp_list< string_query, device_string_query >, int_type_i > extensions
Definition: constants.hpp:315
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_surface
Definition: constants.hpp:152
opt_c_api_constant< mp_list< platform >, int_type_c< 0x31DC > > platform_xcb
Definition: constants.hpp:249
EGLenum enum_type
Enumeration type.
Definition: config.hpp:113
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_alloc
Definition: constants.hpp:86
opt_c_api_constant< mp_list< platform >, int_type_c< 0x3141 > > platform_android
Definition: constants.hpp:266
opt_c_api_constant< mp_list< platform >, int_type_c< 0x31D8 > > platform_wayland
Definition: constants.hpp:253
opt_c_api_constant< mp_list< error_code >, int_type_i > context_lost
Definition: constants.hpp:207
opt_c_api_constant< mp_list< string_query, device_string_query >, int_type_c< 0x3233 > > drm_device_file
Definition: constants.hpp:322
Class wrapping the C-functions from the EGL API.
Definition: c_api.hpp:32
opt_c_api_constant< mp_list< string_query >, int_type_i > vendor
Definition: constants.hpp:288
opt_c_api_constant< mp_list< eglp::true_false >, enum_type_i > false_
Definition: constants.hpp:229
opt_c_api_constant< mp_list< platform >, int_type_i > platform_device
Definition: constants.hpp:241
opt_c_api_constant< mp_list< string_query >, int_type_i > client_apis
Definition: constants.hpp:277
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_access
Definition: constants.hpp:75
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_native_window
Definition: constants.hpp:196
Typed enumeration for EGL OpenGL colorspace constants.
Definition: enum_types.hpp:224
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_native_pixmap
Definition: constants.hpp:185
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_match
Definition: constants.hpp:163
opt_c_api_constant< mp_list< platform >, int_type_c< 0x31D7 > > platform_gbm_mesa
Definition: constants.hpp:257
Compile-time type list template.
Definition: mp_list.hpp:20
Template type used mostly for function type-tag dispatching.
Definition: type_identity.hpp:19
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_display
Definition: constants.hpp:141
Typed enumeration for EGL color buffer type constants.
Definition: enum_types.hpp:192
EGLint int_type
Signed integer type.
Definition: config.hpp:116
opt_c_api_constant< mp_list< platform >, int_type_c< 0x31D5 > > platform_x11
Definition: constants.hpp:245
opt_c_api_constant< mp_list< string_query >, int_type_i > version
Definition: constants.hpp:299
opt_c_api_constant< mp_list< error_code >, int_type_i > bad_parameter
Definition: constants.hpp:174
Typed enumeration for EGL texture target constants.
Definition: enum_types.hpp:218
opt_c_api_constant< mp_list< error_code >, int_type_i > not_initialized
Definition: constants.hpp:64