os/graphics/egl/eglinterface/include/1.4/eglext.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 
     2 #ifndef __eglext_h_
     3 #define __eglext_h_
     4 
     5 #ifdef __cplusplus
     6 extern "C" {
     7 #endif
     8 
     9 /*
    10 ** Copyright (c) 2007-2010 The Khronos Group Inc.
    11 **
    12 ** Permission is hereby granted, free of charge, to any person obtaining a
    13 ** copy of this software and/or associated documentation files (the
    14 ** "Materials"), to deal in the Materials without restriction, including
    15 ** without limitation the rights to use, copy, modify, merge, publish,
    16 ** distribute, sublicense, and/or sell copies of the Materials, and to
    17 ** permit persons to whom the Materials are furnished to do so, subject to
    18 ** the following conditions:
    19 **
    20 ** The above copyright notice and this permission notice shall be included
    21 ** in all copies or substantial portions of the Materials.
    22 **
    23 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    24 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    25 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    26 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    27 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    28 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    29 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    30 */
    31 
    32 /**
    33 @publishedAll
    34 @released
    35 */
    36 
    37 /* differences from the actual sample implementation provided by Khronos:
    38 - this comment
    39 - the Doxygen comment with tag 'publishedAll', and tag 'released'
    40 - changing platform-dependant header name from <EGL/eglplatform.h> to <EGL/egltypes.h>
    41 - EGLImageKHR definition is consistent with other EGL objects, i.e. is defined as integer 
    42   instead of pointer to void.
    43 - macro EGL_IMAGE_PRESERVED_SYMBIAN introduced in this header represents EGL_IMAGE_PRESERVED_KHR
    44   macro defined in Khronos spec. Note that it has been retained temporarily for compatibility reasons 
    45   and it is advised to use Khronos macro instead.
    46 - resource profiler and reusable sync object extensions are added
    47 */
    48 
    49 #include <EGL/egltypes.h>
    50 #include <khronos_types.h>
    51 
    52 /*************************************************************/
    53 
    54 #define EGL_EGLEXT_VERSION 3
    55 
    56 #ifndef EGL_KHR_config_attribs
    57 #define EGL_KHR_config_attribs 1
    58 #define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
    59 #define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
    60 #define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
    61 #endif
    62 
    63 #ifndef EGL_KHR_lock_surface
    64 #define EGL_KHR_lock_surface 1
    65 #define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
    66 #define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
    67 #define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
    68 #define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
    69 #define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
    70 #define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
    71 #define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
    72 #define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
    73 #define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
    74 #define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
    75 #define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
    76 #define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
    77 #define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
    78 #define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
    79 #define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
    80 #define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
    81 #define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
    82 #define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
    83 #define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
    84 #define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
    85 #define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
    86 #ifdef EGL_EGLEXT_PROTOTYPES
    87 EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
    88 EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
    89 #endif /* EGL_EGLEXT_PROTOTYPES */
    90 typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
    91 typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
    92 #endif
    93 
    94 #ifndef EGL_KHR_image
    95 #define EGL_KHR_image 1
    96 #define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
    97 typedef int EGLImageKHR;
    98 #define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
    99 #ifdef EGL_EGLEXT_PROTOTYPES
   100 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
   101 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
   102 #endif /* EGL_EGLEXT_PROTOTYPES */
   103 typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
   104 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
   105 #endif
   106 
   107 #ifndef EGL_KHR_vg_parent_image
   108 #define EGL_KHR_vg_parent_image 1
   109 #define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
   110 #endif
   111 
   112 #ifndef EGL_KHR_gl_texture_2D_image
   113 #define EGL_KHR_gl_texture_2D_image 1
   114 #define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
   115 #define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
   116 #endif
   117 
   118 #ifndef EGL_KHR_gl_texture_cubemap_image
   119 #define EGL_KHR_gl_texture_cubemap_image 1
   120 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
   121 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
   122 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
   123 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
   124 #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
   125 #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
   126 #endif
   127 
   128 #ifndef EGL_KHR_gl_texture_3D_image
   129 #define EGL_KHR_gl_texture_3D_image 1
   130 #define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
   131 #define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
   132 #endif
   133 
   134 #ifndef EGL_KHR_gl_renderbuffer_image
   135 #define EGL_KHR_gl_renderbuffer_image 1
   136 #define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
   137 #endif
   138 
   139 #ifndef EGL_KHR_image_base
   140 #define EGL_KHR_image_base 1
   141 /* Most interfaces defined by EGL_KHR_image_pixmap above */
   142 #define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
   143 #endif
   144 
   145 #ifndef EGL_KHR_image_pixmap
   146 #define EGL_KHR_image_pixmap 1
   147 /* Interfaces defined by EGL_KHR_image above */
   148 #endif
   149 
   150 #ifndef EGL_SYMBIAN_image_preserved
   151 #define EGL_SYMBIAN_image_preserved 1
   152 /* The following macro was retained for compatibility reasons and will be removed soon. 
   153    For the new written code it is advised to use EGL_IMAGE_PRESERVED_KHR macro 
   154    defined in Khronos spec. */
   155 #define EGL_IMAGE_PRESERVED_SYMBIAN		0x30D2	/* eglCreateImageKHR attribute */
   156 #endif
   157 
   158 #ifndef EGL_NOK_resource_profiling2
   159 #define EGL_NOK_resource_profiling2 1
   160 /* Accepted by the <query_bits> parameter of eglQueryProfilingDataNOK */
   161 #define EGL_PROF_QUERY_GLOBAL_BIT_NOK               0x0001
   162 #define EGL_PROF_QUERY_MEMORY_USAGE_BIT_NOK         0x0002
   163 /* Returned as attribute identifiers by eglQueryProfilingDataNOK */
   164 #define EGL_PROF_TOTAL_MEMORY_NOK                   0x3070
   165 #define EGL_PROF_USED_MEMORY_NOK                    0x3071
   166 #define EGL_PROF_PROCESS_ID_NOK                      0x3072
   167 #define EGL_PROF_PROCESS_USED_PRIVATE_MEMORY_NOK     0x3073
   168 #define EGL_PROF_PROCESS_USED_SHARED_MEMORY_NOK      0x3074
   169 /* Accepted as the <type> parameter of eglCreateSyncKHR */
   170 #define EGL_SYNC_RESOURCE_PROFILING_NOK             0x3078
   171 /* Accepted as the value of the EGL_SYNC_CONDITION_KHR attribute passed in */
   172 /* <attrib_list> for eglCreateSyncKHR, and returned in <value> when */
   173 /* eglGetSyncAttribKHR is called with <attribute> EGL_SYNC_CONDITION_KHR */
   174 #define EGL_PROF_TOTAL_MEMORY_USAGE_GT_NOK          0x3075
   175 #define EGL_PROF_TOTAL_MEMORY_USAGE_LT_NOK          0x3076
   176 /* Accepted as an attribute name in the <attrib_list> parameter of */
   177 /* eglCreateSyncKHR and in <attribute> for eglGetSyncAttribKHR */
   178 #define EGL_PROF_MEMORY_USAGE_THRESHOLD_NOK         0x3077
   179 typedef TUint64 EGLNativeProcessIdTypeNOK;
   180 #ifdef EGL_EGLEXT_PROTOTYPES
   181 EGLAPI EGLBoolean EGLAPIENTRY eglQueryProfilingDataNOK(EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count);
   182 #endif /* EGL_EGLEXT_PROTOTYPES */
   183 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYPROFILINGDATANOKPROC) (EGLDisplay dpy, EGLint query_bits, EGLint *data, EGLint data_size, EGLint *data_count);
   184 #endif
   185 
   186 #ifndef EGL_KHR_reusable_sync
   187 #define EGL_KHR_reusable_sync 1
   188 /* Accepted by the <type> parameter of eglCreateSyncKHR, and returned
   189 in <value> when eglGetSyncAttribKHR is called with <attribute>
   190 EGL_SYNC_TYPE_KHR */
   191 #define EGL_SYNC_REUSABLE_KHR                   0x30FA
   192 /* Accepted by the <attribute> parameter of eglGetSyncAttribKHR */
   193 #define EGL_SYNC_TYPE_KHR                       0x30F7
   194 #define EGL_SYNC_STATUS_KHR                     0x30F1
   195 /* Accepted by the <mode> parameter of eglSignalSyncKHR and returned in
   196 <value> when eglGetSyncAttribKHR is called with <attribute>
   197 EGL_SYNC_STATUS_KHR */
   198 #define EGL_SIGNALED_KHR                        0x30F2
   199 #define EGL_UNSIGNALED_KHR                      0x30F3
   200 /* Accepted in the <flags> parameter of eglClientWaitSyncKHR */
   201 #define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR         0x0001
   202 /* Accepted in the <timeout> parameter of eglClientWaitSyncKHR */
   203 #define EGL_FOREVER_KHR                         0xFFFFFFFFFFFFFFFFull
   204 /* Returned by eglClientWaitSyncKHR */
   205 #define EGL_TIMEOUT_EXPIRED_KHR                 0x30F5
   206 #define EGL_CONDITION_SATISFIED_KHR             0x30F6
   207 /* EGLSyncKHR is an opaque handle to an EGL sync object */
   208 typedef void* EGLSyncKHR;
   209 /* EGLTimeKHR is a 64-bit unsigned integer representing intervals in nanoseconds. */
   210 typedef khronos_utime_nanoseconds_t EGLTimeKHR;
   211 /* Returned by eglCreateSyncKHR in the event of an error */
   212 #define EGL_NO_SYNC_KHR                         ((EGLSyncKHR)0)
   213 #ifdef EGL_EGLEXT_PROTOTYPES
   214 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
   215 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
   216 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
   217 EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
   218 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
   219 #endif /* EGL_EGLEXT_PROTOTYPES */
   220 typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
   221 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
   222 typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
   223 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
   224 typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
   225 #endif
   226 
   227 #ifndef EGL_NOK_swap_region
   228 #define EGL_NOK_swap_region 1
   229 #ifdef EGL_EGLEXT_PROTOTYPES
   230 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
   231 #endif /* EGL_EGLEXT_PROTOTYPES */
   232 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
   233 #endif
   234 
   235 #ifndef EGL_NOK_ENDPOINT
   236 #define EGL_NOK_ENDPOINT 1
   237 /* Endpoint datatype */
   238 typedef void* EGLEndpointNOK;
   239 typedef void* EGLTRequestStatusNOK;
   240 typedef void* EGLEndpointSourceNOK;
   241 /* Endpoint constant */
   242 #define EGL_ENDPOINT_TYPE_CONSUMER_NOK   0x30D5
   243 #define EGL_TSURFACEID_NOK               0x30D3
   244 /* Endpoint invalid parameter */
   245 #define EGL_NO_ENDPOINT_NOK              ((EGLEndpointNOK)0)
   246 /* Endpoint error code */
   247 #define EGL_BAD_ENDPOINT_NOK             0x30D4
   248 /* Endpoint attribute keys */
   249 #define EGL_ENDPOINT_READY_NOK           0x30D6
   250 #define EGL_DELAY_NOK                    0x30D7
   251 
   252 #ifdef EGL_EGLEXT_PROTOTYPES
   253 EGLAPI EGLEndpointNOK EGLAPIENTRY eglCreateEndpointNOK(EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint *attrib_list);
   254 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyEndpointNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
   255 EGLAPI EGLint EGLAPIENTRY eglGetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib);
   256 EGLAPI EGLBoolean EGLAPIENTRY eglSetEndpointAttribNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value);
   257 EGLAPI EGLBoolean EGLAPIENTRY eglEndpointBeginStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
   258 EGLAPI EGLBoolean EGLAPIENTRY eglEndpointEndStreamingNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
   259 EGLAPI EGLImageKHR EGLAPIENTRY eglAcquireImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
   260 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseImageNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api);
   261 EGLAPI EGLint EGLAPIENTRY eglGetEndpointDirtyAreaNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects, EGLBoolean collapse); 
   262 EGLAPI EGLBoolean EGLAPIENTRY eglEndpointRequestNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync);
   263 EGLAPI EGLBoolean EGLAPIENTRY eglEndpointCancelNotificationNOK(EGLDisplay dpy, EGLEndpointNOK endpoint);
   264 #endif
   265 
   266 typedef EGLEndpointNOK (EGLAPIENTRYP PFNEGLCREATEENDPOINTNOKPROC) (EGLDisplay dpy, EGLenum type, EGLenum source_type, EGLEndpointSourceNOK source, const EGLint* attrib_list);
   267 typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYENDPOINTNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
   268 typedef EGLint (EGLAPIENTRYP PFNEGLGETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib);
   269 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETENDPOINTATTRIBNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLint attrib, EGLint value);
   270 typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTBEGINSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
   271 typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTENDSTREAMINGNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
   272 typedef EGLImageKHR  (EGLAPIENTRYP PFNEGLACQUIREIMAGENOKPROC)(EGLDisplay dpy, EGLEndpointNOK endpoint);
   273 typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASEIMAGENOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLImageKHR image, EGLenum api);
   274 typedef EGLint (EGLAPIENTRYP PFNEGLGETENDPOINTDIRTYAREANOKPROC) (EGLDisplay dpy,  EGLEndpointNOK endpoint, EGLint* rects, EGLint start_rect, EGLint max_rects,  EGLBoolean collapse); 
   275 typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTREQUESTNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint, EGLTRequestStatusNOK sync);
   276 typedef EGLBoolean (EGLAPIENTRYP PFNEGLENDPOINTCANCELNOTIFICATIONNOKPROC) (EGLDisplay dpy, EGLEndpointNOK endpoint);
   277 #endif
   278 
   279 #ifndef EGL_SYMBIAN_COMPOSITION
   280 #define EGL_SYMBIAN_COMPOSITION 1
   281 /* Extension defines a behavioural change which does not introduce functions or tokens. */
   282 /* The presence of this extension means that semi-transparent UI content can be displayed above EGL window surfaces. */
   283 #endif  /* EGL_SYMBIAN_COMPOSITION */
   284 
   285 #ifndef EGL_NOK_SURFACE_SCALING
   286 #define EGL_NOK_SURFACE_SCALING 1
   287 #define EGL_SURFACE_SCALING_NOK           0x30DD  /* Surface Scaling attribute for EGLConfig */
   288 #define EGL_TARGET_EXTENT_OFFSET_X_NOK    0x3079  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   289 #define EGL_TARGET_EXTENT_OFFSET_Y_NOK    0x307A  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   290 #define EGL_TARGET_EXTENT_WIDTH_NOK       0x307B  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   291 #define EGL_TARGET_EXTENT_HEIGHT_NOK      0x307C  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   292 #define EGL_BORDER_COLOR_RED_NOK          0x307D  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   293 #define EGL_BORDER_COLOR_GREEN_NOK        0x307E  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   294 #define EGL_BORDER_COLOR_BLUE_NOK         0x30D8  /* attribute for eglCreateWindowSurface and eglQuerySurface */
   295 #define EGL_FIXED_WIDTH_NOK               0x30DB  /* attribute for eglCreateWindowSurface */
   296 #define EGL_FIXED_HEIGHT_NOK              0x30DC  /* attribute for eglCreateWindowSurface */
   297 
   298 /* Tokens returned by eglQuerySurfaceScalingCapabilityNOK */
   299 #define EGL_NOT_SUPPORTED_NOK   0
   300 #define EGL_SUPPORTED_NOK       1
   301 #define EGL_SLOW_NOK            3
   302 
   303 #ifdef EGL_EGLEXT_PROTOTYPES
   304 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfaceScalingCapabilityNOK(EGLDisplay dpy, EGLConfig config, EGLint surface_width, EGLint surface_height, EGLint target_width, EGLint target_height, EGLint *value);
   305 EGLAPI EGLBoolean EGLAPIENTRY eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, EGLint target_offset_x, EGLint target_offset_y, EGLint target_width, EGLint target_height);
   306 #endif
   307 typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACESCALINGCAPABILITYNOKPROC)(EGLDisplay dpy, EGLConfig config, EGLint surface_width, EGLint surface_height, EGLint target_width, EGLint target_height, EGLint *value);
   308 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSURFACESCALINGNOKPROC)(EGLDisplay dpy, EGLSurface surface, EGLint target_offset_x, EGLint target_offset_y, EGLint target_width, EGLint target_height);
   309 #endif /* EGL_NOK_SURFACE_SCALING */
   310 
   311 #ifdef __cplusplus
   312 }
   313 #endif
   314 
   315 #endif