_Evas_Native_Surface Struct Reference

A generic datatype for engine specific native surface information. More...

#include <Evas_Legacy.h>

Data Structures

union  [union].data

Data Fields

int version
 Current Native Surface Version.
Evas_Native_Surface_Type type
 Surface type.
union  data
 Choose one union data according to your surface.

Detailed Description

A generic datatype for engine specific native surface information.

Please fill up Evas_Native_Surface fields that regarded with current surface type. If you want to set the native surface type to EVAS_NATIVE_SURFACE_X11, you need to set union data with x11.visual or x11.pixmap. If you need to set the native surface as EVAS_NATIVE_SURFACE_OPENGL, on the other hand, you need to set union data with opengl.texture_id or opengl.framebuffer_id and so on. If you need to set the native surface as EVAS_NATIVE_SURFACE_WL, you need to set union data with wl.legacy_buffer. If you need to set the native surface as EVAS_NATIVE_SURFACE_TBM, you need to set union data with tbm surface. The version field should be set with EVAS_NATIVE_SURFACE_VERSION in order to check abi break in your application on the different efl library versions.

Warning
Native surface types totally depend on the system. Please be aware that the types are supported on your system before using them.
Note
The information stored in an Evas_Native_Surface returned by evas_gl_native_surface_get() is not meant to be used by applications except for passing it to evas_object_image_native_surface_set().
See also
evas_object_image_native_surface_set()

Field Documentation

◆ version

int _Evas_Native_Surface::version

Current Native Surface Version.

Use EVAS_NATIVE_SURFACE_VERSION

◆ type

Evas_Native_Surface_Type _Evas_Native_Surface::type

Surface type.

See also
Evas_Native_Surface_Type