return EGL surface information
EGLBoolean eglQuerySurface(
| EGLDisplay display, |
EGLSurface surface, | |
EGLint attribute, | |
EGLint * value) |
display
Specifies the EGL display connection.
surface
Specifies the EGL surface to query.
attribute
Specifies the EGL surface attribute to be returned.
value
Returns the requested value.
eglQuerySurface
returns in
value
the value of
attribute
for surface
.
attribute
can be one of the following:
EGL_CONFIG_ID
Returns the ID of the EGL frame buffer configuration with respect to which the surface was created.
EGL_HEIGHT
Returns the height of the surface in pixels.
EGL_HORIZONTAL_RESOLUTION
Returns the horizontal dot pitch of the display on
which a window surface is visible. The value
returned is equal to the actual dot pitch, in
pixels/meter, multiplied by the constant value
EGL_DISPLAY_SCALING
.
EGL_LARGEST_PBUFFER
Returns the same attribute value specified when the
surface was created with
eglCreatePbufferSurface.
For a window or pixmap surface,
value
is not modified.
EGL_MIPMAP_LEVEL
Returns which level of the mipmap to render to, if texture has mipmaps.
EGL_MIPMAP_TEXTURE
Returns EGL_TRUE
if texture has
mipmaps, EGL_FALSE
otherwise.
EGL_MULTISAMPLE_RESOLVE
Returns the filter used when resolving the
multisample buffer. The filter may be either
EGL_MULTISAMPLE_RESOLVE_DEFAULT
or EGL_MULTISAMPLE_RESOLVE_BOX
,
as described for
eglSurfaceAttrib.
EGL_PIXEL_ASPECT_RATIO
Returns the aspect ratio of an individual pixel (the
ratio of a pixel's width to its height). The value
returned is equal to the actual aspect ratio
multiplied by the constant value
EGL_DISPLAY_SCALING
.
EGL_RENDER_BUFFER
Returns the buffer which client API rendering is
requested to use. For a window surface, this is the
same attribute value specified when the surface was
created. For a pbuffer surface, it is always
EGL_BACK_BUFFER
. For a pixmap
surface, it is always
EGL_SINGLE_BUFFER
. To determine
the actual buffer being rendered to by a context,
call
eglQueryContext.
EGL_SWAP_BEHAVIOR
Returns the effect on the color buffer when posting
a surface with
eglSwapBuffers.
Swap behavior may be either
EGL_BUFFER_PRESERVED
or
EGL_BUFFER_DESTROYED
, as
described for
eglSurfaceAttrib.
EGL_TEXTURE_FORMAT
Returns format of texture. Possible values are
EGL_NO_TEXTURE
,
EGL_TEXTURE_RGB
, and
EGL_TEXTURE_RGBA
.
EGL_TEXTURE_TARGET
Returns type of texture. Possible values are
EGL_NO_TEXTURE
, or
EGL_TEXTURE_2D
.
EGL_VERTICAL_RESOLUTION
Returns the vertical dot pitch of the display on
which a window surface is visible. The value
returned is equal to the actual dot pitch, in
pixels/meter, multiplied by the constant value
EGL_DISPLAY_SCALING
.
EGL_WIDTH
Returns the width of the surface in pixels.
Attribute EGL_MULTISAMPLE_RESOLVE
is
supported only if the EGL version is 1.4 or greater.
Attributes EGL_DISPLAY_SCALING
.
EGL_HORIZONTAL_RESOLUTION
,
EGL_PIXEL_ASPECT_RATIO
,
EGL_RENDER_BUFFER
,
EGL_SWAP_BEHAVIOR
, and
EGL_VERTICAL_RESOLUTION
are supported
only if the EGL version is 1.2 or greater.
Querying attributes EGL_TEXTURE_FORMAT
,
EGL_TEXTURE_TARGET
,
EGL_MIPMAP_TEXTURE
, or
EGL_MIPMAP_LEVEL
for a non-pbuffer
surface is not an error, but value
is
not modified.
EGL_DISPLAY_SCALING
is the constant
value 10000. Floating-point values such as resolution and
pixel aspect ratio are scaled by this value before being
returned as integers so that sufficient precision to be
meaningful will be retained in the returned value.
For an offscreen (pbuffer or pixmap) surface, or a surface
whose pixel dot pitch or aspect ratio are unknown, querying
EGL_HORIZONTAL_RESOLUTION
,
EGL_PIXEL_ASPECT_RATIO
, or
EGL_VERTICAL_RESOLUTION
will return the
constant value EGL_UNKNOWN
(-1).
EGL_FALSE
is returned on failure,
EGL_TRUE
otherwise.
value
is not modified when
EGL_FALSE
is returned.
EGL_BAD_DISPLAY
is generated if
display
is not an EGL display connection.
EGL_NOT_INITIALIZED
is generated if
display
has not been initialized.
EGL_BAD_SURFACE
is generated if
surface
is not an EGL surface.
EGL_BAD_ATTRIBUTE
is generated if
attribute
is not a valid surface attribute.
eglCreatePbufferSurface, eglCreatePixmapSurface, eglCreateWindowSurface, eglSurfaceAttrib, eglSwapBuffers