+EGLSurfaceFlags = Flags(Int, [
+ 'EGL_MULTISAMPLE_RESOLVE_BOX_BIT',
+ 'EGL_PBUFFER_BIT',
+ 'EGL_PIXMAP_BIT',
+ 'EGL_SWAP_BEHAVIOR_PRESERVED_BIT',
+ 'EGL_VG_ALPHA_FORMAT_PRE_BIT',
+ 'EGL_VG_COLORSPACE_LINEAR_BIT',
+ 'EGL_WINDOW_BIT'
+])
+
+EGLConformantFlags = Flags(Int, ['EGL_OPENGL_BIT','EGL_OPENGL_ES_BIT', 'EGL_OPENGL_ES2_BIT', 'EGL_OPENVG_BIT',])
+
+EGLConfigAttribs = AttribArray(EGLenum, [
+ ('EGL_ALPHA_MASK_SIZE', UInt),
+ ('EGL_ALPHA_SIZE', UInt),
+ ('EGL_BIND_TO_TEXTURE_RGB', EGLBoolean),
+ ('EGL_BIND_TO_TEXTURE_RGBA', EGLBoolean),
+ ('EGL_BLUE_SIZE', UInt),
+ ('EGL_BUFFER_SIZE', UInt),
+ ('EGL_COLOR_BUFFER_TYPE', FakeEnum(Int, ['EGL_RGB_BUFFER', 'EGL_LUMINANCE_BUFFER'])),
+ ('EGL_CONFIG_CAVEAT', FakeEnum(Int, ['EGL_DONT_CARE', 'EGL_NONE', 'EGL_SLOW_CONFIG', 'EGL_NON_CONFORMANT_CONFIG'])),
+ ('EGL_CONFIG_ID', Int),
+ ('EGL_CONFORMANT', EGLConformantFlags),
+ ('EGL_DEPTH_SIZE', Int),
+ ('EGL_GREEN_SIZE', UInt),
+ ('EGL_LEVEL', Int),
+ ('EGL_LUMINANCE_SIZE', UInt),
+ ('EGL_MATCH_NATIVE_PIXMAP', Int),
+ ('EGL_NATIVE_RENDERABLE', FakeEnum(Int, ['EGL_DONT_CARE', 'EGL_TRUE', 'EGL_FALSE'])),
+ ('EGL_MAX_SWAP_INTERVAL', Int),
+ ('EGL_MIN_SWAP_INTERVAL', Int),
+ ('EGL_RED_SIZE', UInt),
+ ('EGL_SAMPLE_BUFFERS', Int),
+ ('EGL_SAMPLES', Int),
+ ('EGL_STENCIL_SIZE', UInt),
+ ('EGL_RENDERABLE_TYPE', EGLConformantFlags),
+ ('EGL_SURFACE_TYPE', EGLSurfaceFlags),
+ ('EGL_TRANSPARENT_TYPE', FakeEnum(Int, ['EGL_NONE', 'EGL_TRANSPARENT_RGB'])),
+ ('EGL_TRANSPARENT_RED_VALUE', Int),
+ ('EGL_TRANSPARENT_GREEN_VALUE', Int),
+ ('EGL_TRANSPARENT_BLUE_VALUE ', Int)
+])
+
+EGLVGAlphaFormat = FakeEnum(Int, ['EGL_VG_ALPHA_FORMAT_NONPRE', 'EGL_VG_ALPHA_FORMAT_PRE'])
+EGLVGColorspace = FakeEnum(Int, ['EGL_VG_COLORSPACE_sRGB', 'EGL_VG_COLORSPACE_LINEAR'])
+EGLTextureFormat = FakeEnum(Int, ['EGL_NO_TEXTURE', 'EGL_TEXTURE_RGB', 'EGL_TEXTURE_RGBA'])
+EGLTextureTarget = FakeEnum(Int, ['EGL_TEXTURE_2D', 'EGL_NO_TEXTURE' ])
+
+EGLWindowsSurfaceAttribs = AttribArray(EGLenum, [
+ ('EGL_RENDER_BUFFER', FakeEnum(Int, ['EGL_SINGLE_BUFFER', 'EGL_BACK_BUFFER'])),
+ ('EGL_VG_ALPHA_FORMAT', EGLVGAlphaFormat),
+ ('EGL_VG_COLORSPACE', EGLVGColorspace)
+])
+
+EGLPixmapSurfaceAttribs = AttribArray(EGLenum, [
+ ('EGL_VG_ALPHA_FORMAT', EGLVGAlphaFormat),
+ ('EGL_VG_COLORSPACE', EGLVGColorspace)
+])
+
+EGLPbufferAttribs = AttribArray(EGLenum, [
+ ('EGL_HEIGHT', Int),
+ ('EGL_LARGEST_PBUFFER', EGLBoolean),
+ ('EGL_MIPMAP_TEXTURE', UInt),
+ ('EGL_TEXTURE_FORMAT', EGLTextureFormat),
+ ('EGL_TEXTURE_TARGET', EGLTextureTarget),
+ ('EGL_VG_ALPHA_FORMAT', EGLVGAlphaFormat),
+ ('EGL_VG_COLORSPACE', EGLVGColorspace),
+ ('EGL_WIDTH', Int)
+])
+
+EGLPbufferFromClientBufferAttribs = AttribArray(EGLenum, [
+ ('EGL_MIPMAP_TEXTURE', EGLBoolean),
+ ('EGL_TEXTURE_FORMAT', EGLTextureFormat),
+ ('EGL_TEXTURE_TARGET', EGLTextureTarget)
+])
+
+EGLDrmImageMesaAttribs = AttribArray(EGLenum, [
+ ('EGL_DRM_BUFFER_FORMAT_MESA', FakeEnum(Int, ['EGL_DRM_BUFFER_FORMAT_ARGB32_MESA'])),
+ ('EGL_DRM_BUFFER_USE_MESA', Flags(Int, ['EGL_DRM_BUFFER_USE_SCANOUT_MESA', 'EGL_DRM_BUFFER_USE_SHARE_MESA']))
+])
+