sl@0: sl@0: #ifndef __eglext_h_ sl@0: #define __eglext_h_ sl@0: sl@0: #ifdef __cplusplus sl@0: extern "C" { sl@0: #endif sl@0: sl@0: /* sl@0: ** Copyright (c) 2007-2010 The Khronos Group Inc. sl@0: ** sl@0: ** Permission is hereby granted, free of charge, to any person obtaining a sl@0: ** copy of this software and/or associated documentation files (the sl@0: ** "Materials"), to deal in the Materials without restriction, including sl@0: ** without limitation the rights to use, copy, modify, merge, publish, sl@0: ** distribute, sublicense, and/or sell copies of the Materials, and to sl@0: ** permit persons to whom the Materials are furnished to do so, subject to sl@0: ** the following conditions: sl@0: ** sl@0: ** The above copyright notice and this permission notice shall be included sl@0: ** in all copies or substantial portions of the Materials. sl@0: ** sl@0: ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, sl@0: ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF sl@0: ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. sl@0: ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY sl@0: ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, sl@0: ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE sl@0: ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. sl@0: */ sl@0: sl@0: /** sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: /* differences from the actual sample implementation provided by Khronos: sl@0: - this comment sl@0: - the Doxygen comment with tag 'publishedAll', and tag 'released' sl@0: - changing platform-dependant header name from to sl@0: - EGLImageKHR definition is consistent with other EGL objects, i.e. is defined as integer sl@0: instead of pointer to void. sl@0: - macro EGL_IMAGE_PRESERVED_SYMBIAN introduced in this header represents EGL_IMAGE_PRESERVED_KHR sl@0: macro defined in Khronos spec. Note that it has been retained temporarily for compatibility reasons sl@0: and it is advised to use Khronos macro instead. sl@0: - resource profiler and reusable sync object extensions are added sl@0: */ sl@0: sl@0: #include sl@0: #include sl@0: sl@0: /*************************************************************/ sl@0: sl@0: #define EGL_EGLEXT_VERSION 3 sl@0: sl@0: #ifndef EGL_KHR_config_attribs sl@0: #define EGL_KHR_config_attribs 1 sl@0: #define EGL_CONFORMANT_KHR 0x3042 /* EGLConfig attribute */ sl@0: #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 /* EGL_SURFACE_TYPE bitfield */ sl@0: #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 /* EGL_SURFACE_TYPE bitfield */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_lock_surface sl@0: #define EGL_KHR_lock_surface 1 sl@0: #define EGL_READ_SURFACE_BIT_KHR 0x0001 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ sl@0: #define EGL_WRITE_SURFACE_BIT_KHR 0x0002 /* EGL_LOCK_USAGE_HINT_KHR bitfield */ sl@0: #define EGL_LOCK_SURFACE_BIT_KHR 0x0080 /* EGL_SURFACE_TYPE bitfield */ sl@0: #define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 /* EGL_SURFACE_TYPE bitfield */ sl@0: #define EGL_MATCH_FORMAT_KHR 0x3043 /* EGLConfig attribute */ sl@0: #define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 /* EGL_MATCH_FORMAT_KHR value */ sl@0: #define EGL_FORMAT_RGB_565_KHR 0x30C1 /* EGL_MATCH_FORMAT_KHR value */ sl@0: #define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 /* EGL_MATCH_FORMAT_KHR value */ sl@0: #define EGL_FORMAT_RGBA_8888_KHR 0x30C3 /* EGL_MATCH_FORMAT_KHR value */ sl@0: #define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 /* eglLockSurfaceKHR attribute */ sl@0: #define EGL_LOCK_USAGE_HINT_KHR 0x30C5 /* eglLockSurfaceKHR attribute */ sl@0: #define EGL_BITMAP_POINTER_KHR 0x30C6 /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_PITCH_KHR 0x30C7 /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_ORIGIN_KHR 0x30C8 /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC /* eglQuerySurface attribute */ sl@0: #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD /* eglQuerySurface attribute */ sl@0: #define EGL_LOWER_LEFT_KHR 0x30CE /* EGL_BITMAP_ORIGIN_KHR value */ sl@0: #define EGL_UPPER_LEFT_KHR 0x30CF /* EGL_BITMAP_ORIGIN_KHR value */ sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); sl@0: #endif /* EGL_EGLEXT_PROTOTYPES */ sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_image sl@0: #define EGL_KHR_image 1 sl@0: #define EGL_NATIVE_PIXMAP_KHR 0x30B0 /* eglCreateImageKHR target */ sl@0: typedef int EGLImageKHR; sl@0: #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); sl@0: #endif /* EGL_EGLEXT_PROTOTYPES */ sl@0: typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_vg_parent_image sl@0: #define EGL_KHR_vg_parent_image 1 sl@0: #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_gl_texture_2D_image sl@0: #define EGL_KHR_gl_texture_2D_image 1 sl@0: #define EGL_GL_TEXTURE_2D_KHR 0x30B1 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC /* eglCreateImageKHR attribute */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_gl_texture_cubemap_image sl@0: #define EGL_KHR_gl_texture_cubemap_image 1 sl@0: #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 /* eglCreateImageKHR target */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_gl_texture_3D_image sl@0: #define EGL_KHR_gl_texture_3D_image 1 sl@0: #define EGL_GL_TEXTURE_3D_KHR 0x30B2 /* eglCreateImageKHR target */ sl@0: #define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD /* eglCreateImageKHR attribute */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_gl_renderbuffer_image sl@0: #define EGL_KHR_gl_renderbuffer_image 1 sl@0: #define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_image_base sl@0: #define EGL_KHR_image_base 1 sl@0: /* Most interfaces defined by EGL_KHR_image_pixmap above */ sl@0: #define EGL_IMAGE_PRESERVED_KHR 0x30D2 /* eglCreateImageKHR attribute */ sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_image_pixmap sl@0: #define EGL_KHR_image_pixmap 1 sl@0: /* Interfaces defined by EGL_KHR_image above */ sl@0: #endif sl@0: sl@0: #ifndef EGL_SYMBIAN_image_preserved sl@0: #define EGL_SYMBIAN_image_preserved 1 sl@0: /* The following macro was retained for compatibility reasons and will be removed soon. sl@0: For the new written code it is advised to use EGL_IMAGE_PRESERVED_KHR macro sl@0: defined in Khronos spec. */ sl@0: #define EGL_IMAGE_PRESERVED_SYMBIAN 0x30D2 /* eglCreateImageKHR attribute */ sl@0: #endif sl@0: sl@0: #ifndef EGL_NOK_resource_profiling2 sl@0: #define EGL_NOK_resource_profiling2 1 sl@0: /* Accepted by the parameter of eglQueryProfilingDataNOK */ sl@0: #define EGL_PROF_QUERY_GLOBAL_BIT_NOK 0x0001 sl@0: #define EGL_PROF_QUERY_MEMORY_USAGE_BIT_NOK 0x0002 sl@0: /* Returned as attribute identifiers by eglQueryProfilingDataNOK */ sl@0: #define EGL_PROF_TOTAL_MEMORY_NOK 0x3070 sl@0: #define EGL_PROF_USED_MEMORY_NOK 0x3071 sl@0: #define EGL_PROF_PROCESS_ID_NOK 0x3072 sl@0: #define EGL_PROF_PROCESS_USED_PRIVATE_MEMORY_NOK 0x3073 sl@0: #define EGL_PROF_PROCESS_USED_SHARED_MEMORY_NOK 0x3074 sl@0: /* Accepted as the parameter of eglCreateSyncKHR */ sl@0: #define EGL_SYNC_RESOURCE_PROFILING_NOK 0x3078 sl@0: /* Accepted as the value of the EGL_SYNC_CONDITION_KHR attribute passed in */ sl@0: /* for eglCreateSyncKHR, and returned in when */ sl@0: /* eglGetSyncAttribKHR is called with EGL_SYNC_CONDITION_KHR */ sl@0: #define EGL_PROF_TOTAL_MEMORY_USAGE_GT_NOK 0x3075 sl@0: #define EGL_PROF_TOTAL_MEMORY_USAGE_LT_NOK 0x3076 sl@0: /* Accepted as an attribute name in the parameter of */ sl@0: /* eglCreateSyncKHR and in for eglGetSyncAttribKHR */ sl@0: #define EGL_PROF_MEMORY_USAGE_THRESHOLD_NOK 0x3077 sl@0: typedef TUint64 EGLNativeProcessIdTypeNOK; sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglQueryProfilingDataNOK(EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count); sl@0: #endif /* EGL_EGLEXT_PROTOTYPES */ sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYPROFILINGDATANOKPROC) (EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count); sl@0: #endif sl@0: sl@0: #ifndef EGL_KHR_reusable_sync sl@0: #define EGL_KHR_reusable_sync 1 sl@0: /* Accepted by the parameter of eglCreateSyncKHR, and returned sl@0: in when eglGetSyncAttribKHR is called with sl@0: EGL_SYNC_TYPE_KHR */ sl@0: #define EGL_SYNC_REUSABLE_KHR 0x30FA sl@0: /* Accepted by the parameter of eglGetSyncAttribKHR */ sl@0: #define EGL_SYNC_TYPE_KHR 0x30F7 sl@0: #define EGL_SYNC_STATUS_KHR 0x30F1 sl@0: /* Accepted by the parameter of eglSignalSyncKHR and returned in sl@0: when eglGetSyncAttribKHR is called with sl@0: EGL_SYNC_STATUS_KHR */ sl@0: #define EGL_SIGNALED_KHR 0x30F2 sl@0: #define EGL_UNSIGNALED_KHR 0x30F3 sl@0: /* Accepted in the parameter of eglClientWaitSyncKHR */ sl@0: #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 sl@0: /* Accepted in the parameter of eglClientWaitSyncKHR */ sl@0: #define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull sl@0: /* Returned by eglClientWaitSyncKHR */ sl@0: #define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 sl@0: #define EGL_CONDITION_SATISFIED_KHR 0x30F6 sl@0: /* EGLSyncKHR is an opaque handle to an EGL sync object */ sl@0: typedef void* EGLSyncKHR; sl@0: /* EGLTimeKHR is a 64-bit unsigned integer representing intervals in nanoseconds. */ sl@0: typedef khronos_utime_nanoseconds_t EGLTimeKHR; sl@0: /* Returned by eglCreateSyncKHR in the event of an error */ sl@0: #define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync); sl@0: EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); sl@0: #endif /* EGL_EGLEXT_PROTOTYPES */ sl@0: typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); sl@0: typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); sl@0: #endif sl@0: sl@0: #ifndef EGL_NOK_swap_region sl@0: #define EGL_NOK_swap_region 1 sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); sl@0: #endif /* EGL_EGLEXT_PROTOTYPES */ sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); sl@0: #endif sl@0: sl@0: #ifndef EGL_NOK_ENDPOINT sl@0: #define EGL_NOK_ENDPOINT 1 sl@0: /* Endpoint datatype */ sl@0: typedef void* EGLEndpointNOK; sl@0: typedef void* EGLTRequestStatusNOK; sl@0: typedef void* EGLEndpointSourceNOK; sl@0: /* Endpoint constant */ sl@0: #define EGL_ENDPOINT_TYPE_CONSUMER_NOK 0x30D5 sl@0: #define EGL_TSURFACEID_NOK 0x30D3 sl@0: /* Endpoint invalid parameter */ sl@0: #define EGL_NO_ENDPOINT_NOK ((EGLEndpointNOK)0) sl@0: /* Endpoint error code */ sl@0: #define EGL_BAD_ENDPOINT_NOK 0x30D4 sl@0: /* Endpoint attribute keys */ sl@0: #define EGL_ENDPOINT_READY_NOK 0x30D6 sl@0: #define EGL_DELAY_NOK 0x30D7 sl@0: sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLEndpointNOK EGLAPIENTRY eglCreateEndpointNOK(EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint *attrib_list); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglDestroyEndpointNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: EGLAPI EGLint EGLAPIENTRY eglGetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglSetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointBeginStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointEndStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: EGLAPI EGLImageKHR EGLAPIENTRY eglAcquireImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglReleaseImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api); sl@0: EGLAPI EGLint EGLAPIENTRY eglGetEndpointDirtyAreaNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects, EGLBoolean collapse); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointRequestNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglEndpointCancelNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: #endif sl@0: sl@0: typedef EGLEndpointNOK (EGLAPIENTRYP PFNEGLCREATEENDPOINTNOKPROC) (EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint* attrib_list); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYENDPOINTNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: typedef EGLint (EGLAPIENTRYP PFNEGLGETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTBEGINSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTENDSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: typedef EGLImageKHR (EGLAPIENTRYP PFNEGLACQUIREIMAGENOKPROC)(EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASEIMAGENOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api); sl@0: typedef EGLint (EGLAPIENTRYP PFNEGLGETENDPOINTDIRTYAREANOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects, EGLBoolean collapse); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTREQUESTNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTCANCELNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint); sl@0: #endif sl@0: sl@0: #ifndef EGL_SYMBIAN_COMPOSITION sl@0: #define EGL_SYMBIAN_COMPOSITION 1 sl@0: /* Extension defines a behavioural change which does not introduce functions or tokens. */ sl@0: /* The presence of this extension means that semi-transparent UI content can be displayed above EGL window surfaces. */ sl@0: #endif /* EGL_SYMBIAN_COMPOSITION */ sl@0: sl@0: #ifndef EGL_NOK_SURFACE_SCALING sl@0: #define EGL_NOK_SURFACE_SCALING 1 sl@0: #define EGL_SURFACE_SCALING_NOK 0x30DD /* Surface Scaling attribute for EGLConfig */ sl@0: #define EGL_TARGET_EXTENT_OFFSET_X_NOK 0x3079 /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_TARGET_EXTENT_OFFSET_Y_NOK 0x307A /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_TARGET_EXTENT_WIDTH_NOK 0x307B /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_TARGET_EXTENT_HEIGHT_NOK 0x307C /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_BORDER_COLOR_RED_NOK 0x307D /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_BORDER_COLOR_GREEN_NOK 0x307E /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_BORDER_COLOR_BLUE_NOK 0x30D8 /* attribute for eglCreateWindowSurface and eglQuerySurface */ sl@0: #define EGL_FIXED_WIDTH_NOK 0x30DB /* attribute for eglCreateWindowSurface */ sl@0: #define EGL_FIXED_HEIGHT_NOK 0x30DC /* attribute for eglCreateWindowSurface */ sl@0: sl@0: /* Tokens returned by eglQuerySurfaceScalingCapabilityNOK */ sl@0: #define EGL_NOT_SUPPORTED_NOK 0 sl@0: #define EGL_SUPPORTED_NOK 1 sl@0: #define EGL_SLOW_NOK 3 sl@0: sl@0: #ifdef EGL_EGLEXT_PROTOTYPES sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfaceScalingCapabilityNOK(EGLDisplay dpy, EGLConfig config, EGLint surface_width, EGLint surface_height, EGLint target_width, EGLint target_height, EGLint *value); sl@0: EGLAPI EGLBoolean EGLAPIENTRY eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, EGLint target_offset_x, EGLint target_offset_y, EGLint target_width, EGLint target_height); sl@0: #endif sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACESCALINGCAPABILITYNOKPROC)(EGLDisplay dpy, EGLConfig config, EGLint surface_width, EGLint surface_height, EGLint target_width, EGLint target_height, EGLint *value); sl@0: typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSURFACESCALINGNOKPROC)(EGLDisplay dpy, EGLSurface surface, EGLint target_offset_x, EGLint target_offset_y, EGLint target_width, EGLint target_height); sl@0: #endif /* EGL_NOK_SURFACE_SCALING */ sl@0: sl@0: #ifdef __cplusplus sl@0: } sl@0: #endif sl@0: sl@0: #endif