Ecore_Evas wrapper/helper set of functions
Ecore

Ecore evas is a set of functions that make it easy to tie together ecore's main loop and input handling to evas. More...

## Topics

| Ecore_Evas Single Process Windowing System.
| These are global scope functions to manage the EWS to be used by ecore_evas_ews_new().
| External plug/socket infrastructure for remote canvases
| These functions allow 1 process to create a "socket" was pluged into which another process can create a "plug" remotely to plug into.
| Ecore_Evas methods to handle selection
| These methods perform Copy&Paste and Drag&Drop operations.

## Macros

#define | HAVE_ECORE_EVAS_X 1
#define | HAVE_ECORE_EVAS_FB 1
#define | HAVE_ECORE_EVAS_X11_GL 1
#define | HAVE_ECORE_EVAS_WIN32 1
#define | HAVE_ECORE_EVAS_WIN32_GL 1
#define | HAVE_ECORE_EVAS_COCOA 1
#define | HAVE_ECORE_EVAS_SDL 1
#define | HAVE_ECORE_EVAS_PSL1GHT 1
#define | HAVE_ECORE_EVAS_WAYLAND_SHM 1
#define | HAVE_ECORE_EVAS_WAYLAND_EGL 1
#define | HAVE_ECORE_EVAS_DRM 1
#define | HAVE_ECORE_EVAS_DRM_GL 1
#define | ECORE_EVAS_OPT_NONE 0
#define | ECORE_EVAS_OPT_INDIRECT 1
#define | ECORE_EVAS_OPT_VSYNC 2
#define | ECORE_EVAS_OPT_SWAP_MODE 3
#define | ECORE_EVAS_OPT_GL_DEPTH 4
#define | ECORE_EVAS_OPT_GL_STENCIL 5
#define | ECORE_EVAS_OPT_GL_MSAA 6
#define | ECORE_EVAS_OPT_LAST 7
#define | ECORE_EVAS_SWAP_MODE_AUTO 0
#define | ECORE_EVAS_SWAP_MODE_FULL 1
#define | ECORE_EVAS_SWAP_MODE_COPY 2
#define | ECORE_EVAS_SWAP_MODE_DOUBLE 3
#define | ECORE_EVAS_SWAP_MODE_TRIPLE 4
#define | ECORE_EVAS_GL_X11_OPT_NONE ECORE_EVAS_OPT_NONE
#define | ECORE_EVAS_GL_X11_OPT_INDIRECT ECORE_EVAS_OPT_INDIRECT
#define | ECORE_EVAS_GL_X11_OPT_VSYNC ECORE_EVAS_OPT_VSYNC
#define | ECORE_EVAS_GL_X11_OPT_SWAP_MODE ECORE_EVAS_OPT_SWAP_MODE
#define | ECORE_EVAS_GL_X11_OPT_GL_DEPTH ECORE_EVAS_OPT_GL_DEPTH
#define | ECORE_EVAS_GL_X11_OPT_GL_STENCIL ECORE_EVAS_OPT_GL_STENCIL
#define | ECORE_EVAS_GL_X11_OPT_GL_MSAA ECORE_EVAS_OPT_GL_MSAA
#define | ECORE_EVAS_GL_X11_OPT_LAST ECORE_EVAS_OPT_LAST
#define | ECORE_EVAS_GL_X11_SWAP_MODE_AUTO ECORE_EVAS_SWAP_MODE_AUTO
#define | ECORE_EVAS_GL_X11_SWAP_MODE_FULL ECORE_EVAS_SWAP_MODE_FULL
#define | ECORE_EVAS_GL_X11_SWAP_MODE_COPY ECORE_EVAS_SWAP_MODE_COPY
#define | ECORE_EVAS_GL_X11_SWAP_MODE_DOUBLE ECORE_EVAS_SWAP_MODE_DOUBLE
#define | ECORE_EVAS_GL_X11_SWAP_MODE_TRIPLE ECORE_EVAS_SWAP_MODE_TRIPLE

## Typedefs

typedef enum _Ecore_Evas_Engine_Type | Ecore_Evas_Engine_Type
typedef enum _Ecore_Evas_Avoid_Damage_Type | Ecore_Evas_Avoid_Damage_Type
typedef enum _Ecore_Evas_Object_Associate_Flags | Ecore_Evas_Object_Associate_Flags
typedef Eina_Bool(* | Ecore_Evas_Vnc_Client_Accept_Cb) (void *data, Ecore_Evas *ee, const char *client_host)
| A callback used to accept a new client.
typedef void(* | Ecore_Evas_Vnc_Client_Disconnected_Cb) (void *data, Ecore_Evas *ee, const char *client_host)
| A callback used to inform that a client has disconnected.

## Enumerations

enum

_Ecore_Evas_Engine_Type {
ECORE_EVAS_ENGINE_SOFTWARE_BUFFER ,
ECORE_EVAS_ENGINE_SOFTWARE_XLIB ,
ECORE_EVAS_ENGINE_XRENDER_X11 ,
ECORE_EVAS_ENGINE_OPENGL_X11 ,
ECORE_EVAS_ENGINE_SOFTWARE_XCB ,
ECORE_EVAS_ENGINE_XRENDER_XCB ,
ECORE_EVAS_ENGINE_SOFTWARE_GDI ,
ECORE_EVAS_ENGINE_SOFTWARE_DDRAW ,
ECORE_EVAS_ENGINE_DIRECT3D ,
ECORE_EVAS_ENGINE_OPENGL_GLEW ,
ECORE_EVAS_ENGINE_OPENGL_COCOA ,
ECORE_EVAS_ENGINE_SOFTWARE_SDL ,
ECORE_EVAS_ENGINE_DIRECTFB ,
ECORE_EVAS_ENGINE_SOFTWARE_FB ,
ECORE_EVAS_ENGINE_SOFTWARE_8_X11 ,
ECORE_EVAS_ENGINE_SOFTWARE_16_X11 ,
ECORE_EVAS_ENGINE_SOFTWARE_16_DDRAW ,
ECORE_EVAS_ENGINE_SOFTWARE_16_WINCE ,
ECORE_EVAS_ENGINE_OPENGL_SDL ,
ECORE_EVAS_ENGINE_EWS ,
ECORE_EVAS_ENGINE_PSL1GHT ,
ECORE_EVAS_ENGINE_WAYLAND_SHM ,
ECORE_EVAS_ENGINE_WAYLAND_EGL ,
ECORE_EVAS_ENGINE_DRM ,
ECORE_EVAS_ENGINE_OPENGL_DRM ,
ECORE_EVAS_ENGINE_OPENGL_WIN32
}

enum | _Ecore_Evas_Avoid_Damage_Type { ECORE_EVAS_AVOID_DAMAGE_NONE = 0 , ECORE_EVAS_AVOID_DAMAGE_EXPOSE = 1 , ECORE_EVAS_AVOID_DAMAGE_BUILT_IN = 2 }
| This option causes updates of the Ecore_Evas to be done on a pixmap, and then copied to the window, or the pixmap used directly on the window, depending on the setting. More...
enum | _Ecore_Evas_Object_Associate_Flags { ECORE_EVAS_OBJECT_ASSOCIATE_BASE = 0 , ECORE_EVAS_OBJECT_ASSOCIATE_STACK = 1 << 0 , ECORE_EVAS_OBJECT_ASSOCIATE_LAYER = 1 << 1 , ECORE_EVAS_OBJECT_ASSOCIATE_DEL = 1 << 2 }

## Functions

EAPI int | ecore_evas_engine_type_supported_get (Ecore_Evas_Engine_Type engine)
| Query if a particular rendering engine target has support.
EAPI int | ecore_evas_init (void)
| Inits the Ecore_Evas system.
EAPI int | ecore_evas_shutdown (void)
| Shuts down the Ecore_Evas system.
EAPI void | ecore_evas_app_comp_sync_set (Eina_Bool do_sync)
| Sets application compositor synchronization on/off.
EAPI Eina_Bool | ecore_evas_app_comp_sync_get (void)
| Get the compositing synchronization state.
EAPI Eina_List * | ecore_evas_engines_get (void)
| Returns a list of supported engine names.
EAPI void | ecore_evas_engines_free (Eina_List *engines)
| Free list returned by ecore_evas_engines_get().
EAPI Ecore_Evas * | ecore_evas_new (const char *engine_name, int x, int y, int w, int h, const char *extra_options)
| Creates a new Ecore_Evas based on engine name and common parameters.
EAPI void | ecore_evas_alpha_set (Ecore_Evas *ee, Eina_Bool alpha)
| Sets whether an Ecore_Evas has an alpha channel or not.
EAPI Eina_Bool | ecore_evas_alpha_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas has an alpha channel.
EAPI void | ecore_evas_transparent_set (Ecore_Evas *ee, Eina_Bool transparent)
| Sets whether an Ecore_Evas has an transparent window or not.
EAPI Eina_Bool | ecore_evas_transparent_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas is transparent.
EAPI void | ecore_evas_geometry_get (const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
| Gets the geometry of an Ecore_Evas.
EAPI void | ecore_evas_request_geometry_get (const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
| Gets the geometry which an Ecore_Evas was latest recently requested.
EAPI void | ecore_evas_focus_set (Ecore_Evas *ee, Eina_Bool on)
| Sets the Ecore_Evas window focus for the default seat.
EAPI Eina_Bool | ecore_evas_focus_get (const Ecore_Evas *ee)
| Queries whether the default seat has the Ecore_Evas focus.
EAPI void | ecore_evas_focus_device_set (Ecore_Evas *ee, Eo *seat, Eina_Bool on)
| Sets the Ecore_Evas windows focus for a given seat.
EAPI Eina_Bool | ecore_evas_focus_device_get (const Ecore_Evas *ee, Eo *seat)
| Queries whether an Ecore_Evas' window is focused or not.
EAPI void | ecore_evas_iconified_set (Ecore_Evas *ee, Eina_Bool on)
| Iconifies or uniconifies an Ecore_Evas' window.
EAPI Eina_Bool | ecore_evas_iconified_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window is iconified or not.
EAPI void | ecore_evas_borderless_set (Ecore_Evas *ee, Eina_Bool on)
| Sets whether an Ecore_Evas' window is borderless or not.
EAPI Eina_Bool | ecore_evas_borderless_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window is borderless or not.
EAPI void | ecore_evas_fullscreen_set (Ecore_Evas *ee, Eina_Bool on)
| Sets whether or not an Ecore_Evas' window is fullscreen.
EAPI Eina_Bool | ecore_evas_fullscreen_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window is fullscreen or not.
EAPI void | ecore_evas_window_group_set (Ecore_Evas *ee, const Ecore_Evas *ee_group)
| Sets another window that this window is a group member of.
EAPI const Ecore_Evas * | ecore_evas_window_group_get (const Ecore_Evas *ee)
| Gets the canvas group set.
EAPI void | ecore_evas_aspect_set (Ecore_Evas *ee, double aspect)
| Sets the aspect ratio of a canvas window.
EAPI double | ecore_evas_aspect_get (const Ecore_Evas *ee)
| Gets the aspect ratio of a canvas window.
EAPI void | ecore_evas_urgent_set (Ecore_Evas *ee, Eina_Bool urgent)
| Sets The urgent hint flag.
EAPI Eina_Bool | ecore_evas_urgent_get (const Ecore_Evas *ee)
| Gets the urgent state on the canvas window.
EAPI void | ecore_evas_modal_set (Ecore_Evas *ee, Eina_Bool modal)
| Sets the modal state flag on the canvas window.
EAPI Eina_Bool | ecore_evas_modal_get (const Ecore_Evas *ee)
| Gets The modal flag.
EAPI void | ecore_evas_demand_attention_set (Ecore_Evas *ee, Eina_Bool demand)
| Sets the "i demand attention" flag on a canvas window.
EAPI Eina_Bool | ecore_evas_demand_attention_get (const Ecore_Evas *ee)
| Gets the "i demand attention" flag.
EAPI void | ecore_evas_focus_skip_set (Ecore_Evas *ee, Eina_Bool skip)
| Sets the "focus skip" flag.
EAPI Eina_Bool | ecore_evas_focus_skip_get (const Ecore_Evas *ee)
| Gets the "focus skip" flag.
EAPI void | ecore_evas_ignore_events_set (Ecore_Evas *ee, Eina_Bool ignore)
| Sets if this evas should ignore all events.
EAPI Eina_Bool | ecore_evas_ignore_events_get (const Ecore_Evas *ee)
| Returns the ignore state of an Ecore_Evas' window.
EAPI int | ecore_evas_visibility_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window is visible or not.
EAPI void | ecore_evas_layer_set (Ecore_Evas *ee, int layer)
| Sets the layer of an Ecore_Evas' window.
EAPI int | ecore_evas_layer_get (const Ecore_Evas *ee)
| Gets the layer of an Ecore_Evas' window.
EAPI void | ecore_evas_maximized_set (Ecore_Evas *ee, Eina_Bool on)
| Maximizes (or unmaximizes) an Ecore_Evas' window.
EAPI Eina_Bool | ecore_evas_maximized_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window is maximized or not.
EAPI Eina_Bool | ecore_evas_window_profile_supported_get (const Ecore_Evas *ee)
| Queries if the underlying windowing system supports the window profile.
EAPI void | ecore_evas_window_profile_set (Ecore_Evas *ee, const char *profile)
| Sets the window profile.
EAPI const char * | ecore_evas_window_profile_get (const Ecore_Evas *ee)
| Gets the window profile.
EAPI void | ecore_evas_window_available_profiles_set (Ecore_Evas *ee, const char **profiles, const unsigned int count)
| Sets the array of available window profiles.
EAPI Eina_Bool | ecore_evas_window_available_profiles_get (Ecore_Evas *ee, char ***profiles, unsigned int *count)
| Gets the array of available window profiles.
EAPI Eina_Bool | ecore_evas_wm_rotation_supported_get (const Ecore_Evas *ee)
| Queries if the underlying windowing system supports the window manager rotation.
EAPI void | ecore_evas_wm_rotation_preferred_rotation_set (Ecore_Evas *ee, int rotation)
| Sets the preferred rotation hint.
EAPI int | ecore_evas_wm_rotation_preferred_rotation_get (const Ecore_Evas *ee)
| Gets the preferred rotation hint.
EAPI void | ecore_evas_wm_rotation_available_rotations_set (Ecore_Evas *ee, const int *rotations, unsigned int count)
| Sets the array of available window rotations.
EAPI Eina_Bool | ecore_evas_wm_rotation_available_rotations_get (const Ecore_Evas *ee, int **rotations, unsigned int *count)
| Gets the array of available window rotations.
EAPI void | ecore_evas_wm_rotation_manual_rotation_done_set (Ecore_Evas *ee, Eina_Bool set)
| Sets manual rotation done mode of Ecore_Evas's window.
EAPI Eina_Bool | ecore_evas_wm_rotation_manual_rotation_done_get (const Ecore_Evas *ee)
| Gets manual rotation done mode of Ecore_Evas's window.
EAPI void | ecore_evas_wm_rotation_manual_rotation_done (Ecore_Evas *ee)
| Sets rotation finish manually.
EAPI const Eina_List * | ecore_evas_aux_hints_supported_get (const Ecore_Evas *ee)
| Gets the list of supported auxiliary hint strings.
EAPI Eina_List * | ecore_evas_aux_hints_allowed_get (const Ecore_Evas *ee)
| Gets the list of allowed auxiliary hint IDs.
EAPI int | ecore_evas_aux_hint_add (Ecore_Evas *ee, const char *hint, const char *val)
| Creates an auxiliary hint of the Ecore_Evas.
EAPI Eina_Bool | ecore_evas_aux_hint_del (Ecore_Evas *ee, const int id)
| Deletes an auxiliary hint of the Ecore_Evas.
EAPI Eina_Bool | ecore_evas_aux_hint_val_set (Ecore_Evas *ee, const int id, const char *val)
| Changes a value of the auxiliary hint.
EAPI const char * | ecore_evas_aux_hint_val_get (const Ecore_Evas *ee, int id)
| Gets a value of the auxiliary hint.
EAPI int | ecore_evas_aux_hint_id_get (const Ecore_Evas *ee, const char *hint)
| Gets a ID of the auxiliary hint string.
EAPI void | ecore_evas_msg_parent_send (Ecore_Evas *ee, int msg_domain, int msg_id, void *data, int size)
| Sends message to parent ecore.
EAPI void | ecore_evas_msg_send (Ecore_Evas *ee, int msg_domain, int msg_id, void *data, int size)
| Sends message to child ecore.
EAPI void | ecore_evas_callback_msg_parent_handle_set (Ecore_Evas *ee, void(*func_parent_handle)(Ecore_Evas *ee, int msg_domain, int msg_id, void *data, int size))
| Sets a callback for parent Ecore_Evas message.
EAPI void | ecore_evas_callback_msg_handle_set (Ecore_Evas *ee, void(*func_handle)(Ecore_Evas *ee, int msg_domain, int msg_id, void *data, int size))
| Sets a callback for child Ecore_Evas message.
EAPI void | ecore_evas_move (Ecore_Evas *ee, int x, int y)
| Moves an Ecore_Evas.
EAPI void | ecore_evas_resize (Ecore_Evas *ee, int w, int h)
| Resizes an Ecore_Evas.
EAPI void | ecore_evas_move_resize (Ecore_Evas *ee, int x, int y, int w, int h)
| Moves and resizes an Ecore_Evas.
EAPI void | ecore_evas_rotation_set (Ecore_Evas *ee, int rot)
| Sets the rotation of an Ecore_Evas' window.
EAPI void | ecore_evas_rotation_with_resize_set (Ecore_Evas *ee, int rot)
| Sets the rotation of an Ecore_Evas' window.
EAPI int | ecore_evas_rotation_get (const Ecore_Evas *ee)
| Gets the rotation of an Ecore_Evas' window.
EAPI void | ecore_evas_raise (Ecore_Evas *ee)
| Raises an Ecore_Evas' window.
EAPI void | ecore_evas_lower (Ecore_Evas *ee)
| Lowers an Ecore_Evas' window.
EAPI void | ecore_evas_title_set (Ecore_Evas *ee, const char *t)
| Sets the title of an Ecore_Evas' window.
EAPI const char * | ecore_evas_title_get (const Ecore_Evas *ee)
| Gets the title of an Ecore_Evas' window.
EAPI void | ecore_evas_name_class_set (Ecore_Evas *ee, const char *n, const char *c)
| Sets the name and class of an Ecore_Evas' window.
EAPI void | ecore_evas_name_class_get (const Ecore_Evas *ee, const char **n, const char **c)
| Gets the name and class of an Ecore_Evas' window.
EAPI Ecore_Window | ecore_evas_window_get (const Ecore_Evas *ee)
| Returns a pointer to the underlying window.
EAPI Ecore_Evas * | ecore_evas_software_x11_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)
| Creates Ecore_Evas using software x11.
EAPI Ecore_X_Window | ecore_evas_software_x11_window_get (const Ecore_Evas *ee)
| Gets the window from Ecore_Evas using software x11.
EAPI void | ecore_evas_software_x11_direct_resize_set (Ecore_Evas *ee, Eina_Bool on)
| Sets the direct_resize of Ecore_Evas using software x11.
EAPI Eina_Bool | ecore_evas_software_x11_direct_resize_get (const Ecore_Evas *ee)
| Gets if the Ecore_Evas is being directly resized using software x11.
EAPI void | ecore_evas_software_x11_extra_event_window_add (Ecore_Evas *ee, Ecore_X_Window win)
| Adds an extra window on Ecore_Evas using software x11.
EAPI Ecore_Evas * | ecore_evas_software_x11_pixmap_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)
| Creates a new Ecore_Evas which does not contain an XWindow.
EAPI Ecore_X_Pixmap | ecore_evas_software_x11_pixmap_get (const Ecore_Evas *ee)
| Returns the underlying Ecore_X_Pixmap used in the Ecore_Evas.
EAPI Ecore_Evas * | ecore_evas_gl_x11_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)
| Creates Ecore_Evas using opengl x11.
EAPI Ecore_Evas * | ecore_evas_gl_x11_options_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h, const int *opt)
| Create Ecore_Evas using OpenGL X11, with options.
EAPI Ecore_X_Window | ecore_evas_gl_x11_window_get (const Ecore_Evas *ee)
| Gets the window from Ecore_Evas using opengl x11.
EAPI void | ecore_evas_gl_x11_direct_resize_set (Ecore_Evas *ee, Eina_Bool on)
| Sets direct_resize for Ecore_Evas using opengl x11.
EAPI Eina_Bool | ecore_evas_gl_x11_direct_resize_get (const Ecore_Evas *ee)
| Gets if the Ecore_Evas is being directly resized using opengl x11.
EAPI void | ecore_evas_gl_x11_extra_event_window_add (Ecore_Evas *ee, Ecore_X_Window win)
| Adds extra window on Ecore_Evas using opengl x11.
EAPI void | ecore_evas_gl_x11_pre_post_swap_callback_set (const Ecore_Evas *ee, void *data, void(*pre_cb)(void *data, Evas *e), void(*post_cb)(void *data, Evas *e))
| Sets the functions to be used before and after the swap callback.
EAPI Ecore_Evas * | ecore_evas_gl_x11_pixmap_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h)
| Creates a new Ecore_Evas which does not contain an XWindow.
EAPI Ecore_X_Pixmap | ecore_evas_gl_x11_pixmap_get (const Ecore_Evas *ee)
| Returns the underlying Ecore_X_Pixmap used in the Ecore_Evas.
EAPI Ecore_Evas * | ecore_evas_xrender_x11_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h) EINA_DEPRECATED
EAPI Ecore_X_Window | ecore_evas_xrender_x11_window_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_xrender_x11_direct_resize_set (Ecore_Evas *ee, Eina_Bool on) EINA_DEPRECATED
EAPI Eina_Bool | ecore_evas_xrender_x11_direct_resize_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_xrender_x11_extra_event_window_add (Ecore_Evas *ee, Ecore_X_Window win) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_software_x11_8_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h) EINA_DEPRECATED
EAPI Ecore_X_Window | ecore_evas_software_x11_8_window_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI Ecore_X_Window | ecore_evas_software_x11_8_subwindow_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_software_x11_8_direct_resize_set (Ecore_Evas *ee, Eina_Bool on) EINA_DEPRECATED
EAPI Eina_Bool | ecore_evas_software_x11_8_direct_resize_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_software_x11_8_extra_event_window_add (Ecore_Evas *ee, Ecore_X_Window win) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_software_x11_16_new (const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h) EINA_DEPRECATED
EAPI Ecore_X_Window | ecore_evas_software_x11_16_window_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_software_x11_16_direct_resize_set (Ecore_Evas *ee, Eina_Bool on) EINA_DEPRECATED
EAPI Eina_Bool | ecore_evas_software_x11_16_direct_resize_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_software_x11_16_extra_event_window_add (Ecore_Evas *ee, Ecore_X_Window win) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_fb_new (const char *disp_name, int rotation, int w, int h)
| Creates Ecore_Evas using fb backend.
EAPI Ecore_Evas * | ecore_evas_directfb_new (const char *disp_name, int windowed, int x, int y, int w, int h) EINA_DEPRECATED
EAPI Ecore_DirectFB_Window * | ecore_evas_directfb_window_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_wayland_shm_new (const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame)
| Create an Ecore_Evas window using the wayland-shm engine.
EAPI Ecore_Evas * | ecore_evas_wayland_egl_new (const char *disp_name, unsigned int parent, int x, int y, int w, int h, Eina_Bool frame)
| Create an Ecore_Evas window using the wayland-egl engine.
EAPI void | ecore_evas_wayland_resize (Ecore_Evas *ee, int location)
| Begin resizing the Ecore_Evas window.
EAPI void | ecore_evas_wayland_move (Ecore_Evas *ee, int x, int y)
| Begin moving the Ecore_Evas window.
EAPI void | ecore_evas_wayland_pointer_set (Ecore_Evas *ee, int hot_x, int hot_y)
| Set the pointer for the Ecore_Evas window.
EAPI void | ecore_evas_wayland_type_set (Ecore_Evas *ee, int type)
| Set the type of the Ecore_Evas window.
EAPI Ecore_Wl_Window * | ecore_evas_wayland_window_get (const Ecore_Evas *ee)
| Gets the window from Ecore_Evas using the wayland backend.
EAPI Ecore_Wl2_Window * | ecore_evas_wayland2_window_get (const Ecore_Evas *ee)
| Gets the window from Ecore_Evas using the wayland2 backend.
EAPI Ecore_Cocoa_Window * | ecore_evas_cocoa_window_get (const Ecore_Evas *ee)
| Gets the window from Ecore_Evas using the opengl_cocoa backend.
EAPI Ecore_Evas * | ecore_evas_drm_new (const char *device, unsigned int parent, int x, int y, int w, int h)
| Create an Ecore_Evas window using the drm engine.
EAPI Ecore_Evas * | ecore_evas_gl_drm_new (const char *device, unsigned int parent, int x, int y, int w, int h)
| Create an Ecore_Evas window using the drm engine with GL support.
EAPI Ecore_Evas * | ecore_evas_buffer_new (int w, int h)
| Creates a new `Ecore_Evas` canvas bound to the Evas buffer engine.
EAPI Ecore_Evas * | ecore_evas_buffer_allocfunc_new (int w, int h, void *(*alloc_func)(void *data, int size), void(*free_func)(void *data, void *pix), const void *data)
| Creates a new `Ecore_Evas` canvas bound to the Evas buffer engine, giving custom allocation and freeing functions for the canvas memory region.
EAPI const void * | ecore_evas_buffer_pixels_get (Ecore_Evas *ee)
| Grabs a pointer to the actual pixels array of a given `Ecore_Evas` buffer canvas/window.
EAPI Ecore_Evas * | ecore_evas_buffer_ecore_evas_parent_get (Ecore_Evas *ee)
| Returns a pointer to the Ecore_Evas parent of the given Ecore_Evas.
EAPI Ecore_Evas * | ecore_evas_ews_new (int x, int y, int w, int h)
| Creates a new `Ecore_Evas` canvas bound to the Evas ews (Ecore + Evas Single Process Windowing System) engine.
EAPI Evas_Object * | ecore_evas_ews_backing_store_get (const Ecore_Evas *ee)
| Returns the backing store image object that represents the given window in EWS.
EAPI void | ecore_evas_ews_delete_request (Ecore_Evas *ee)
| Calls the window to be deleted (freed), but can let user decide to forbid it by using ecore_evas_callback_delete_request_set().
EAPI Evas_Object * | ecore_evas_object_image_new (Ecore_Evas *ee_target)
| Creates an Evas image object with image data bound to an own, internal `Ecore_Evas` canvas wrapper.
EAPI Ecore_Evas * | ecore_evas_object_ecore_evas_get (Evas_Object *obj)
| Retrieve the internal `Ecore_Evas` handle of an image object created via ecore_evas_object_image_new().
EAPI Evas * | ecore_evas_object_evas_get (Evas_Object *obj)
| Retrieve the canvas bound to the internal `Ecore_Evas` handle of an image object created via ecore_evas_object_image_new().
EAPI Ecore_Evas * | ecore_evas_software_gdi_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
| Creates a new `Ecore_Evas` canvas bound to the Evas gdi (software) engine.
EAPI Ecore_Evas * | ecore_evas_software_ddraw_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
| Creates a new `Ecore_Evas` canvas bound to the Evas DirectDraw (software) engine.
EAPI Ecore_Evas * | ecore_evas_gl_win32_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
| Creates Ecore_Evas using Opengl ES On Windows.
EAPI Ecore_Evas * | ecore_evas_software_16_ddraw_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
EAPI Ecore_Evas * | ecore_evas_direct3d_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
EAPI Ecore_Evas * | ecore_evas_gl_glew_new (Ecore_Win32_Window *parent, int x, int y, int width, int height)
EAPI Ecore_Win32_Window * | ecore_evas_win32_window_get (const Ecore_Evas *ee)
EAPI Ecore_Evas * | ecore_evas_sdl_new (const char *name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
| Creates a new `Ecore_Evas` canvas bound to the Evas SDL engine.
EAPI Ecore_Evas * | ecore_evas_sdl16_new (const char *name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
EAPI Ecore_Evas * | ecore_evas_gl_sdl_new (const char *name, int w, int h, int fullscreen, int noframe)
| Creates a new `Ecore_Evas` canvas bound to the Evas SDL + gl engine.
EAPI Ecore_Evas * | ecore_evas_software_wince_new (Ecore_WinCE_Window *parent, int x, int y, int width, int height) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_software_wince_fb_new (Ecore_WinCE_Window *parent, int x, int y, int width, int height) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_software_wince_gapi_new (Ecore_WinCE_Window *parent, int x, int y, int width, int height) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_software_wince_ddraw_new (Ecore_WinCE_Window *parent, int x, int y, int width, int height) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_software_wince_gdi_new (Ecore_WinCE_Window *parent, int x, int y, int width, int height) EINA_DEPRECATED
EAPI Ecore_WinCE_Window * | ecore_evas_software_wince_window_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI Ecore_Evas * | ecore_evas_cocoa_new (Ecore_Cocoa_Window *parent, int x, int y, int w, int h)
| Creates a new `Ecore_Evas` canvas bound to the Evas Cocoa engine.
EAPI Ecore_Evas * | ecore_evas_psl1ght_new (const char *name, int w, int h) EINA_DEPRECATED
| Creates a new `Ecore_Evas` canvas bound to the Evas psl1ght engine.
EAPI const char * | ecore_evas_engine_name_get (const Ecore_Evas *ee)
| Gets the engine name used by this Ecore_Evas(window).
EAPI Ecore_Evas * | ecore_evas_ecore_evas_get (const Evas *e)
| Returns the Ecore_Evas for this Evas.
EAPI void | ecore_evas_free (Ecore_Evas *ee)
| Frees an Ecore_Evas.
EAPI void * | ecore_evas_data_get (const Ecore_Evas *ee, const char *key)
| Retrieves user data associated with an Ecore_Evas.
EAPI void | ecore_evas_data_set (Ecore_Evas *ee, const char *key, const void *data)
| Stores user data in an Ecore_Evas structure.
EAPI void | ecore_evas_callback_resize_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas resize events.
EAPI void | ecore_evas_callback_move_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas move events.
EAPI void | ecore_evas_callback_show_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas show events.
EAPI void | ecore_evas_callback_hide_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas hide events.
EAPI void | ecore_evas_callback_delete_request_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas delete request events.
EAPI void | ecore_evas_callback_destroy_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas destroy events.
EAPI void | ecore_evas_callback_focus_in_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas focus in events.
EAPI void | ecore_evas_callback_focus_out_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas focus out events.
EAPI void | ecore_evas_callback_focus_device_in_set (Ecore_Evas *ee, Ecore_Evas_Focus_Device_Event_Cb func)
| Sets a callback for Ecore_Evas focus in events.
EAPI void | ecore_evas_callback_focus_device_out_set (Ecore_Evas *ee, Ecore_Evas_Focus_Device_Event_Cb func)
| Sets a callback for Ecore_Evas focus out events.
EAPI void | ecore_evas_callback_sticky_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas sticky events.
EAPI void | ecore_evas_callback_unsticky_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas un-sticky events.
EAPI void | ecore_evas_callback_device_mouse_in_set (Ecore_Evas *ee, Ecore_Evas_Mouse_IO_Cb func)
| Sets a callback for Ecore_Evas mouse in events.
EAPI void | ecore_evas_callback_device_mouse_out_set (Ecore_Evas *ee, Ecore_Evas_Mouse_IO_Cb func)
| Sets a callback for Ecore_Evas mouse out events.
EAPI void | ecore_evas_callback_mouse_in_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas mouse in events.
EAPI void | ecore_evas_callback_mouse_out_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas mouse out events.
EAPI void | ecore_evas_callback_pre_render_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas pre-render events.
EAPI void | ecore_evas_callback_post_render_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas mouse post-render events.
EAPI void | ecore_evas_callback_pre_free_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas pre-free event.
EAPI void | ecore_evas_callback_state_change_set (Ecore_Evas *ee, Ecore_Evas_Event_Cb func)
| Sets a callback for Ecore_Evas state changes.
EAPI Evas * | ecore_evas_get (const Ecore_Evas *ee)
| Gets an Ecore_Evas's Evas.
EAPI void | ecore_evas_managed_move (Ecore_Evas *ee, int x, int y)
| Provides Managed move co-ordinates for an Ecore_Evas.
EAPI void | ecore_evas_shaped_set (Ecore_Evas *ee, Eina_Bool shaped)
| Sets whether an Ecore_Evas is shaped or not.
EAPI Eina_Bool | ecore_evas_shaped_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas is shaped or not.
EAPI void | ecore_evas_show (Ecore_Evas *ee)
| Shows an Ecore_Evas' window.
EAPI void | ecore_evas_hide (Ecore_Evas *ee)
| Hides an Ecore_Evas' window.
EAPI void | ecore_evas_activate (Ecore_Evas *ee)
| Activates (set focus to, via the window manager) an Ecore_Evas' window.
EAPI void | ecore_evas_size_min_set (Ecore_Evas *ee, int w, int h)
| Sets the minimum size of a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_min_get (const Ecore_Evas *ee, int *w, int *h)
| Gets the minimum size set for a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_max_set (Ecore_Evas *ee, int w, int h)
| Sets the maximum size of a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_max_get (const Ecore_Evas *ee, int *w, int *h)
| Gets the maximum size set for a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_base_set (Ecore_Evas *ee, int w, int h)
| Sets the base size for a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_base_get (const Ecore_Evas *ee, int *w, int *h)
| Gets the base size set for a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_step_set (Ecore_Evas *ee, int w, int h)
| Sets the "size step" for a given `Ecore_Evas` window.
EAPI void | ecore_evas_size_step_get (const Ecore_Evas *ee, int *w, int *h)
| Gets the "size step" set for a given `Ecore_Evas` window.
EAPI void | ecore_evas_cursor_set (Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y)
| Sets the cursor for the default pointer device.
EAPI void | ecore_evas_cursor_get (const Ecore_Evas *ee, Evas_Object **obj, int *layer, int *hot_x, int *hot_y)
| Gets information about an Ecore_Evas' default pointer device.
EAPI void | ecore_evas_object_cursor_set (Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
| Sets the cursor for the default pointer device.
EAPI Evas_Object * | ecore_evas_cursor_unset (Ecore_Evas *ee)
| Unsets the cursor of the default pointer device.
EAPI Evas_Object * | ecore_evas_cursor_device_unset (Ecore_Evas *ee, Efl_Input_Device *pointer)
| Unsets the cursor of the specified pointer device.
EAPI void | ecore_evas_object_cursor_device_set (Ecore_Evas *ee, Efl_Input_Device *pointer, Evas_Object *obj, int layer, int hot_x, int hot_y)
| Sets the cursor of an Ecore_Evas specified pointer device.
EAPI Eina_Bool | ecore_evas_cursor_device_get (const Ecore_Evas *ee, Efl_Input_Device *pointer, Evas_Object **obj, int *layer, int *hot_x, int *hot_y)
| Gets information about an Ecore_Evas' specified pointer device.
EAPI void | ecore_evas_override_set (Ecore_Evas *ee, Eina_Bool on)
| Tells the WM whether or not to ignore an Ecore_Evas' window.
EAPI Eina_Bool | ecore_evas_override_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window is overridden or not.
EAPI void | ecore_evas_avoid_damage_set (Ecore_Evas *ee, Ecore_Evas_Avoid_Damage_Type on)
| Sets whether or not an Ecore_Evas' window should avoid damage.
EAPI Ecore_Evas_Avoid_Damage_Type | ecore_evas_avoid_damage_get (const Ecore_Evas *ee)
| Queries whether an Ecore_Evas' window avoids damage or not.
EAPI void | ecore_evas_withdrawn_set (Ecore_Evas *ee, Eina_Bool withdrawn)
| Sets the withdrawn state of an Ecore_Evas' window.
EAPI Eina_Bool | ecore_evas_withdrawn_get (const Ecore_Evas *ee)
| Returns the withdrawn state of an Ecore_Evas' window.
EAPI void | ecore_evas_sticky_set (Ecore_Evas *ee, Eina_Bool sticky)
| Sets the sticky state of an Ecore_Evas window.
EAPI Eina_Bool | ecore_evas_sticky_get (const Ecore_Evas *ee)
| Returns the sticky state of an Ecore_Evas' window.
EAPI void | ecore_evas_manual_render_set (Ecore_Evas *ee, Eina_Bool manual_render)
| Enables/disables manual render.
EAPI Eina_Bool | ecore_evas_manual_render_get (const Ecore_Evas *ee)
| Gets enable/disable status of manual render.
EAPI void | ecore_evas_input_event_register (Ecore_Evas *ee)
| Registers an `Ecore_Evas` to receive events through ecore_input_evas.
EAPI void | ecore_evas_input_event_unregister (Ecore_Evas *ee)
| Unregisters an `Ecore_Evas` receiving events through ecore_input_evas.
EAPI void | ecore_evas_manual_render (Ecore_Evas *ee)
| Forces immediate rendering on a given `Ecore_Evas` window.
EAPI void | ecore_evas_comp_sync_set (Ecore_Evas *ee, Eina_Bool do_sync)
| Sets comp syncing to enabled/disabled.
EAPI Eina_Bool | ecore_evas_comp_sync_get (const Ecore_Evas *ee)
| Gets the comp sync state.
EAPI void | ecore_evas_screen_geometry_get (const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
| Gets geometry of screen associated with this Ecore_Evas.
EAPI void | ecore_evas_screen_dpi_get (const Ecore_Evas *ee, int *xdpi, int *ydpi)
| Gets the dpi of the screen the Ecore_Evas is primarily on.
EAPI void | ecore_evas_draw_frame_set (Ecore_Evas *ee, Eina_Bool draw_frame) EINA_DEPRECATED
EAPI Eina_Bool | ecore_evas_draw_frame_get (const Ecore_Evas *ee) EINA_DEPRECATED
EAPI void | ecore_evas_shadow_geometry_set (Ecore_Evas *ee, int x, int y, int w, int h)
| Sets shadow geometry for client-side decorations.
EAPI void | ecore_evas_shadow_geometry_get (const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
| Gets shadow geometry for client-side decorations.
EAPI Eina_Bool | ecore_evas_object_associate (Ecore_Evas *ee, Evas_Object *obj, Ecore_Evas_Object_Associate_Flags flags)
| Associates the given object to this ecore evas.
EAPI Eina_Bool | ecore_evas_object_dissociate (Ecore_Evas *ee, Evas_Object *obj)
| Cancels the association set with ecore_evas_object_associate().
EAPI Evas_Object * | ecore_evas_object_associate_get (const Ecore_Evas *ee)
| Gets the object associated with `ee`.
EAPI unsigned char | ecore_getopt_callback_ecore_evas_list_engines (const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage)
| Helper ecore_getopt callback to list available Ecore_Evas engines.
EAPI Eina_List * | ecore_evas_ecore_evas_list_get (void)
| Gets a list of all the ecore_evases.
EAPI Eina_List * | ecore_evas_sub_ecore_evas_list_get (const Ecore_Evas *ee)
| Gets a list of all the sub ecore_evases.
EAPI void | ecore_evas_x11_leader_set (Ecore_Evas *ee, Ecore_X_Window win)
| Set the window's client leader.
EAPI Ecore_X_Window | ecore_evas_x11_leader_get (Ecore_Evas *ee)
| Get the client leader.
EAPI void | ecore_evas_x11_leader_default_set (Ecore_Evas *ee)
| Reset the client leader to default.
EAPI void | ecore_evas_x11_shape_input_rectangle_set (Ecore_Evas *ee, int x, int y, int w, int h)
| Set the rectangular region that can "contain" the pointer, replacing any previously set region.
EAPI void | ecore_evas_x11_shape_input_rectangle_add (Ecore_Evas *ee, int x, int y, int w, int h)
| Extends the pointer containment region to the union of the new and existing input rectangle.
EAPI void | ecore_evas_x11_shape_input_rectangle_subtract (Ecore_Evas *ee, int x, int y, int w, int h)
| Modifies the pointer containment region to subtract a rectangular region from it.
EAPI void | ecore_evas_x11_shape_input_empty (Ecore_Evas *ee)
| Disables input for the window.
EAPI void | ecore_evas_x11_shape_input_reset (Ecore_Evas *ee)
| Unsets the pointer containment for the window.
EAPI void | ecore_evas_x11_shape_input_apply (Ecore_Evas *ee)
| Applies the pointer containment region to the client window.
EAPI Evas_Object * | ecore_evas_vnc_start (Ecore_Evas *ee, const char *addr, int port, Ecore_Evas_Vnc_Client_Accept_Cb accept_cb, Ecore_Evas_Vnc_Client_Disconnected_Cb disc_cb, void *data)
| Starts a VNC server.
EAPI void | ecore_evas_callback_new_set (Evas *(*func)(int w, int h))
| Sets a callback for building new Evas.
EAPI void | ecore_evas_pointer_xy_get (const Ecore_Evas *ee, Evas_Coord *x, Evas_Coord *y)
| Retrieves the coordinates of the default mouse pointer.
EAPI Eina_Bool | ecore_evas_pointer_warp (const Ecore_Evas *ee, Evas_Coord x, Evas_Coord y)
| Sets the coordinates of the mouse pointer.
EAPI void | ecore_evas_pointer_device_xy_get (const Ecore_Evas *ee, const Efl_Input_Device *pointer, Evas_Coord *x, Evas_Coord *y)
| Retrieves the coordinates of the mouse pointer.
EAPI void * | ecore_evas_pixmap_visual_get (const Ecore_Evas *ee)
| Retrieves the Visual used for pixmap creation.
EAPI unsigned long | ecore_evas_pixmap_colormap_get (const Ecore_Evas *ee)
| Retrieves the Colormap used for pixmap creation.
EAPI int | ecore_evas_pixmap_depth_get (const Ecore_Evas *ee)
| Retrieves the depth used for pixmap creation.

## Detailed Description

Ecore evas is a set of functions that make it easy to tie together ecore's main loop and input handling to evas.

As such it's a natural base for EFL applications. While this combination makes it easy to create the basic aspects all applications need, for normal applications(ones with buttons, checkboxes and layouts) one should consider using Elementary.

Ecore evas is extremely well suited for applications that are not based on widgets. It has a main loop that delivers events, does basic window handling and leaves all of the drawing up to the user. This works very well if used in conjunction with Edje or if doing custom drawing as, for example, is done in games.

This is a list of examples of these functions:

- Ecore Evas basics example
- Ecore Evas Object example
- Ecore Evas Callbacks
- Ecore_Evas window size hints
- Ecore_Evas buffer example
- Ecore_Evas (image) buffer example

## Typedef Documentation

## Ecore_Evas_Vnc_Client_Accept_Cb

typedef Eina_Bool(* Ecore_Evas_Vnc_Client_Accept_Cb) (void *data, Ecore_Evas *ee, const char *client_host)

A callback used to accept a new client.

Parameters

  data | The callback data
  ee | The Ecore_Evas
  client_host | The address of the new client.

Returns
  `EINA_TRUE` to accept the client, `EINA_FALSE` otherwise.

See also
  ecore_evas_vnc_start()

Since
  1.19

## Ecore_Evas_Vnc_Client_Disconnected_Cb

typedef void(* Ecore_Evas_Vnc_Client_Disconnected_Cb) (void *data, Ecore_Evas *ee, const char *client_host)

A callback used to inform that a client has disconnected.

Parameters

  data | The callback data
  ee | The Ecore_Evas
  client_host | The address of the client

See also
  ecore_evas_vnc_start()

Since
  1.19

## Enumeration Type Documentation

## _Ecore_Evas_Avoid_Damage_Type

enum _Ecore_Evas_Avoid_Damage_Type

This option causes updates of the Ecore_Evas to be done on a pixmap, and then copied to the window, or the pixmap used directly on the window, depending on the setting.

Enumerator
ECORE_EVAS_AVOID_DAMAGE_NONE | every expose event triggers a new damage and consequently render of the affected area. The rendering of things happens directly on the window
ECORE_EVAS_AVOID_DAMAGE_EXPOSE | there's a pixmap where everything is rendered into, and then copied to the window. On expose events, there's no need to render things again, just to copy the exposed region to the window

ECORE_EVAS_AVOID_DAMAGE_BUILT_IN

there's the same pixmap as the previous one, but it is set as a "background pixmap" of the window.

The rendered things appear directly on the window, with no need to copy anything, but would stay stored on the pixmap, so there's no need to render things again on expose events. This option can be faster than the previous one, but may lead to artifacts during resize of the window

## Function Documentation

## ecore_evas_engine_type_supported_get()

EAPI int ecore_evas_engine_type_supported_get | ( | Ecore_Evas_Engine_Type | engine | ) |

Query if a particular rendering engine target has support.

Parameters

  engine | The engine to check support for

Returns
  1 if the particular engine is supported, 0 if it is not

Query if engine

Parameters

  engine | is supported by ecore_evas. 1 is returned if it is, and 0 is returned if it is not supported.

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_init()

EAPI int ecore_evas_init | ( | void |  | ) |

Inits the Ecore_Evas system.

Returns
  How many times the lib has been initialized, `0` indicates failure.

Set up the Evas wrapper system. Init Evas and Ecore libraries.

See also
  ecore_evas_shutdown()

References ecore_idle_enterer_add(), ecore_idle_exiter_add(), ecore_init(), ecore_shutdown(), eina_error_msg_register(), EINA_FALSE, eina_log_domain_register(), EINA_LOG_ERR, EINA_LOG_STATE_INIT, EINA_LOG_STATE_STOP, eina_log_timing(), EINA_TRUE, evas_init(), and evas_shutdown().

Referenced by elm_quicklaunch_fork(), elm_quicklaunch_sub_init(), and ethumb_init().

## ecore_evas_shutdown()

EAPI int ecore_evas_shutdown | ( | void |  | ) |

Shuts down the Ecore_Evas system.

Returns
  `0` if ecore evas is fully shut down, or > `0` if it still being used.

This closes the Evas wrapper system down. Shut down Evas and Ecore libraries.

See also
  ecore_evas_init()

References ecore_idle_enterer_del(), ecore_idle_exiter_del(), ecore_shutdown(), eina_log_domain_unregister(), EINA_LOG_STATE_SHUTDOWN, EINA_LOG_STATE_START, eina_log_timing(), and evas_shutdown().

Referenced by elm_quicklaunch_sub_init(), elm_quicklaunch_sub_shutdown(), ethumb_init(), and ethumb_shutdown().

## ecore_evas_app_comp_sync_set()

EAPI void ecore_evas_app_comp_sync_set | ( | Eina_Bool | do_sync | ) |

Sets application compositor synchronization on/off.

Turns on client+server synchronized rendering in X11. App comp sync is disabled by default, but can be turned on optionally.

Warning
  This is a deprecated API. DO NOT USE.

Parameters

  do_sync | True to enable comp syncing, False to disable

## ecore_evas_app_comp_sync_get()

EAPI Eina_Bool ecore_evas_app_comp_sync_get | ( | void |  | ) |

Get the compositing synchronization state.

Returns
  True if app comp sync is enabled.

Warning
  This is a deprecated API. DO NOT USE.

## ecore_evas_engines_get()

EAPI Eina_List * ecore_evas_engines_get | ( | void |  | ) |

Returns a list of supported engine names.

Returns
  Newly allocated list with engine names. Engine names strings are internal and should be considered constants, do not free or modify them, to free the list use ecore_evas_engines_free().

References eina_list_clone().

Referenced by ecore_getopt_callback_ecore_evas_list_engines().

## ecore_evas_engines_free()

EAPI void ecore_evas_engines_free | ( | Eina_List * | engines | ) |

Free list returned by ecore_evas_engines_get().

Parameters

  engines | List with engine names

References eina_list_free().

Referenced by ecore_getopt_callback_ecore_evas_list_engines().

## ecore_evas_new()

EAPI Ecore_Evas * ecore_evas_new | ( | const char * | engine_name,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | const char * | extra_options )

Creates a new Ecore_Evas based on engine name and common parameters.

Parameters

  engine_name | Engine name as returned by ecore_evas_engines_get() or `NULL` to use environment variable ECORE_EVAS_ENGINE, which can be undefined and in this case this call will try to find the first working engine.
  x | Horizontal position of window (not supported in all engines)
  y | Vertical position of window (not supported in all engines)
  w | Width of window
  h | Height of window
  extra_options | String with extra parameter, dependent on engines or @ NULL. String is usually in the form: 'key1=value1;key2=value2'. Pay attention that when getting this from shell commands, most consider ';' as the command terminator, so you need to escape it or use quotes.

Returns
  Ecore_Evas instance or `NULL` if creation failed.

References DBG, INF, and WRN.

## ecore_evas_alpha_set()

EAPI void ecore_evas_alpha_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | alpha )

Sets whether an Ecore_Evas has an alpha channel or not.

Parameters

  ee | The Ecore_Evas to shape
  alpha | `EINA_TRUE` to enable the alpha channel, `EINA_FALSE` to disable it

This function allows you to make an Ecore_Evas translucent using an alpha channel. See ecore_evas_shaped_set() for details. The difference between a shaped window and a window with an alpha channel is that an alpha channel supports multiple levels of transparency, as opposed to the 1 bit transparency of a shaped window (a pixel is either opaque, or it's transparent).

Warning
  Support for this depends on the underlying windowing system.

Referenced by ethumb_dup(), and ethumb_new().

## ecore_evas_alpha_get()

EAPI Eina_Bool ecore_evas_alpha_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas has an alpha channel.

Parameters

  ee | The Ecore_Evas to query.

Returns
  `EINA_TRUE` if ee has an alpha channel, `EINA_FALSE` if it does not.

See also
  ecore_evas_alpha_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_transparent_set()

EAPI void ecore_evas_transparent_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | transparent )

Sets whether an Ecore_Evas has an transparent window or not.

Parameters

  ee | The Ecore_Evas to shape
  transparent | `EINA_TRUE` to enable the transparent window, `EINA_FALSE` to disable it

This function sets some translucency options, for more complete support see ecore_evas_alpha_set().

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_alpha_set()

## ecore_evas_transparent_get()

EAPI Eina_Bool ecore_evas_transparent_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas is transparent.

Parameters

  ee | The Ecore_Evas to query.

Returns
  `EINA_TRUE` if ee is transparent, `EINA_FALSE` if it isn't.

See also
  ecore_evas_transparent_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_geometry_get()

EAPI void ecore_evas_geometry_get | ( | const Ecore_Evas * | ee,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h )

Gets the geometry of an Ecore_Evas.

Parameters

  ee | The Ecore_Evas whose geometry y
  x | A pointer to an int to place the x coordinate in
  y | A pointer to an int to place the y coordinate in
  w | A pointer to an int to place the w size in
  h | A pointer to an int to place the h size in

This function takes four pointers to (already allocated) ints, and places the geometry of `ee` in them. If any of the parameters are not desired you may pass `NULL` for them.

int x, y, w, h;
ecore_evas_geometry_get(ee, &x, &y, &w, &h);
ecore_evas_geometry_get
EAPI void ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
Gets the geometry of an Ecore_Evas.
Definition ecore_evas.c:1376

See also
  ecore_evas_new()
  ecore_evas_resize()
  ecore_evas_move()
  ecore_evas_move_resize()

## ecore_evas_request_geometry_get()

EAPI void ecore_evas_request_geometry_get | ( | const Ecore_Evas * | ee,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h )

Gets the geometry which an Ecore_Evas was latest recently requested.

Parameters

  ee | The Ecore_Evas whose geometry y
  x | A pointer to an int to place the x coordinate in
  y | A pointer to an int to place the y coordinate in
  w | A pointer to an int to place the w size in
  h | A pointer to an int to place the h size in

This function takes four pointers to (already allocated) ints, and places the geometry which `ee` was latest recently requested . If any of the parameters are not desired you may pass `NULL` for them. This function can represent recently requested geometry. ecore_evas_geometry_get function returns the value is updated after engine finished request. By comparison, ecore_evas_request_geometry_get returns recently requested value.

int x, y, w, h;
ecore_evas_request_geometry_get(ee, &x, &y, &w, &h);
ecore_evas_request_geometry_get
EAPI void ecore_evas_request_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
Gets the geometry which an Ecore_Evas was latest recently requested.
Definition ecore_evas.c:1396

Since
  1.1

## ecore_evas_focus_set()

EAPI void ecore_evas_focus_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Sets the Ecore_Evas window focus for the default seat.

Parameters

  ee | The Ecore_Evas
  on | `EINA_TRUE` for focus, `EINA_FALSE` to defocus.

This function focuses `ee` if `on` is `EINA_TRUE`, or unfocuses `ee` if `on` is `EINA_FALSE`.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_focus_device_set()

References ecore_evas_focus_device_set().

## ecore_evas_focus_get()

EAPI Eina_Bool ecore_evas_focus_get | ( | const Ecore_Evas * | ee | ) |

Queries whether the default seat has the Ecore_Evas focus.

Parameters

  ee | The Ecore_Evas to set

Returns
  `EINA_TRUE` if `ee` if focused, `EINA_FALSE` if not.

See also
  ecore_evas_focus_set()
  ecore_evas_focus_device_get()

References ecore_evas_focus_device_get().

## ecore_evas_focus_device_set()

EAPI void ecore_evas_focus_device_set | ( | Ecore_Evas * | ee,
|  | Eo * | seat,
|  | Eina_Bool | on )

Sets the Ecore_Evas windows focus for a given seat.

Parameters

  ee | The Ecore_Evas
  seat | An Efl_Input_Device that represents the seat or `NULL` for the default seat.
  on | `EINA_TRUE` for focus, `EINA_FALSE` to defocus.

This function focuses `ee` if `on` is `EINA_TRUE`, or unfocuses `ee` if `on` is `EINA_FALSE`.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_focus_device_get()

Since
  1.19

Referenced by ecore_evas_focus_set().

## ecore_evas_focus_device_get()

EAPI Eina_Bool ecore_evas_focus_device_get | ( | const Ecore_Evas * | ee,
|  | Eo * | seat )

Queries whether an Ecore_Evas' window is focused or not.

Parameters

  ee | The Ecore_Evas to set
  seat | An Efl_Input_Device that represents the seat or `NULL` for the default seat.

Returns
  `EINA_TRUE` if `ee` if focused, `EINA_FALSE` if not.

See also
  ecore_evas_focus_device_set()

Since
  1.19

References EINA_FALSE, eina_list_data_find(), EINA_TRUE, evas_default_device_get(), and EVAS_DEVICE_CLASS_SEAT.

Referenced by ecore_evas_focus_get().

## ecore_evas_iconified_set()

EAPI void ecore_evas_iconified_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Iconifies or uniconifies an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas
  on | `EINA_TRUE` to iconify, `EINA_FALSE` to uniconify.

This function iconifies `ee` if `on` is `EINA_TRUE`, or uniconifies `ee` if `on` is `EINA_FALSE`.

Note
  Iconify and minimize are synonyms.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_iconified_get()

EAPI Eina_Bool ecore_evas_iconified_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window is iconified or not.

Parameters

  ee | The Ecore_Evas to set

Returns
  `EINA_TRUE` if `ee` is iconified, `EINA_FALSE` if not.

Note
  Iconify and minimize are synonyms.

See also
  ecore_evas_iconified_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_borderless_set()

EAPI void ecore_evas_borderless_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Sets whether an Ecore_Evas' window is borderless or not.

Parameters

  ee | The Ecore_Evas
  on | `EINA_TRUE` for borderless, `EINA_FALSE` for bordered.

This function makes `ee` borderless if `on` is `EINA_TRUE`, or bordered if `on` is `EINA_FALSE`.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_borderless_get()

EAPI Eina_Bool ecore_evas_borderless_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window is borderless or not.

Parameters

  ee | The Ecore_Evas to set

Returns
  `EINA_TRUE` if `ee` is borderless, `EINA_FALSE` if not.

See also
  ecore_evas_borderless_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_fullscreen_set()

EAPI void ecore_evas_fullscreen_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Sets whether or not an Ecore_Evas' window is fullscreen.

Parameters

  ee | The Ecore_Evas
  on | `EINA_TRUE` fullscreen, `EINA_FALSE` not.

This function causes `ee` to be fullscreen if `on` is `EINA_TRUE`, or not if `on` is `EINA_FALSE`.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_fullscreen_get()

EAPI Eina_Bool ecore_evas_fullscreen_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window is fullscreen or not.

Parameters

  ee | The Ecore_Evas to set

Returns
  `EINA_TRUE` if `ee` is fullscreen, `EINA_FALSE` if not.

See also
  ecore_evas_fullscreen_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_window_group_set()

EAPI void ecore_evas_window_group_set | ( | Ecore_Evas * | ee,
|  | const Ecore_Evas * | ee_group )

Sets another window that this window is a group member of.

Parameters

  ee | The Ecore_Evas
  ee_group | The other group member

If `ee_group` is `NULL`, `ee` is removed from the group, otherwise it is added. Note that if you free the `ee_group` canvas before `ee`, then getting the group canvas with ecore_evas_window_group_get() will return an invalid handle.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.2

## ecore_evas_window_group_get()

EAPI const Ecore_Evas * ecore_evas_window_group_get | ( | const Ecore_Evas * | ee | ) |

Gets the canvas group set.

This returns the handle set by ecore_evas_window_group_set().

Parameters

  ee | The Ecore_Evas to set

Returns
  The Canvas group handle

See also
  ecore_evas_window_group_set()

Since
  1.2

## ecore_evas_aspect_set()

EAPI void ecore_evas_aspect_set | ( | Ecore_Evas * | ee,
|  | double | aspect )

Sets the aspect ratio of a canvas window.

Parameters

  ee | The Ecore_Evas
  aspect | The aspect ratio (width divided by height), or 0 to disable

This sets the desired aspect ratio of a canvas window

Warning
  Support for this depends on the underlying windowing system.

Since
  1.2

## ecore_evas_aspect_get()

EAPI double ecore_evas_aspect_get | ( | const Ecore_Evas * | ee | ) |

Gets the aspect ratio of a canvas window.

This returns the value set by ecore_evas_aspect_set().

Parameters

  ee | The Ecore_Evas to set

Returns
  The aspect ratio

See also
  ecore_evas_aspect_set()

Since
  1.2

## ecore_evas_urgent_set()

EAPI void ecore_evas_urgent_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | urgent )

Sets The urgent hint flag.

Parameters

  ee | The Ecore_Evas
  urgent | The urgent state flag

This sets the "urgent" state hint on a window so the desktop environment can highlight it somehow.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.2

## ecore_evas_urgent_get()

EAPI Eina_Bool ecore_evas_urgent_get | ( | const Ecore_Evas * | ee | ) |

Gets the urgent state on the canvas window.

This returns the value set by ecore_evas_urgent_set()

Parameters

  ee | The Ecore_Evas to set

Returns
  The urgent state set

See also
  ecore_evas_urgent_set()

Since
  1.2

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_modal_set()

EAPI void ecore_evas_modal_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | modal )

Sets the modal state flag on the canvas window.

Parameters

  ee | The Ecore_Evas
  modal | The modal hint flag

This hints if the window should be modal (eg if it is also transient for another window, the other window will maybe be denied focus by the desktop window manager).

Warning
  Support for this depends on the underlying windowing system.

Since
  1.2

## ecore_evas_modal_get()

EAPI Eina_Bool ecore_evas_modal_get | ( | const Ecore_Evas * | ee | ) |

Gets The modal flag.

This returns the value set by ecore_evas_modal_set().

Parameters

  ee | The Ecore_Evas to set

Returns
  The modal flag

See also
  ecore_evas_modal_set()

Since
  1.2

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_demand_attention_set()

EAPI void ecore_evas_demand_attention_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | demand )

Sets the "i demand attention" flag on a canvas window.

Parameters

  ee | The Ecore_Evas
  demand | The flag state to set

A window may demand attention now (eg you must enter a password before continuing), and so it may flag a window with this.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.2

## ecore_evas_demand_attention_get()

EAPI Eina_Bool ecore_evas_demand_attention_get | ( | const Ecore_Evas * | ee | ) |

Gets the "i demand attention" flag.

This returns the value set by ecore_evas_demand_attention_set().

Parameters

  ee | The Ecore_Evas to set

Returns
  The "i demand attention" flag

See also
  ecore_evas_demand_attention_set()

Since
  1.2

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_focus_skip_set()

EAPI void ecore_evas_focus_skip_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | skip )

Sets the "focus skip" flag.

Parameters

  ee | The Ecore_Evas
  skip | The "focus skip" state to set.

A window may not want to accept focus, be in the taskbar, pager etc. sometimes (example for a small notification window that hovers around a taskbar or panel, or hovers around a window until some activity dismisses it).

Warning
  Support for this depends on the underlying windowing system.

Since
  1.2

## ecore_evas_focus_skip_get()

EAPI Eina_Bool ecore_evas_focus_skip_get | ( | const Ecore_Evas * | ee | ) |

Gets the "focus skip" flag.

This returns the value set by ecore_evas_focus_skip_set().

Parameters

  ee | The Ecore_Evas to set

Returns
  The "focus skip" flag

See also
  ecore_evas_focus_skip_set()

Since
  1.2

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_ignore_events_set()

EAPI void ecore_evas_ignore_events_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | ignore )

Sets if this evas should ignore all events.

Parameters

  ee | The Ecore_Evas whose window's to ignore events.
  ignore | The Ecore_Evas new ignore state.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_ignore_events_get()

EAPI Eina_Bool ecore_evas_ignore_events_get | ( | const Ecore_Evas * | ee | ) |

Returns the ignore state of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas whose window's ignore events state is returned.

Returns
  The Ecore_Evas window's ignore state.

See also
  ecore_evas_ignore_events_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_visibility_get()

EAPI int ecore_evas_visibility_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window is visible or not.

Parameters

  ee | The Ecore_Evas to query.

Returns
  `1` if `ee` is visible, `0` if not.

See also
  ecore_evas_show()
  ecore_evas_hide()

## ecore_evas_layer_set()

EAPI void ecore_evas_layer_set | ( | Ecore_Evas * | ee,
|  | int | layer )

Sets the layer of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas
  layer | The layer to put `ee` on.

This function moves `ee` to the layer `layer`.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_lower()
  ecore_evas_raise()

## ecore_evas_layer_get()

EAPI int ecore_evas_layer_get | ( | const Ecore_Evas * | ee | ) |

Gets the layer of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to set

Returns
  The layer `ee's` window is on

See also
  ecore_evas_layer_set()
  ecore_evas_lower()
  ecore_evas_raise()

Referenced by elm_win_layer_get().

## ecore_evas_maximized_set()

EAPI void ecore_evas_maximized_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Maximizes (or unmaximizes) an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas
  on | `EINA_TRUE` to maximize, `EINA_FALSE` to unmaximize

This function maximizes `ee` if `on` is `EINA_TRUE`, or unmaximizes `ee` if `on` is `EINA_FALSE`.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_maximized_get()

EAPI Eina_Bool ecore_evas_maximized_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window is maximized or not.

Parameters

  ee | The Ecore_Evas to set

Returns
  `EINA_TRUE` if `ee` is maximized, `EINA_FALSE` if not.

See also
  ecore_evas_maximized_set()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_window_profile_supported_get()

EAPI Eina_Bool ecore_evas_window_profile_supported_get | ( | const Ecore_Evas * | ee | ) |

Queries if the underlying windowing system supports the window profile.

Parameters

  ee | The Ecore_Evas

Returns
  `EINA_TRUE` if the window profile is supported, `EINA_FALSE` otherwise.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

References EINA_FALSE, and EINA_TRUE.

Referenced by elm_win_profile_set().

## ecore_evas_window_profile_set()

EAPI void ecore_evas_window_profile_set | ( | Ecore_Evas * | ee,
|  | const char * | profile )

Sets the window profile.

Parameters

  ee | The Ecore_Evas to set
  profile | The string value of the window profile

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

Referenced by elm_win_profile_set().

## ecore_evas_window_profile_get()

EAPI const char * ecore_evas_window_profile_get | ( | const Ecore_Evas * | ee | ) |

Gets the window profile.

Parameters

  ee | The Ecore_Evas to get the window profile from.

Returns
  The string value of the window profile, or NULL if none exists

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

## ecore_evas_window_available_profiles_set()

EAPI void ecore_evas_window_available_profiles_set | ( | Ecore_Evas * | ee,
|  | const char ** | profiles,
|  | const unsigned int | count )

Sets the array of available window profiles.

Parameters

  ee | The Ecore_Evas to set
  profiles | The string array of available window profiles
  count | The number of members in profiles

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

## ecore_evas_window_available_profiles_get()

EAPI Eina_Bool ecore_evas_window_available_profiles_get | ( | Ecore_Evas * | ee,
|  | char *** | profiles,
|  | unsigned int * | count )

Gets the array of available window profiles.

Parameters

  ee | The Ecore_Evas to get available window profiles from.
  profiles | Where to return the string array of available window profiles
  count | Where to return the number of members in profiles

Returns
  `EINA_TRUE` if available window profiles exist, `EINA_FALSE` otherwise

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_wm_rotation_supported_get()

EAPI Eina_Bool ecore_evas_wm_rotation_supported_get | ( | const Ecore_Evas * | ee | ) |

Queries if the underlying windowing system supports the window manager rotation.

Parameters

  ee | The Ecore_Evas

Returns
  `EINA_TRUE` if the window manager rotation is supported, `EINA_FALSE` otherwise.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.9.0

References EINA_FALSE.

## ecore_evas_wm_rotation_preferred_rotation_set()

EAPI void ecore_evas_wm_rotation_preferred_rotation_set | ( | Ecore_Evas * | ee,
|  | int | rotation )

Sets the preferred rotation hint.

Parameters

  ee | The Ecore_Evas to set
  rotation | Value to set the preferred rotation hint

Warning
  Support for this depends on the underlying windowing system.

Since
  1.9.0

References EINA_FALSE, and EINA_TRUE.

Referenced by elm_win_wm_rotation_preferred_rotation_set().

## ecore_evas_wm_rotation_preferred_rotation_get()

EAPI int ecore_evas_wm_rotation_preferred_rotation_get | ( | const Ecore_Evas * | ee | ) |

Gets the preferred rotation hint.

Parameters

  ee | The Ecore_Evas to get the preferred rotation hint from.

Returns
  The preferred rotation hint, `-1` on failure.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.9.0

## ecore_evas_wm_rotation_available_rotations_set()

EAPI void ecore_evas_wm_rotation_available_rotations_set | ( | Ecore_Evas * | ee,
|  | const int * | rotations,
|  | unsigned int | count )

Sets the array of available window rotations.

Parameters

  ee | The Ecore_Evas to set
  rotations | The integer array of available window rotations
  count | The number of members in rotations

Warning
  Support for this depends on the underlying windowing system.

Since
  1.9.0

## ecore_evas_wm_rotation_available_rotations_get()

EAPI Eina_Bool ecore_evas_wm_rotation_available_rotations_get | ( | const Ecore_Evas * | ee,
|  | int ** | rotations,
|  | unsigned int * | count )

Gets the array of available window rotations.

Parameters

  ee | The Ecore_Evas to get available window rotations from.
  rotations | Where to return the integer array of available window rotations
  count | Where to return the number of members in rotations

Returns
  `EINA_TRUE` if available window rotations exist, `EINA_FALSE` otherwise

Warning
  Support for this depends on the underlying windowing system.

Since
  1.9.0

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_wm_rotation_manual_rotation_done_set()

EAPI void ecore_evas_wm_rotation_manual_rotation_done_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | set )

Sets manual rotation done mode of Ecore_Evas's window.

Parameters

  ee | The Ecore_Evas
  set | If true, the window manager will not rotate the Ecore_Evas's window until the rotation done event is received by ecore_evas_wm_rotation_manual_rotation_done. If false, the manual rotation mode is disabled.

Since
  1.9.0

Referenced by elm_win_wm_rotation_manual_rotation_done_set().

## ecore_evas_wm_rotation_manual_rotation_done_get()

EAPI Eina_Bool ecore_evas_wm_rotation_manual_rotation_done_get | ( | const Ecore_Evas * | ee | ) |

Gets manual rotation done mode of Ecore_Evas's window.

Parameters

  ee | The Ecore_Evas

Returns
  If true, the manual rotation done mode is enabled

Since
  1.9.0

References EINA_FALSE.

Referenced by elm_win_wm_rotation_manual_rotation_done_get().

## ecore_evas_wm_rotation_manual_rotation_done()

EAPI void ecore_evas_wm_rotation_manual_rotation_done | ( | Ecore_Evas * | ee | ) |

Sets rotation finish manually.

Parameters

  ee | The Ecore_Evas

Since
  1.9.0

Referenced by elm_win_wm_rotation_manual_rotation_done().

## ecore_evas_aux_hints_supported_get()

EAPI const Eina_List * ecore_evas_aux_hints_supported_get | ( | const Ecore_Evas * | ee | ) |

Gets the list of supported auxiliary hint strings.

Parameters

  ee | The Ecore_Evas

Returns
  List of supported auxiliary hint strings.

Note
  Do not change the returned list of its contents. Auxiliary hint strings are internal and should be considered constants, do not free or modify them.

Warning
  Support for this depends on the underlying windowing system.

The window auxiliary hint is the value which is used to decide which actions should be made available to the user by the window manager. If you want to set a specific hint on your window, then you should check whether it exists in the supported auxiliary hints that are registered in the root window by the window manager. Once you've added an auxiliary hint, you can get a new ID which is used to change value and delete hint. The window manager sends the response message to the application on receiving auxiliary hint change event. A list of auxiliary hints within the Ecore_Evas has this format: ID:HINT:VALUE,ID:HINT:VALUE,...

Since
  1.10.0

## ecore_evas_aux_hints_allowed_get()

EAPI Eina_List * ecore_evas_aux_hints_allowed_get | ( | const Ecore_Evas * | ee | ) |

Gets the list of allowed auxiliary hint IDs.

Parameters

  ee | The Ecore_Evas

Returns
  List of allowed auxiliary hint IDs.

Note
  This function is low level. Instead of using it directly, consider using the callback mechanism in Elementary such as "aux,hint,allowed".

Warning
  Support for this depends on the underlying windowing system.

Since
  1.10.0

References eina_list_append(), and EINA_LIST_FOREACH.

## ecore_evas_aux_hint_add()

EAPI int ecore_evas_aux_hint_add | ( | Ecore_Evas * | ee,
|  | const char * | hint,
|  | const char * | val )

Creates an auxiliary hint of the Ecore_Evas.

Parameters

  ee | The Ecore_Evas
  hint | The auxiliary hint string.
  val | The value string.

Returns
  The ID of created auxiliary hint, or `-1` on failure.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.10.0

References eina_list_append(), EINA_LIST_FOREACH, EINA_SAFETY_ON_NULL_RETURN_VAL, eina_strbuf_free(), eina_strbuf_string_get(), eina_stringshare_add(), and eina_stringshare_del().

## ecore_evas_aux_hint_del()

EAPI Eina_Bool ecore_evas_aux_hint_del | ( | Ecore_Evas * | ee,
|  | const int | id )

Deletes an auxiliary hint of the Ecore_Evas.

Parameters

  ee | The Ecore_Evas
  id | The ID of the auxiliary hint.

Returns
  `EINA_TRUE` if no error occurred, `EINA_FALSE` otherwise.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.10.0

References EINA_FALSE, EINA_LIST_FOREACH, eina_list_remove(), EINA_SAFETY_ON_NULL_RETURN_VAL, eina_strbuf_free(), eina_strbuf_string_get(), eina_stringshare_del(), and EINA_TRUE.

## ecore_evas_aux_hint_val_set()

EAPI Eina_Bool ecore_evas_aux_hint_val_set | ( | Ecore_Evas * | ee,
|  | const int | id,
|  | const char * | val )

Changes a value of the auxiliary hint.

Parameters

  ee | The Ecore_Evas
  id | The auxiliary hint ID.
  val | The value string to be set.

Returns
  `EINA_TRUE` if no error occurred, `EINA_FALSE` otherwise.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.10.0

References EINA_FALSE, EINA_LIST_FOREACH, EINA_SAFETY_ON_NULL_RETURN_VAL, eina_strbuf_free(), eina_strbuf_string_get(), eina_stringshare_add(), eina_stringshare_del(), and EINA_TRUE.

## ecore_evas_aux_hint_val_get()

EAPI const char * ecore_evas_aux_hint_val_get | ( | const Ecore_Evas * | ee,
|  | int | id )

Gets a value of the auxiliary hint.

Parameters

  ee | The Ecore_Evas
  id | The auxiliary hint ID.

Returns
  The string value of the auxiliary hint ID, or NULL if none exists

Warning
  Support for this depends on the underlying windowing system.

Since
  1.15

References EINA_LIST_FOREACH.

## ecore_evas_aux_hint_id_get()

EAPI int ecore_evas_aux_hint_id_get | ( | const Ecore_Evas * | ee,
|  | const char * | hint )

Gets a ID of the auxiliary hint string.

Parameters

  ee | The Ecore_Evas
  hint | The auxiliary hint string.

Returns
  The ID of the auxiliary hint string, or `-1` if none exists

Warning
  Support for this depends on the underlying windowing system.

Since
  1.15

References EINA_LIST_FOREACH.

## ecore_evas_msg_parent_send()

EAPI void ecore_evas_msg_parent_send | ( | Ecore_Evas * | ee,
|  | int | msg_domain,
|  | int | msg_id,
|  | void * | data,
|  | int | size )

Sends message to parent ecore.

Parameters

  ee | The Ecore_Evas to set
  msg_domain | The domain of message
  msg_id | The id of message
  data | The data of message
  size | The size of message data

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

See also
  ecore_evas_msg_send()
  ecore_evas_callback_msg_parent_handle_set()
  eecore_evas_callback_msg_handle_set()

This is a list of examples of these functions:

- ecore_evas_extn_socket_example
- ecore_evas_extn_plug_example

References DBG.

## ecore_evas_msg_send()

EAPI void ecore_evas_msg_send | ( | Ecore_Evas * | ee,
|  | int | msg_domain,
|  | int | msg_id,
|  | void * | data,
|  | int | size )

Sends message to child ecore.

Parameters

  ee | The Ecore_Evas to set
  msg_domain | The domain of message
  msg_id | The id of message
  data | The data of message
  size | The size of message data

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

See also
  ecore_evas_msg_parent_send()
  ecore_evas_callback_msg_parent_handle_set()
  eecore_evas_callback_msg_handle_set()

References DBG.

## ecore_evas_callback_msg_parent_handle_set()

EAPI void ecore_evas_callback_msg_parent_handle_set | ( | Ecore_Evas * | ee,
|  | void(* | func_parent_handle )(Ecore_Evas *ee, int msg_domain, int msg_id, void *data, int size) )

Sets a callback for parent Ecore_Evas message.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func_parent_handle | The handle to be called when message arrive.

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

See also
  ecore_evas_msg_parent_send()
  ecore_evas_msg_send()
  eecore_evas_callback_msg_handle_set()

References DBG.

## ecore_evas_callback_msg_handle_set()

EAPI void ecore_evas_callback_msg_handle_set | ( | Ecore_Evas * | ee,
|  | void(* | func_handle )(Ecore_Evas *ee, int msg_domain, int msg_id, void *data, int size) )

Sets a callback for child Ecore_Evas message.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func_handle | The handle to be called when message arrive

Warning
  Support for this depends on the underlying windowing system.

Since
  1.8.0

See also
  ecore_evas_msg_parent_send()
  ecore_evas_msg_send()
  ecore_evas_callback_msg_parent_handle_set()

References DBG.

## ecore_evas_move()

EAPI void ecore_evas_move | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y )

Moves an Ecore_Evas.

Parameters

  ee | The Ecore_Evas to move
  x | The x coordinate to move to
  y | The y coordinate to move to

This moves `ee` to the screen coordinates (`x`, `y`)

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_new()
  ecore_evas_resize()
  ecore_evas_move_resize()

## ecore_evas_resize()

EAPI void ecore_evas_resize | ( | Ecore_Evas * | ee,
|  | int | w,
|  | int | h )

Resizes an Ecore_Evas.

Parameters

  ee | The Ecore_Evas to move
  w | The w coordinate to resize to
  h | The h coordinate to resize to

This resizes `ee` to `w` x `h`.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_new()
  ecore_evas_move()
  ecore_evas_move_resize()

## ecore_evas_move_resize()

EAPI void ecore_evas_move_resize | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Moves and resizes an Ecore_Evas.

Parameters

  ee | The Ecore_Evas to move and resize
  x | The x coordinate to move to
  y | The y coordinate to move to
  w | The w coordinate to resize to
  h | The h coordinate to resize to

This moves `ee` to the screen coordinates (`x`, `y`) and resizes it to `w` x `h`.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_new()
  ecore_evas_move()
  ecore_evas_resize()

## ecore_evas_rotation_set()

EAPI void ecore_evas_rotation_set | ( | Ecore_Evas * | ee,
|  | int | rot )

Sets the rotation of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas
  rot | The angle (in degrees) of rotation

The allowed values of `rot` depend on the engine being used. Most only allow multiples of 90.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_rotation_with_resize_set()

References evas_damage_rectangle_add().

## ecore_evas_rotation_with_resize_set()

EAPI void ecore_evas_rotation_with_resize_set | ( | Ecore_Evas * | ee,
|  | int | rot )

Sets the rotation of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas
  rot | The angle (in degrees) of rotation.

Like ecore_evas_rotation_set(), but it also resizes the window's content so that it fits inside the current window geometry.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_rotation_set()

References evas_damage_rectangle_add().

## ecore_evas_rotation_get()

EAPI int ecore_evas_rotation_get | ( | const Ecore_Evas * | ee | ) |

Gets the rotation of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas

Returns
  The angle (in degrees) of rotation

See also
  ecore_evas_rotation_set()
  ecore_evas_rotation_with_resize_set()

## ecore_evas_raise()

EAPI void ecore_evas_raise | ( | Ecore_Evas * | ee | ) |

Raises an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to raise.

This functions raises the Ecore_Evas to the front.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_lower()
  ecore_evas_layer_set()

## ecore_evas_lower()

EAPI void ecore_evas_lower | ( | Ecore_Evas * | ee | ) |

Lowers an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to raise.

This functions lowers the Ecore_Evas to the back.

Warning
  Support for this depends on the underlying windowing system.

See also
  ecore_evas_raise()
  ecore_evas_layer_set()

## ecore_evas_title_set()

EAPI void ecore_evas_title_set | ( | Ecore_Evas * | ee,
|  | const char * | t )

Sets the title of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas whose title you wish to set.
  t | The title

This function sets the title of `ee` to `t`.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_title_get()

EAPI const char * ecore_evas_title_get | ( | const Ecore_Evas * | ee | ) |

Gets the title of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas whose title you wish to get.

Returns
  The title of `ee`.

See also
  ecore_evas_title_set()

## ecore_evas_name_class_set()

EAPI void ecore_evas_name_class_set | ( | Ecore_Evas * | ee,
|  | const char * | n,
|  | const char * | c )

Sets the name and class of an Ecore_Evas' window.

Parameters

  ee | the Ecore_Evas
  n | The name
  c | The class

This function sets the name of `ee` to `n`, and its class to `c`. The meaning of `name` and `class` depends on the underlying windowing system.

Warning
  Support for this depends on the underlying windowing system.

## ecore_evas_name_class_get()

EAPI void ecore_evas_name_class_get | ( | const Ecore_Evas * | ee,
|  | const char ** | n,
|  | const char ** | c )

Gets the name and class of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to query.
  n | A pointer to a string to place the name in.
  c | A pointer to a string to place the class in.

This function gets the name of `ee` into `n`, and its class into `c`.

See also
  ecore_evas_name_class_set()

## ecore_evas_window_get()

EAPI Ecore_Window ecore_evas_window_get | ( | const Ecore_Evas * | ee | ) |

Returns a pointer to the underlying window.

Parameters

  ee | The Ecore_Evas whose window is desired.

Returns
  A pointer to the underlying window.

Warning
  Support for this depends on the underlying windowing system.

Referenced by elm_win_window_id_get().

## ecore_evas_software_x11_new()

EAPI Ecore_Evas * ecore_evas_software_x11_new | ( | const char * | disp_name,
|  | Ecore_X_Window | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Creates Ecore_Evas using software x11.

Parameters

  disp_name | The name of the Ecore_Evas to be created.
  parent | The parent of the Ecore_Evas to be created.
  x | The X coordinate to be used.
  y | The Y coordinate to be used.
  w | The width of the Ecore_Evas to be created.
  h | The height of the Ecore_Evas to be created.

Returns
  A handle to the created Ecore_Evas.

Note
  If ecore is not compiled with support for x11 then nothing is done and NULL is returned.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_software_x11_window_get()

EAPI Ecore_X_Window ecore_evas_software_x11_window_get | ( | const Ecore_Evas * | ee | ) |

Gets the window from Ecore_Evas using software x11.

Parameters

  ee | The Ecore_Evas from which to get the window.

Returns
  The window of type Ecore_X_Window.

Note
  If ecore is not compiled with support for x11 or if `ee` was not created with ecore_evas_software_x11_new() then nothing is done and 0 is returned.

## ecore_evas_software_x11_direct_resize_set()

EAPI void ecore_evas_software_x11_direct_resize_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Sets the direct_resize of Ecore_Evas using software x11.

Parameters

  ee | The Ecore_Evas in which to set direct resize.
  on | Enables the resize of Ecore_Evas if equals `EINA_TRUE`, disables if equals `EINA_FALSE`.

Note
  If ecore is not compiled with support for x11 then nothing is done.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_software_x11_direct_resize_get()

EAPI Eina_Bool ecore_evas_software_x11_direct_resize_get | ( | const Ecore_Evas * | ee | ) |

Gets if the Ecore_Evas is being directly resized using software x11.

Parameters

  ee | The Ecore_Evas from which to get direct resize.

Returns
  `EINA_TRUE` if the resize was managed directly, otherwise return `EINA_FALSE`.

Note
  If ecore is not compiled with support for x11 then nothing is done and EINA_FALSE is returned.

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_software_x11_extra_event_window_add()

EAPI void ecore_evas_software_x11_extra_event_window_add | ( | Ecore_Evas * | ee,
|  | Ecore_X_Window | win )

Adds an extra window on Ecore_Evas using software x11.

Parameters

  ee | The Ecore_Evas for which to add the window.
  win | The window to be added to the Ecore_Evas.

Note
  If ecore is not compiled with support for x11 then nothing is done.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_software_x11_pixmap_new()

EAPI Ecore_Evas * ecore_evas_software_x11_pixmap_new | ( | const char * | disp_name,
|  | Ecore_X_Window | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Creates a new Ecore_Evas which does not contain an XWindow.

It will only contain an XPixmap to render to

Warning
  The XPixmap ID can change with every frame after it is rendered, so you should ALWAYS call ecore_evas_software_x11_pixmap_get when you need the current pixmap id.

Since
  1.8

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_software_x11_pixmap_get()

EAPI Ecore_X_Pixmap ecore_evas_software_x11_pixmap_get | ( | const Ecore_Evas * | ee | ) |

Returns the underlying Ecore_X_Pixmap used in the Ecore_Evas.

Parameters

  ee | The Ecore_Evas whose pixmap is desired.

Returns
  The underlying Ecore_X_Pixmap

Warning
  Support for this depends on the underlying windowing system.
  The XPixmap ID can change with every frame after it is rendered, so you should ALWAYS call ecore_evas_software_x11_pixmap_get when you need the current pixmap id.

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_x11_new()

EAPI Ecore_Evas * ecore_evas_gl_x11_new | ( | const char * | disp_name,
|  | Ecore_X_Window | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Creates Ecore_Evas using opengl x11.

Parameters

  disp_name | The name of the display of the Ecore_Evas to be created.
  parent | The parent of the Ecore_Evas to be created.
  x | The X coordinate to be used.
  y | The Y coordinate to be used.
  w | The width of the Ecore_Evas to be created.
  h | The height of the Ecore_Evas to be created.

Returns
  The new Ecore_Evas.

Note
  If ecore is not compiled with support for x11 then nothing is done and NULL is returned.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_x11_options_new()

EAPI Ecore_Evas * ecore_evas_gl_x11_options_new | ( | const char * | disp_name,
|  | Ecore_X_Window | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | const int * | opt )

Create Ecore_Evas using OpenGL X11, with options.

Parameters

  disp_name | The name of the display of the Ecore_Evas to be created.
  parent | The parent of the Ecore_Evas to be created.
  x | The X coordinate to be used.
  y | The Y coordinate to be used.
  w | The width of the Ecore_Evas to be created.
  h | The height of the Ecore_Evas to be created.
  opt | The options array (see above)

Returns
  The new Ecore_Evas.

Allows creation of an Ecore_Evas, similar to ecore_evas_gl_x11_new, except it permits passing in `opt`, a NULL-terminated C array of key/value pairs for various settings, as follows:

ECORE_EVAS_GL_X11_OPT_INDIRECT: Use indirect rendering [0,1] ECORE_EVAS_GL_X11_OPT_VSYNC: Use vsync [0,1] ECORE_EVAS_GL_X11_OPT_SWAP_MODE: Swap mode to assume (see Evas_Engine_Info_Gl_Swap_Mode) ECORE_EVAS_GL_X11_OPT_GL_DEPTH: depth_bits ECORE_EVAS_GL_X11_OPT_GL_STENCIL: stencil_bits ECORE_EVAS_GL_X11_OPT_GL_MSAA: msaa_bits

Note
  If ecore is not compiled with support for x11 then nothing is done and NULL is returned.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_x11_window_get()

EAPI Ecore_X_Window ecore_evas_gl_x11_window_get | ( | const Ecore_Evas * | ee | ) |

Gets the window from Ecore_Evas using opengl x11.

Parameters

  ee | The Ecore_Evas from which to get the window.

Returns
  The window of type Ecore_X_Window of Ecore_Evas.

Note
  If ecore is not compiled with support for x11 or if `ee` was not created with ecore_evas_gl_x11_new() then nothing is done and 0 is returned.

## ecore_evas_gl_x11_direct_resize_set()

EAPI void ecore_evas_gl_x11_direct_resize_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Sets direct_resize for Ecore_Evas using opengl x11.

Parameters

  ee | The Ecore_Evas in which to set direct resize.
  on | Enables the resize of Ecore_Evas if equals `EINA_TRUE`, disables if equals `EINA_FALSE`.

Note
  If ecore is not compiled with support for x11 then nothing is done.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_gl_x11_direct_resize_get()

EAPI Eina_Bool ecore_evas_gl_x11_direct_resize_get | ( | const Ecore_Evas * | ee | ) |

Gets if the Ecore_Evas is being directly resized using opengl x11.

Parameters

  ee | The Ecore_Evas from which to get direct resize.

Note
  If ecore is not compiled with support for x11 then nothing is done and EINA_FALSE is returned.

Returns
  `EINA_TRUE` if the resize was managed directly, otherwise return `EINA_FALSE`.

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_x11_extra_event_window_add()

EAPI void ecore_evas_gl_x11_extra_event_window_add | ( | Ecore_Evas * | ee,
|  | Ecore_X_Window | win )

Adds extra window on Ecore_Evas using opengl x11.

Parameters

  ee | The Ecore_Evas for which to add the window.
  win | The window to be added to the Ecore_Evas.

Note
  If ecore is not compiled with support for x11 then nothing is done.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_gl_x11_pre_post_swap_callback_set()

EAPI void ecore_evas_gl_x11_pre_post_swap_callback_set | ( | const Ecore_Evas * | ee,
|  | void * | data,
|  | void(* | pre_cb )(void *data, Evas *e),
|  | void(* | post_cb )(void *data, Evas *e) )

Sets the functions to be used before and after the swap callback.

Parameters

  ee | The Ecore_Evas for which to set the swap callback.
  data | The data for which to set the swap callback.
  pre_cb | The function to be called before the callback.
  post_cb | The function to be called after the callback.

Note
  If ecore is not compiled with support for x11 then nothing is done and the function is returned.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_gl_x11_pixmap_new()

EAPI Ecore_Evas * ecore_evas_gl_x11_pixmap_new | ( | const char * | disp_name,
|  | Ecore_X_Window | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Creates a new Ecore_Evas which does not contain an XWindow.

It will only contain an XPixmap to render to.

Warning
  The XPixmap ID can change with every frame after it is rendered, so you should ALWAYS call ecore_evas_software_x11_pixmap_get when you need the current pixmap id.

Since
  1.8

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_x11_pixmap_get()

EAPI Ecore_X_Pixmap ecore_evas_gl_x11_pixmap_get | ( | const Ecore_Evas * | ee | ) |

Returns the underlying Ecore_X_Pixmap used in the Ecore_Evas.

Parameters

  ee | The Ecore_Evas whose pixmap is desired.

Returns
  The underlying Ecore_X_Pixmap

Warning
  Support for this depends on the underlying windowing system.
  The XPixmap ID can change with every frame after it is rendered, so you should ALWAYS call ecore_evas_software_x11_pixmap_get when you need the current pixmap id.

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_fb_new()

EAPI Ecore_Evas * ecore_evas_fb_new | ( | const char * | disp_name,
|  | int | rotation,
|  | int | w,
|  | int | h )

Creates Ecore_Evas using fb backend.

Parameters

  disp_name | The name of the display to be used.
  rotation | The rotation to be used.
  w | The width of the Ecore_Evas to be created.
  h | The height of the Ecore_Evas to be created.

Returns
  The new Ecore_Evas.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_wayland_shm_new()

EAPI Ecore_Evas * ecore_evas_wayland_shm_new | ( | const char * | disp_name,
|  | unsigned int | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | Eina_Bool | frame )

Create an Ecore_Evas window using the wayland-shm engine.

Parameters

  disp_name | Name of the Wayland display to connect to.
  parent | ID of the parent window this Ecore_Evas window belongs to, or 0 if this is a top-level window.
  x | Horizontal position of the Ecore_Evas window.
  y | Vertical position of the Ecore_Evas window.
  w | Width of the Ecore_Evas window to be created.
  h | Height of the Ecore_Evas window to be created.
  frame | Deprecated. (Just pass EINA_FALSE.)

Returns
  Ecore_Evas instance or `NULL` if creation failed.

Wayland's Shared Memory (SHM) rendering model stores client-drawn data in system memory buffers for communication with the display server. The server then copies the buffer from system memory to the video output as appropriate. This routine constructs an Ecore_Evas window object that uses SHM buffers for communication using the Wayland protocol.

See also
  ecore_evas_new()
  ecore_evas_wayland_egl_new()

References ecore_evas_free(), eina_module_symbol_get(), EINA_SAFETY_ON_NULL_RETURN_VAL, and ERR.

## ecore_evas_wayland_egl_new()

EAPI Ecore_Evas * ecore_evas_wayland_egl_new | ( | const char * | disp_name,
|  | unsigned int | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h,
|  | Eina_Bool | frame )

Create an Ecore_Evas window using the wayland-egl engine.

Parameters

  disp_name | Name of the Wayland display to connect to.
  parent | ID of the parent window this Ecore_Evas window belongs to, or 0 if this is a top-level window.
  x | Horizontal position of the Ecore_Evas window.
  y | Vertical position of the Ecore_Evas window.
  w | Width of the Ecore_Evas window to be created.
  h | Height of the Ecore_Evas window to be created.
  frame | Deprecated. (Just pass EINA_FALSE.)

Returns
  Ecore_Evas instance or `NULL` if creation failed.

Under Wayland, clients can also set up rendering directly to graphics hardware memory via various rendering APIs such as OpenGL, OpenGL ES, etc.) thus skipping the need for server-side copying of graphics data to the display device, thus providing higher performance than SHM. This routine constructs an Ecore_Evas window object using the Embedded-system Graphics Library (EGL) interface for handling the context management and rendering synchronization.

See also
  ecore_evas_new()
  ecore_evas_wayland_shm_new()

References ecore_evas_free(), eina_module_symbol_get(), EINA_SAFETY_ON_NULL_RETURN_VAL, and ERR.

## ecore_evas_wayland_resize()

EAPI void ecore_evas_wayland_resize | ( | Ecore_Evas * | ee,
|  | int | location )

Begin resizing the Ecore_Evas window.

Parameters

  ee | The Ecore_Evas.
  location | The edge of the window from which the resize should start.

The location edge is an enum as defined by the XDG Shell protocol. See the zxdg_toplevel_v6_resize_edge enum definition for edge numbering.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_wayland_move()

EAPI void ecore_evas_wayland_move | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y )

Begin moving the Ecore_Evas window.

Parameters

  ee | The Ecore_Evas.
  x | (unused)
  y | (unused)

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_wayland_pointer_set()

EAPI void ecore_evas_wayland_pointer_set | ( | Ecore_Evas * | ee,
|  | int | hot_x,
|  | int | hot_y )

Set the pointer for the Ecore_Evas window.

Parameters

  ee | The Ecore_Evas.
  hot_x | X coordinate.
  hot_y | Y coordinate.

Note
  : This routine is unimplemented.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_wayland_type_set()

EAPI void ecore_evas_wayland_type_set | ( | Ecore_Evas * | ee,
|  | int | type )

Set the type of the Ecore_Evas window.

Enables setting the window as top level, menu, dnd, etc.

Parameters

  ee | The Ecore_Evas.
  type | The Ecore_Wl2_Window_Type to set on the window.

See also
  ecore_wl2_window_type_set()
  Ecore_Wl2_Window_Type

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_wayland_window_get()

EAPI Ecore_Wl_Window * ecore_evas_wayland_window_get | ( | const Ecore_Evas * | ee | ) |

Gets the window from Ecore_Evas using the wayland backend.

Parameters

  ee | The Ecore_Evas from which to get the window.

Returns
  The window of type Ecore_X_Window.

Note
  If ecore is not compiled with support for wayland or if `ee` was not created with ecore_evas_wayland_shm_new() or ecore_evas_wayland_egl_new() then nothing is done and NULL is returned.

## ecore_evas_wayland2_window_get()

EAPI Ecore_Wl2_Window * ecore_evas_wayland2_window_get | ( | const Ecore_Evas * | ee | ) |

Gets the window from Ecore_Evas using the wayland2 backend.

Parameters

  ee | The Ecore_Evas from which to get the window.

Returns
  The window of type Ecore_X_Window.

Note
  If ecore is not compiled with support for wayland or if `ee` was not created with ecore_evas_wayland_shm_new() or ecore_evas_wayland_egl_new() then nothing is done and NULL is returned.

Since
  1.17

## ecore_evas_cocoa_window_get()

EAPI Ecore_Cocoa_Window * ecore_evas_cocoa_window_get | ( | const Ecore_Evas * | ee | ) |

Gets the window from Ecore_Evas using the opengl_cocoa backend.

Parameters

  ee | The Ecore_Evas from which to get the window.

Returns
  The window of type Ecore_X_Window.

Note
  If ecore is not compiled with support for opengl_cocoa or if `ee` was not created with ecore_evas_cocoa_new() then nothing is done and NULL is returned.

Since
  1.17

## ecore_evas_drm_new()

EAPI Ecore_Evas * ecore_evas_drm_new | ( | const char * | device,
|  | unsigned int | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Create an Ecore_Evas window using the drm engine.

Parameters

  device | Name of the Wayland display to connect to.
  parent | (Unused)
  x | Horizontal position of the Ecore_Evas window.
  y | Vertical position of the Ecore_Evas window.
  w | Width of the Ecore_Evas window to be created.
  h | Height of the Ecore_Evas window to be created.

Returns
  Ecore_Evas instance or `NULL` if creation failed.

Creates an Ecore_Evas window using the Direct Rendering Manager (DRM) backend. DRM is a kernel-level module providing direct graphic hardware access, bypassing the GL stack entirely.

See also
  ecore_evas_new()
  ecore_evas_gl_drm_new()

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_drm_new()

EAPI Ecore_Evas * ecore_evas_gl_drm_new | ( | const char * | device,
|  | unsigned int | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Create an Ecore_Evas window using the drm engine with GL support.

Parameters

  device | Name of the Wayland display to connect to.
  parent | (Unused)
  x | Horizontal position of the Ecore_Evas window.
  y | Vertical position of the Ecore_Evas window.
  w | Width of the Ecore_Evas window to be created.
  h | Height of the Ecore_Evas window to be created.

Returns
  Ecore_Evas instance or `NULL` if creation failed.

This creates a drm backend backed Ecore_Evas window, that also includes gl support using libglapi.

See also
  ecore_evas_new()
  ecore_evas_drm_new()

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_buffer_new()

EAPI Ecore_Evas * ecore_evas_buffer_new | ( | int | w,
|  | int | h )

Creates a new `Ecore_Evas` canvas bound to the Evas buffer engine.

Since
  1.12

Parameters

  w | The width of the canvas, in pixels
  h | The height of the canvas, in pixels

Returns
  A new `Ecore_Evas` instance or `NULL`, on failure

This creates a new buffer canvas wrapper, with image data array bound to the ARGB format, 8 bits per pixel.

This function will allocate the needed pixels array with canonical `malloc()`. If you wish a custom function to allocate it, consider using ecore_evas_buffer_allocfunc_new(), instead.

Note
  This function actually is a wrapper on ecore_evas_buffer_allocfunc_new(), using the same w and h arguments and canonical `malloc()` and `free()` to the memory allocation and freeing functions. See that function's documentation for more details.

Examples
  ecore_evas_buffer_example_01.c.

References ecore_evas_buffer_allocfunc_new(), and EINA_TRUE.

Referenced by ethumb_dup(), and ethumb_new().

## ecore_evas_buffer_allocfunc_new()

EAPI Ecore_Evas * ecore_evas_buffer_allocfunc_new | ( | int | w,
|  | int | h,
|  | void *(* | alloc_func )(void *data, int size),
|  | void(* | free_func )(void *data, void *pix),
|  | const void * | data )

Creates a new `Ecore_Evas` canvas bound to the Evas buffer engine, giving custom allocation and freeing functions for the canvas memory region.

Parameters

  w | The width of the canvas, in canvas units
  h | The height of the canvas, in canvas units
  alloc_func | Function to be called to allocate the memory needed for the new buffer canvas. data will be passed the same value as the `data` of this function, while size will be passed `w` times `h` times `sizeof(int)`.
  free_func | Function to be called to free the memory used by the new buffer canvas. data will be passed the same value as the `data` of this function, while pix will be passed the canvas memory pointer.
  data | Custom data to be passed to the allocation and freeing functions

Returns
  A new `Ecore_Evas` instance or `NULL`, on failure

This creates a new buffer canvas wrapper, with image data array bound to the ARGB format, 8 bits per pixel.

This function is useful when one wants an `Ecore_Evas` buffer canvas with a custom allocation function, like one getting memory chunks from a memory pool, for example.

On any resizing of this `Ecore_Evas` buffer canvas, its image data will be freed, to be allocated again with the new size.

Note
  `w` and `h` sizes have to greater or equal to 1. Otherwise, they'll be interpreted as 1, exactly.

See also
  ecore_evas_buffer_new()

References ecore_evas_free(), ecore_time_get(), EINA_FALSE, EINA_SAFETY_ON_NULL_RETURN_VAL, EINA_SAFETY_ON_TRUE_RETURN_VAL, EINA_TRUE, ERR, evas_engine_info_get(), evas_engine_info_set(), evas_key_lock_add(), evas_key_modifier_add(), evas_output_method_set(), and evas_render_method_lookup().

Referenced by ecore_evas_buffer_new().

## ecore_evas_buffer_pixels_get()

EAPI const void * ecore_evas_buffer_pixels_get | ( | Ecore_Evas * | ee | ) |

Grabs a pointer to the actual pixels array of a given `Ecore_Evas` buffer canvas/window.

Parameters

  ee | An `Ecore_Evas` handle

Returns
  A pointer to the internal pixels array of `ee`

Besides returning a pointer to the actual pixel array of the given canvas, this call will force a rendering update on `ee` first.

A common use case for this call is to create an image object, from another canvas, to have as data `ee's` contents, thus snapshoting the canvas. For that case, one can also use the ecore_evas_object_image_new() helper function.

Examples
  ecore_evas_buffer_example_01.c.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_buffer_ecore_evas_parent_get()

EAPI Ecore_Evas * ecore_evas_buffer_ecore_evas_parent_get | ( | Ecore_Evas * | ee | ) |

Returns a pointer to the Ecore_Evas parent of the given Ecore_Evas.

Parameters

  ee | An `Ecore_Evas` handle

Returns
  A pointer to the Ecore_Evas parent.

A use case for the function is to determine if the buffer is used inside X11 or Wayland. Since the buffer engine doesn't give any indication on it, we need to retrieve information from the Ecore_Evas parent.

Since
  1.13

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_ews_new()

EAPI Ecore_Evas * ecore_evas_ews_new | ( | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Creates a new `Ecore_Evas` canvas bound to the Evas ews (Ecore + Evas Single Process Windowing System) engine.

EWS is a simple single process windowing system. The backing store is also an `Ecore_Evas` that can be setup with ecore_evas_ews_setup() and retrieved with ecore_evas_ews_ecore_evas_get(). It will allow window management using events prefixed with `ECORE_EVAS_EVENT_EWS_`.

The EWS windows (returned by this function or ecore_evas_new("ews"...)) will all be software buffer windows automatic rendered to the backing store.

Parameters

  x | Horizontal position of window, in pixels
  y | Vertical position of window, in pixels
  w | The width of the canvas, in pixels
  h | The height of the canvas, in pixels

Returns
  A new `Ecore_Evas` instance or `NULL`, on failure

See also
  ecore_evas_ews_setup()
  ecore_evas_ews_ecore_evas_get()

Since
  1.1

Deprecated
  -

Since
  1.26

References EINA_UNUSED.

## ecore_evas_ews_backing_store_get()

EAPI Evas_Object * ecore_evas_ews_backing_store_get | ( | const Ecore_Evas * | ee | ) |

Returns the backing store image object that represents the given window in EWS.

Parameters

  ee | The Ecore_Evas from which to get the backing store.

Returns
  The evas object of EWS backing store.

Note
  This should not be modified anyhow, but may be helpful to determine stacking and geometry of it for window managers that decorate windows.

See also
  ecore_evas_ews_manager_set()
  ecore_evas_ews_evas_get()

Since
  1.1

Deprecated
  -

Since
  1.26

References EINA_UNUSED.

## ecore_evas_ews_delete_request()

EAPI void ecore_evas_ews_delete_request | ( | Ecore_Evas * | ee | ) |

Calls the window to be deleted (freed), but can let user decide to forbid it by using ecore_evas_callback_delete_request_set().

Parameters

  ee | The Ecore_Evas for which window will be deleted.

Since
  1.1

Deprecated
  -

Since
  1.26

References EINA_UNUSED.

## ecore_evas_object_image_new()

EAPI Evas_Object * ecore_evas_object_image_new | ( | Ecore_Evas * | ee_target | ) |

Creates an Evas image object with image data bound to an own, internal `Ecore_Evas` canvas wrapper.

Parameters

  ee_target | `Ecore_Evas` to have the canvas receiving the new image object

Returns
  A handle to the new image object

This will create a special Evas image object. The image's pixel array will get bound to the same image data array of an internal buffer `Ecore_Evas` canvas. The user of this function is, then, supposed to grab that `Ecore_Evas` handle, with ecore_evas_object_ecore_evas_get(), and use its canvas to render whatever contents he/she wants, independently of the contents of the canvas owned by `ee_target`. Those contents will reflect on the canvas of `ee`, though, being exactly the image data of the object returned by this function.

This is a helper function for the scenario of one wanting to grab a buffer canvas' contents (with ecore_evas_buffer_pixels_get()) to be used on another canvas, for whatever reason. The most common goal of this setup is to save an image file with a whole canvas as contents, that cannot be achieved by using an image file within the target canvas.

Warning
  Always resize the returned image and its underlying `Ecore_Evas` handle accordingly. They must be kept with same sizes for things to work as expected. Also, you must issue `evas_object_image_size_set()` on the image with that same size. If the image is to be shown in a canvas bound to an engine different than the buffer one, then you must also set this image's fill properties accordingly.

Note
  The image returned will always be bound to the `EVAS_COLORSPACE_ARGB8888` colorspace, always.
  Use ecore_evas_object_evas_get() to grab the image's internal own canvas directly.
  If snapshoting this image's internal canvas, remember to flush its internal `Ecore_Evas` firstly, with ecore_evas_manual_render().

Examples
  ecore_evas_buffer_example_02.c.

References ecore_evas_free(), EINA_FALSE, EINA_SAFETY_ON_NULL_RETURN_VAL, EINA_SAFETY_ON_TRUE_RETURN_VAL, EINA_TRUE, ERR, EVAS_CALLBACK_FOCUS_IN, EVAS_CALLBACK_FOCUS_OUT, EVAS_CALLBACK_FREE, EVAS_CALLBACK_HIDE, EVAS_CALLBACK_KEY_DOWN, EVAS_CALLBACK_KEY_UP, EVAS_CALLBACK_MOUSE_DOWN, EVAS_CALLBACK_MOUSE_IN, EVAS_CALLBACK_MOUSE_MOVE, EVAS_CALLBACK_MOUSE_OUT, EVAS_CALLBACK_MOUSE_UP, EVAS_CALLBACK_MOUSE_WHEEL, EVAS_CALLBACK_MULTI_DOWN, EVAS_CALLBACK_MULTI_MOVE, EVAS_CALLBACK_MULTI_UP, EVAS_CALLBACK_RENDER_POST, EVAS_CALLBACK_SHOW, evas_data_attach_set(), evas_engine_info_get(), evas_engine_info_set(), evas_event_callback_add(), EVAS_IMAGE_CONTENT_HINT_DYNAMIC, evas_key_lock_add(), evas_key_modifier_add(), evas_new(), evas_object_data_set(), evas_object_event_callback_add(), evas_object_image_add(), evas_object_image_alpha_set(), evas_object_image_colorspace_set(), evas_object_image_content_hint_set(), evas_object_image_data_get(), evas_object_image_data_set(), evas_object_image_size_set(), evas_object_image_stride_get(), evas_output_method_set(), evas_output_size_set(), evas_output_viewport_set(), and evas_render_method_lookup().

Referenced by ethumb_dup(), and ethumb_new().

## ecore_evas_object_ecore_evas_get()

EAPI Ecore_Evas * ecore_evas_object_ecore_evas_get | ( | Evas_Object * | obj | ) |

Retrieve the internal `Ecore_Evas` handle of an image object created via ecore_evas_object_image_new().

Parameters

  obj | A handle to an image object created via ecore_evas_object_image_new()

Returns
  The underlying `Ecore_Evas` handle in `obj`

Referenced by ecore_evas_extn_plug_connect(), ecore_evas_extn_plug_object_data_lock(), ecore_evas_extn_plug_object_data_unlock(), ethumb_dup(), and ethumb_new().

## ecore_evas_object_evas_get()

EAPI Evas * ecore_evas_object_evas_get | ( | Evas_Object * | obj | ) |

Retrieve the canvas bound to the internal `Ecore_Evas` handle of an image object created via ecore_evas_object_image_new().

Parameters

  obj | A handle to an image object created via ecore_evas_object_image_new()

Returns
  A handle to `obj's` underlying `Ecore_Evas's` canvas

References ecore_evas_get().

Referenced by ethumb_dup(), and ethumb_new().

## ecore_evas_software_gdi_new()

EAPI Ecore_Evas * ecore_evas_software_gdi_new | ( | Ecore_Win32_Window * | parent,
|  | int | x,
|  | int | y,
|  | int | width,
|  | int | height )

Creates a new `Ecore_Evas` canvas bound to the Evas gdi (software) engine.

Parameters

  parent | ID of the parent window this Ecore_Evas window belongs to, or 0 if this is a top-level window.
  x | Horizontal position of window, in pixels.
  y | Vertical position of window, in pixels.
  width | The width of the canvas, in pixels.
  height | The height of the canvas, in pixels.

Returns
  A new `Ecore_Evas` instance, or `NULL` on failure.

The Graphics Device Interface (GDI) is a display API for Microsoft Win32 similar in concept to Xlib or Quartz, providing an abstraction layer for performing advanced drawing functionalities using software rendering.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_software_ddraw_new()

EAPI Ecore_Evas * ecore_evas_software_ddraw_new | ( | Ecore_Win32_Window * | parent,
|  | int | x,
|  | int | y,
|  | int | width,
|  | int | height )

Creates a new `Ecore_Evas` canvas bound to the Evas DirectDraw (software) engine.

Parameters

  parent | ID of the parent window this Ecore_Evas window belongs to, or 0 if this is a top-level window.
  x | Horizontal position of window, in pixels
  y | Vertical position of window, in pixels
  width | The width of the canvas, in pixels
  height | The height of the canvas, in pixels

Returns
  A new `Ecore_Evas` instance or `NULL` on failure

DirectDraw is an old Microsoft Win32 API for graphics rendering. This API uses the unaccelerated software-based rendering.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_win32_new()

EAPI Ecore_Evas * ecore_evas_gl_win32_new | ( | Ecore_Win32_Window * | parent,
|  | int | x,
|  | int | y,
|  | int | width,
|  | int | height )

Creates Ecore_Evas using Opengl ES On Windows.

Parameters

  parent | The parent of the Ecore_Evas to be created.
  x | The X coordinate to be used.
  y | The Y coordinate to be used.
  w | The width of the Ecore_Evas to be created.
  h | The height of the Ecore_Evas to be created.

Returns
  The new Ecore_Evas.

Note
  If ecore is not compiled with support for x11 then nothing is done and NULL is returned.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_sdl_new()

EAPI Ecore_Evas * ecore_evas_sdl_new | ( | const char * | name,
|  | int | w,
|  | int | h,
|  | int | fullscreen,
|  | int | hwsurface,
|  | int | noframe,
|  | int | alpha )

Creates a new `Ecore_Evas` canvas bound to the Evas SDL engine.

Parameters

  name | Device target name, defaults to "EFL SDL" if NULL.
  w | Width of the canvas, in pixels.
  h | Height of the canvas, in pixels.
  fullscreen | Set the fullscreen property for the window.
  hwsurface | Set the hardware surface property for the window.
  noframe | Set the noframe flag on the einfo.
  alpha | Set alpha for the Ecore_Evas window.

Returns
  A new `Ecore_Evas` instance, or `NULL` on failure.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_gl_sdl_new()

EAPI Ecore_Evas * ecore_evas_gl_sdl_new | ( | const char * | name,
|  | int | w,
|  | int | h,
|  | int | fullscreen,
|  | int | noframe )

Creates a new `Ecore_Evas` canvas bound to the Evas SDL + gl engine.

Parameters

  name | Device target name, defaults to "EFL SDL" if NULL.
  w | Width of the canvas, in pixels.
  h | Height of the canvas, in pixels.
  fullscreen | Set the fullscreen property for the window.
  noframe | Set the noframe flag on the einfo.

Returns
  A new `Ecore_Evas` instance or `NULL` on failure

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_cocoa_new()

EAPI Ecore_Evas * ecore_evas_cocoa_new | ( | Ecore_Cocoa_Window * | parent,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Creates a new `Ecore_Evas` canvas bound to the Evas Cocoa engine.

Parameters

  parent | ID of the parent window this Ecore_Evas window belongs to, or 0 if this is a top-level window.
  x | Horizontal position of window, in pixels
  y | Vertical position of window, in pixels
  w | Width of the canvas, in pixels.
  h | Height of the canvas, in pixels.

The cocoa backend is used for MacOS based systems.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_psl1ght_new()

EAPI Ecore_Evas * ecore_evas_psl1ght_new | ( | const char * | name,
|  | int | w,
|  | int | h )

Creates a new `Ecore_Evas` canvas bound to the Evas psl1ght engine.

Parameters

  name | Deprecated.
  w | Width of the canvas, in pixels.
  h | Height of the canvas, in pixels.

The psl1ght backend is used for the PS3 GameOS.

References ecore_evas_free(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_engine_name_get()

EAPI const char * ecore_evas_engine_name_get | ( | const Ecore_Evas * | ee | ) |

Gets the engine name used by this Ecore_Evas(window).

Parameters

  ee | Ecore_Evas whose engine's name is desired

Returns
  A string that can(usually) be used in ecore_evas_new()

See also
  ecore_evas_free()

Referenced by elm_win_win32_window_get().

## ecore_evas_ecore_evas_get()

EAPI Ecore_Evas * ecore_evas_ecore_evas_get | ( | const Evas * | e | ) |

Returns the Ecore_Evas for this Evas.

Parameters

  e | The Evas to get the Ecore_Evas from

Returns
  The Ecore_Evas that holds this Evas, or `NULL` if not held by one.

Warning
  Only use on Evas' created with ecore evas!

References evas_data_attach_get().

Referenced by elm_cnp_clipboard_selection_has_owner(), elm_cnp_selection_get(), elm_cnp_selection_set(), elm_object_cnp_selection_clear(), elm_transit_go(), elm_win_cocoa_window_get(), elm_win_win32_window_get(), elm_win_window_id_get(), and elm_win_wl_window_get().

## ecore_evas_free()

EAPI void ecore_evas_free | ( | Ecore_Evas * | ee | ) |

Frees an Ecore_Evas.

Parameters

  ee | The Ecore_Evas to free

This frees up any memory used by the Ecore_Evas.

Referenced by ecore_evas_buffer_allocfunc_new(), ecore_evas_cocoa_new(), ecore_evas_drm_new(), ecore_evas_extn_socket_new(), ecore_evas_fb_new(), ecore_evas_gl_drm_new(), ecore_evas_gl_sdl_new(), ecore_evas_gl_win32_new(), ecore_evas_gl_x11_new(), ecore_evas_gl_x11_options_new(), ecore_evas_gl_x11_pixmap_new(), ecore_evas_object_image_new(), ecore_evas_psl1ght_new(), ecore_evas_sdl_new(), ecore_evas_software_ddraw_new(), ecore_evas_software_gdi_new(), ecore_evas_software_x11_new(), ecore_evas_software_x11_pixmap_new(), ecore_evas_wayland_egl_new(), ecore_evas_wayland_shm_new(), ethumb_dup(), ethumb_free(), and ethumb_new().

## ecore_evas_data_get()

EAPI void * ecore_evas_data_get | ( | const Ecore_Evas * | ee,
|  | const char * | key )

Retrieves user data associated with an Ecore_Evas.

Parameters

  ee | The Ecore_Evas to retrieve the user data from.
  key | The key which the user data to be retrieved is associated with.

Returns
  `NULL` on error or no data found, A pointer to the user data on success.

This function retrieves user specific data that has been stored within an Ecore_Evas structure with ecore_evas_data_set().

See also
  ecore_evas_data_set()

References eina_hash_find().

## ecore_evas_data_set()

EAPI void ecore_evas_data_set | ( | Ecore_Evas * | ee,
|  | const char * | key,
|  | const void * | data )

Stores user data in an Ecore_Evas structure.

Parameters

  ee | The Ecore_Evas to store the user data in.
  key | A unique string to associate the user data against. Cannot be NULL.
  data | A pointer to the user data to store.

This function associates the `data` with a `key` which is stored by the Ecore_Evas `ee`. Be aware that a call to ecore_evas_free() will not free any memory for the associated user data, this is the responsibility of the caller.

See also
  ecore_evas_callback_pre_free_set()
  ecore_evas_free()
  ecore_evas_data_get()

References eina_hash_add(), eina_hash_del(), and eina_hash_string_superfast_new().

## ecore_evas_callback_resize_set()

EAPI void ecore_evas_callback_resize_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas resize events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` is resized.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_move_set()

EAPI void ecore_evas_callback_move_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas move events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` is moved.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_show_set()

EAPI void ecore_evas_callback_show_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas show events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` is shown.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_hide_set()

EAPI void ecore_evas_callback_hide_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas hide events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` is hidden.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_delete_request_set()

EAPI void ecore_evas_callback_delete_request_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas delete request events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` gets a delete request.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_destroy_set()

EAPI void ecore_evas_callback_destroy_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas destroy events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` is destroyed.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_focus_in_set()

EAPI void ecore_evas_callback_focus_in_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas focus in events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` gets focus.

Warning
  If and when this function is called depends on the underlying windowing system.

Note
  This function only reports focus in events for the default seat!

See also
  ecore_evas_callback_focus_device_in_set()

## ecore_evas_callback_focus_out_set()

EAPI void ecore_evas_callback_focus_out_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas focus out events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` loses focus.

Warning
  If and when this function is called depends on the underlying windowing system.

Note
  This function only reports focus in events for the default seat!

See also
  ecore_evas_callback_focus_device_out_set()

## ecore_evas_callback_focus_device_in_set()

EAPI void ecore_evas_callback_focus_device_in_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Focus_Device_Event_Cb | func )

Sets a callback for Ecore_Evas focus in events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` gets focus.

Warning
  If and when this function is called depends on the underlying windowing system.

See also
  ecore_evas_callback_focus_device_out_set()

Since
  1.19

## ecore_evas_callback_focus_device_out_set()

EAPI void ecore_evas_callback_focus_device_out_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Focus_Device_Event_Cb | func )

Sets a callback for Ecore_Evas focus out events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` loses focus.

Warning
  If and when this function is called depends on the underlying windowing system.

See also
  ecore_evas_callback_focus_device_in_set()

Since
  1.19

## ecore_evas_callback_sticky_set()

EAPI void ecore_evas_callback_sticky_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas sticky events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` becomes sticky.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_unsticky_set()

EAPI void ecore_evas_callback_unsticky_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas un-sticky events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` becomes un-sticky.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_device_mouse_in_set()

EAPI void ecore_evas_callback_device_mouse_in_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Mouse_IO_Cb | func )

Sets a callback for Ecore_Evas mouse in events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever the mouse enters `ee`.

Warning
  If and when this function is called depends on the underlying windowing system.

Since
  1.19

## ecore_evas_callback_device_mouse_out_set()

EAPI void ecore_evas_callback_device_mouse_out_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Mouse_IO_Cb | func )

Sets a callback for Ecore_Evas mouse out events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever the mouse leaves `ee`.

Warning
  If and when this function is called depends on the underlying windowing system.

Since
  1.19

## ecore_evas_callback_mouse_in_set()

EAPI void ecore_evas_callback_mouse_in_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas mouse in events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever the mouse enters `ee`.

Note
  the `func` will only report events for the default mouse.

Warning
  If and when this function is called depends on the underlying windowing system.

See also
  ecore_evas_callback_device_mouse_in_set

## ecore_evas_callback_mouse_out_set()

EAPI void ecore_evas_callback_mouse_out_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas mouse out events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever the mouse leaves `ee`.

Note
  the `func` will only report events for the default mouse.

Warning
  If and when this function is called depends on the underlying windowing system.

See also
  ecore_evas_callback_device_mouse_out_set

## ecore_evas_callback_pre_render_set()

EAPI void ecore_evas_callback_pre_render_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas pre-render events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called just before the evas in `ee` is rendered.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_post_render_set()

EAPI void ecore_evas_callback_post_render_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas mouse post-render events.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called just after the evas in `ee` is rendered.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_pre_free_set()

EAPI void ecore_evas_callback_pre_free_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas pre-free event.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called just before the instance `ee` is freed.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_callback_state_change_set()

EAPI void ecore_evas_callback_state_change_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Event_Cb | func )

Sets a callback for Ecore_Evas state changes.

Parameters

  ee | The Ecore_Evas to set callbacks on
  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever `ee` changes state.

Warning
  If and when this function is called depends on the underlying windowing system.

Since
  1.2

## ecore_evas_get()

EAPI Evas * ecore_evas_get | ( | const Ecore_Evas * | ee | ) |

Gets an Ecore_Evas's Evas.

Parameters

  ee | The Ecore_Evas whose Evas you wish to get

Returns
  The Evas contained within `ee`.

Referenced by ecore_evas_object_evas_get(), ethumb_dup(), and ethumb_new().

## ecore_evas_managed_move()

EAPI void ecore_evas_managed_move | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y )

Provides Managed move co-ordinates for an Ecore_Evas.

Parameters

  ee | The Ecore_Evas to move
  x | The x coordinate to set as the managed location
  y | The y coordinate to set as the managed location

This sets the managed geometry position of the `ee` to (`x`, `y`)

## ecore_evas_shaped_set()

EAPI void ecore_evas_shaped_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | shaped )

Sets whether an Ecore_Evas is shaped or not.

Parameters

  ee | The Ecore_Evas to shape.
  shaped | `EINA_TRUE` to shape, `EINA_FALSE` to not.

This function allows one to make an Ecore_Evas shaped to the contents of the evas. If `shaped` is `EINA_TRUE`, `ee` will be transparent in parts of the evas that contain no objects. If `shaped` is `EINA_FALSE`, then `ee` will be rectangular, and parts with no data will show random framebuffer artifacting. For non-shaped Ecore_Evases, it is recommended to cover the entire evas with a background object.

## ecore_evas_shaped_get()

EAPI Eina_Bool ecore_evas_shaped_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas is shaped or not.

Parameters

  ee | The Ecore_Evas to query.

Returns
  `EINA_TRUE` if shaped, `EINA_FALSE` if not.

References EINA_FALSE, and EINA_TRUE.

Referenced by elm_win_shaped_get().

## ecore_evas_show()

EAPI void ecore_evas_show | ( | Ecore_Evas * | ee | ) |

Shows an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to show.

This function makes `ee` visible.

## ecore_evas_hide()

EAPI void ecore_evas_hide | ( | Ecore_Evas * | ee | ) |

Hides an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to hide.

This function makes `ee` hidden(not visible).

## ecore_evas_activate()

EAPI void ecore_evas_activate | ( | Ecore_Evas * | ee | ) |

Activates (set focus to, via the window manager) an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas to activate.

This functions activates the Ecore_Evas.

## ecore_evas_size_min_set()

EAPI void ecore_evas_size_min_set | ( | Ecore_Evas * | ee,
|  | int | w,
|  | int | h )

Sets the minimum size of a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | The minimum width
  h | The minimum height

This function sets the minimum size of `ee` to be `w` x `h`. One won't be able to resize that window to dimensions smaller than the ones set.

Note
  When base sizes are set, via ecore_evas_size_base_set(), they'll be used to calculate a window's minimum size, instead of those set by this function.

See also
  ecore_evas_size_min_get()

## ecore_evas_size_min_get()

EAPI void ecore_evas_size_min_get | ( | const Ecore_Evas * | ee,
|  | int * | w,
|  | int * | h )

Gets the minimum size set for a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | A pointer to an int to place the minimum width in.
  h | A pointer to an int to place the minimum height in.

Note
  Use `NULL` pointers on the size components you're not interested in: they'll be ignored by the function.

See also
  ecore_evas_size_min_set() for more details

## ecore_evas_size_max_set()

EAPI void ecore_evas_size_max_set | ( | Ecore_Evas * | ee,
|  | int | w,
|  | int | h )

Sets the maximum size of a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | The maximum width
  h | The maximum height

This function sets the maximum size of `ee` to be `w` x `h`. One won't be able to resize that window to dimensions bigger than the ones set.

See also
  ecore_evas_size_max_get()

## ecore_evas_size_max_get()

EAPI void ecore_evas_size_max_get | ( | const Ecore_Evas * | ee,
|  | int * | w,
|  | int * | h )

Gets the maximum size set for a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | A pointer to an int to place the maximum width in.
  h | A pointer to an int to place the maximum height in.

Note
  Use `NULL` pointers on the size components you're not interested in: they'll be ignored by the function.

See also
  ecore_evas_size_max_set() for more details

## ecore_evas_size_base_set()

EAPI void ecore_evas_size_base_set | ( | Ecore_Evas * | ee,
|  | int | w,
|  | int | h )

Sets the base size for a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | The base width
  h | The base height

This function sets the base size of `ee` to be `w` x `h`. When base sizes are set, they'll be used to calculate a window's minimum size, instead of those set by ecore_evas_size_min_get().

See also
  ecore_evas_size_base_get()

## ecore_evas_size_base_get()

EAPI void ecore_evas_size_base_get | ( | const Ecore_Evas * | ee,
|  | int * | w,
|  | int * | h )

Gets the base size set for a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | A pointer to an int to place the base width in.
  h | A pointer to an int to place the base height in.

Note
  Use `NULL` pointers on the size components you're not interested in: they'll be ignored by the function.

See also
  ecore_evas_size_base_set() for more details

## ecore_evas_size_step_set()

EAPI void ecore_evas_size_step_set | ( | Ecore_Evas * | ee,
|  | int | w,
|  | int | h )

Sets the "size step" for a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | The step width
  h | The step height

This function sets the size steps of `ee` to be `w` x `h`. This limits the size of this `Ecore_Evas` window to be always an integer multiple of the step size, for each axis.

## ecore_evas_size_step_get()

EAPI void ecore_evas_size_step_get | ( | const Ecore_Evas * | ee,
|  | int * | w,
|  | int * | h )

Gets the "size step" set for a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` window's handle
  w | A pointer to an int to place the step width in.
  h | A pointer to an int to place the step height in.

Note
  Use `NULL` pointers on the size components you're not interested in: they'll be ignored by the function.

See also
  ecore_evas_size_base_set() for more details

## ecore_evas_cursor_set()

EAPI void ecore_evas_cursor_set | ( | Ecore_Evas * | ee,
|  | const char * | file,
|  | int | layer,
|  | int | hot_x,
|  | int | hot_y )

Sets the cursor for the default pointer device.

Parameters

  ee | The Ecore_Evas
  file | The path to an image file for the cursor.
  layer | The layer in which the cursor will appear.
  hot_x | The x coordinate of the cursor's hot spot.
  hot_y | The y coordinate of the cursor's hot spot.

This function makes the mouse cursor over `ee` be the image specified by `file`. The actual point within the image that the mouse is at is specified by `hot_x` and `hot_y`, which are coordinates with respect to the top left corner of the cursor image. Cursor object will be deleted with Ecore_Evas.

Note
  This function creates an object from the image and uses ecore_evas_object_cursor_set().

Warning
  Previously set cursor will be deleted.

See also
  ecore_evas_object_cursor_set()
  ecore_evas_cursor_unset()

References evas_object_image_add(), evas_object_image_file_set(), evas_object_image_fill_set(), evas_object_image_size_get(), and evas_object_resize().

## ecore_evas_cursor_get()

EAPI void ecore_evas_cursor_get | ( | const Ecore_Evas * | ee,
|  | Evas_Object ** | obj,
|  | int * | layer,
|  | int * | hot_x,
|  | int * | hot_y )

Gets information about an Ecore_Evas' default pointer device.

Parameters

  ee | The Ecore_Evas to get
  obj | A pointer to an Evas_Object to place the cursor Evas_Object.
  layer | A pointer to an int to place the cursor's layer in.
  hot_x | A pointer to an int to place the cursor's hot_x coordinate in.
  hot_y | A pointer to an int to place the cursor's hot_y coordinate in.

This function queries information about an Ecore_Evas' cursor.

See also
  ecore_evas_cursor_set()
  ecore_evas_object_cursor_set()
  ecore_evas_cursor_unset()

References ecore_evas_cursor_device_get().

## ecore_evas_object_cursor_set()

EAPI void ecore_evas_object_cursor_set | ( | Ecore_Evas * | ee,
|  | Evas_Object * | obj,
|  | int | layer,
|  | int | hot_x,
|  | int | hot_y )

Sets the cursor for the default pointer device.

Parameters

  ee | The Ecore_Evas
  obj | The Evas_Object which will be the cursor.
  layer | The layer in which the cursor will appear.
  hot_x | The x coordinate of the cursor's hot spot.
  hot_y | The y coordinate of the cursor's hot spot.

This function makes the mouse cursor over `ee` be the object specified by `obj`. The actual point within the object that the mouse is at is specified by `hot_x` and `hot_y`, which are coordinates with respect to the top left corner of the cursor object. Cursor object will be deleted with the Ecore_Evas.

See also
  ecore_evas_cursor_set()

Referenced by elm_object_cursor_unset().

## ecore_evas_cursor_unset()

EAPI Evas_Object * ecore_evas_cursor_unset | ( | Ecore_Evas * | ee | ) |

Unsets the cursor of the default pointer device.

Parameters

  ee | The Ecore_Evas to unset the cursor.

This function unsets the cursor from the Ecore_Evas, and returns the cursor object. If the cursor was set from ecore_evas_cursor_set(), this function returns the image. In this case, the image should be deleted when it is no longer needed.

See also
  ecore_evas_cursor_set()
  ecore_evas_object_cursor_set()

Since
  1.11

References ecore_evas_cursor_device_unset().

## ecore_evas_cursor_device_unset()

EAPI Evas_Object * ecore_evas_cursor_device_unset | ( | Ecore_Evas * | ee,
|  | Efl_Input_Device * | pointer )

Unsets the cursor of the specified pointer device.

Parameters

  ee | The Ecore_Evas to unset the cursor.
  pointer | A pointer device to set the cursor. Use `NULL` for the default.

This function unsets the cursor from the Ecore_Evas, and returns the cursor object. If the cursor was set from ecore_evas_cursor_set(), this function returns the image. In this case, the image should be deleted when it is no longer needed.

See also
  ecore_evas_cursor_device_set()
  ecore_evas_object_cursor_device_set()

Since
  1.20

References eina_hash_find(), ERR, EVAS_CALLBACK_DEL, evas_default_device_get(), EVAS_DEVICE_CLASS_SEAT, and evas_object_hide().

Referenced by ecore_evas_cursor_unset().

## ecore_evas_object_cursor_device_set()

EAPI void ecore_evas_object_cursor_device_set | ( | Ecore_Evas * | ee,
|  | Efl_Input_Device * | pointer,
|  | Evas_Object * | obj,
|  | int | layer,
|  | int | hot_x,
|  | int | hot_y )

Sets the cursor of an Ecore_Evas specified pointer device.

Parameters

  ee | The Ecore_Evas
  pointer | A pointer device to set the cursor. Use `NULL` for the default.
  obj | The Evas_Object which will be the cursor.
  layer | The layer in which the cursor will appear.
  hot_x | The x coordinate of the cursor's hot spot.
  hot_y | The y coordinate of the cursor's hot spot.

This function makes the mouse cursor over `ee` be the object specified by `obj`. The actual point within the object that the mouse is at is specified by `hot_x` and `hot_y`, which are coordinates with respect to the top left corner of the cursor object. Cursor object will be deleted with the Ecore_Evas.

Since
  1.19

## ecore_evas_cursor_device_get()

EAPI Eina_Bool ecore_evas_cursor_device_get | ( | const Ecore_Evas * | ee,
|  | Efl_Input_Device * | pointer,
|  | Evas_Object ** | obj,
|  | int * | layer,
|  | int * | hot_x,
|  | int * | hot_y )

Gets information about an Ecore_Evas' specified pointer device.

Parameters

  ee | The Ecore_Evas
  pointer | A pointer device to set the cursor. Use `NULL` for the default.
  obj | A pointer to an Evas_Object to place the cursor Evas_Object.
  layer | A pointer to an int to place the cursor's layer in.
  hot_x | A pointer to an int to place the cursor's hot_x coordinate in.
  hot_y | A pointer to an int to place the cursor's hot_y coordinate in.

This function queries information about an Ecore_Evas' cursor.

See also
  ecore_evas_cursor_device_set()

Since
  1.19

References EINA_FALSE, eina_hash_find(), EINA_TRUE, ERR, evas_default_device_get(), and EVAS_DEVICE_CLASS_SEAT.

Referenced by ecore_evas_cursor_get().

## ecore_evas_override_set()

EAPI void ecore_evas_override_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | on )

Tells the WM whether or not to ignore an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas.
  on | `EINA_TRUE` to ignore, `EINA_FALSE` to not.

This function causes the window manager to ignore `ee` if `on` is `EINA_TRUE`, or not ignore `ee` if `on` is `EINA_FALSE`.

## ecore_evas_override_get()

EAPI Eina_Bool ecore_evas_override_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window is overridden or not.

Parameters

  ee | The Ecore_Evas to set.

Returns
  `EINA_TRUE` if `ee` is overridden, `EINA_FALSE` if not.

References EINA_FALSE, and EINA_TRUE.

Referenced by elm_win_override_get(), and elm_win_withdrawn_get().

## ecore_evas_avoid_damage_set()

EAPI void ecore_evas_avoid_damage_set | ( | Ecore_Evas * | ee,
|  | Ecore_Evas_Avoid_Damage_Type | on )

Sets whether or not an Ecore_Evas' window should avoid damage.

Parameters

  ee | The Ecore_Evas
  on | The type of the damage management

This option causes updates of the Ecore_Evas to be done on a pixmap, and then copied to the window, or the pixmap used directly on the window, depending on the setting. Possible options are:

- ECORE_EVAS_AVOID_DAMAGE_NONE - every expose event triggers a new damage and consequently render of the affected area. The rendering of things happens directly on the window;

- ECORE_EVAS_AVOID_DAMAGE_EXPOSE - there's a pixmap where everything is rendered into, and then copied to the window. On expose events, there's no need to render things again, just copy the exposed region to the window;

- ECORE_EVAS_AVOID_DAMAGE_BUILT_IN - there's the same pixmap as the previous one, but it is set as a "background pixmap" of the window. The rendered things appear directly on the window, with no need to copy anything, but would stay stored on the pixmap, so there's no need to render things again on expose events. This option can be faster than the previous one, but may lead to artifacts during resize of the window.

## ecore_evas_avoid_damage_get()

EAPI Ecore_Evas_Avoid_Damage_Type ecore_evas_avoid_damage_get | ( | const Ecore_Evas * | ee | ) |

Queries whether an Ecore_Evas' window avoids damage or not.

Parameters

  ee | The Ecore_Evas to set

Returns
  The type of the damage management

References ECORE_EVAS_AVOID_DAMAGE_NONE.

## ecore_evas_withdrawn_set()

EAPI void ecore_evas_withdrawn_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | withdrawn )

Sets the withdrawn state of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas whose window's withdrawn state is set.
  withdrawn | The Ecore_Evas window's new withdrawn state.

## ecore_evas_withdrawn_get()

EAPI Eina_Bool ecore_evas_withdrawn_get | ( | const Ecore_Evas * | ee | ) |

Returns the withdrawn state of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas whose window's withdrawn state is returned.

Returns
  The Ecore_Evas window's withdrawn state.

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_sticky_set()

EAPI void ecore_evas_sticky_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | sticky )

Sets the sticky state of an Ecore_Evas window.

Parameters

  ee | The Ecore_Evas whose window's sticky state is set.
  sticky | The Ecore_Evas window's new sticky state.

## ecore_evas_sticky_get()

EAPI Eina_Bool ecore_evas_sticky_get | ( | const Ecore_Evas * | ee | ) |

Returns the sticky state of an Ecore_Evas' window.

Parameters

  ee | The Ecore_Evas whose window's sticky state is returned.

Returns
  The Ecore_Evas window's sticky state.

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_manual_render_set()

EAPI void ecore_evas_manual_render_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | manual_render )

Enables/disables manual render.

Parameters

  ee | An `Ecore_Evas` handle
  manual_render | Enable/disable manual render. `EINA_TRUE` to enable manual render, `EINA_FALSE` to disable manual render. `EINA_FALSE` by default

If `manual_render` is true, default ecore_evas render routine would be disabled and rendering will be done only manually. If `manual_render` is false, rendering will be done by default ecore_evas rendering routine, but still manual rendering is available. Call ecore_evas_manual_render() to force immediate render.

See also
  ecore_evas_manual_render_get()
  ecore_evas_manual_render()

Referenced by elm_win_norender_pop(), and elm_win_norender_push().

## ecore_evas_manual_render_get()

EAPI Eina_Bool ecore_evas_manual_render_get | ( | const Ecore_Evas * | ee | ) |

Gets enable/disable status of manual render.

Parameters

  ee | An `Ecore_Evas` handle

Returns
  `EINA_TRUE` if manual render is enabled, `EINA_FALSE` if manual render is disabled

See also
  ecore_evas_manual_render_set()
  ecore_evas_manual_render()

References EINA_FALSE, and EINA_TRUE.

## ecore_evas_input_event_register()

EAPI void ecore_evas_input_event_register | ( | Ecore_Evas * | ee | ) |

Registers an `Ecore_Evas` to receive events through ecore_input_evas.

Parameters

  ee | The `Ecore_Evas` handle.

This function calls ecore_event_window_register() with the `ee` as its `id` argument, `window` argument, and uses its `Evas` too. It is useful when no `window` information is available on a given `Ecore_Evas` backend.

See also
  ecore_evas_input_event_unregister()

Since
  1.1

References EINA_FALSE.

## ecore_evas_input_event_unregister()

EAPI void ecore_evas_input_event_unregister | ( | Ecore_Evas * | ee | ) |

Unregisters an `Ecore_Evas` receiving events through ecore_input_evas.

Parameters

  ee | The `Ecore_Evas` handle.

See also
  ecore_evas_input_event_register()

Since
  1.1

## ecore_evas_manual_render()

EAPI void ecore_evas_manual_render | ( | Ecore_Evas * | ee | ) |

Forces immediate rendering on a given `Ecore_Evas` window.

Parameters

  ee | An `Ecore_Evas` handle

Use this call to forcefully flush the `ee's` canvas rendering pipeline, thus bring its window to an up to date state.

References ecore_loop_time_get().

Referenced by elm_win_render().

## ecore_evas_comp_sync_set()

EAPI void ecore_evas_comp_sync_set | ( | Ecore_Evas * | ee,
|  | Eina_Bool | do_sync )

Sets comp syncing to enabled/disabled.

Parameters

  ee | An `Ecore_Evas` handle
  do_sync | True to enable comp syncing, False to disable

Turns on client+server synchronized rendering in X11. Comp sync is disabled by default, but can be turned on optionally. Can also be set via the ECORE_EVAS_COMP_NOSYNC / ECORE_EVAS_COMP_SYNC environmental variables.

Warning
  This is a deprecated API. DO NOT USE.

## ecore_evas_comp_sync_get()

EAPI Eina_Bool ecore_evas_comp_sync_get | ( | const Ecore_Evas * | ee | ) |

Gets the comp sync state.

Parameters

  ee | An `Ecore_Evas` handle

Returns
  True if composition synchronization is enabled, False otherwise

Warning
  This is a deprecated API. DO NOT USE.

References EINA_FALSE.

## ecore_evas_screen_geometry_get()

EAPI void ecore_evas_screen_geometry_get | ( | const Ecore_Evas * | ee,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h )

Gets geometry of screen associated with this Ecore_Evas.

Parameters

  ee | The Ecore_Evas whose window's to query container screen geometry.
  x | Where to return the horizontal offset value. May be `NULL`.
  y | Where to return the vertical offset value. May be `NULL`.
  w | Where to return the width value. May be `NULL`.
  h | Where to return the height value. May be `NULL`.

Since
  1.1

Referenced by elm_win_screen_size_get().

## ecore_evas_screen_dpi_get()

EAPI void ecore_evas_screen_dpi_get | ( | const Ecore_Evas * | ee,
|  | int * | xdpi,
|  | int * | ydpi )

Gets the dpi of the screen the Ecore_Evas is primarily on.

Parameters

  ee | The Ecore_Evas whose window's to query.
  xdpi | Pointer to integer to store horizontal DPI. May be `NULL`.
  ydpi | Pointer to integer to store vertical DPI. May be `NULL`.

Since
  1.7

Referenced by elm_win_screen_dpi_get().

## ecore_evas_shadow_geometry_set()

EAPI void ecore_evas_shadow_geometry_set | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Sets shadow geometry for client-side decorations.

Note that the framespace contains both a shadow or glow around the window, and the window borders (title bar, etc...).

Since
  1.19

References EINA_SAFETY_ON_TRUE_RETURN, and EINA_TRUE.

## ecore_evas_shadow_geometry_get()

EAPI void ecore_evas_shadow_geometry_get | ( | const Ecore_Evas * | ee,
|  | int * | x,
|  | int * | y,
|  | int * | w,
|  | int * | h )

Gets shadow geometry for client-side decorations.

Note that the framespace contains both a shadow or glow around the window, and the window borders (title bar, etc...).

Since
  1.19

## ecore_evas_object_associate()

EAPI Eina_Bool ecore_evas_object_associate | ( | Ecore_Evas * | ee,
|  | Evas_Object * | obj,
|  | Ecore_Evas_Object_Associate_Flags | flags )

Associates the given object to this ecore evas.

Parameters

  ee | The Ecore_Evas to associate to obj
  obj | The object to associate to ee
  flags | The association flags.

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise.

Association means that operations on one will affect the other, for example moving the object will move the window, resize the object will also affect the ecore evas window, hide and show applies as well.

This is meant to simplify development, since you often need to associate these events with your "base" objects, background or bottom-most object.

Be aware that some methods might not be what you would like, deleting either the window or the object will delete the other. If you want to change that behavior, let's say to hide window when it's closed, you must use ecore_evas_callback_delete_request_set() and set your own code, like ecore_evas_hide(). Just remember that if you override delete_request and still want to delete the window/object, you must do that yourself.

Since we now define delete_request, deleting windows will not quit main loop, if you wish to do so, you should listen for EVAS_CALLBACK_FREE on the object, that way you get notified and you can call ecore_main_loop_quit().

Flags can be OR'ed of:

- ECORE_EVAS_OBJECT_ASSOCIATE_BASE (or 0): to listen to basic events like delete, resize and move, but no stacking or layer are used.
- ECORE_EVAS_OBJECT_ASSOCIATE_STACK: stacking operations will act on the Ecore_Evas, not the object. So evas_object_raise() will call ecore_evas_raise(). Relative operations (stack_above, stack_below) are still not implemented.
- ECORE_EVAS_OBJECT_ASSOCIATE_LAYER: stacking operations will act on the Ecore_Evas, not the object. So evas_object_layer_set() will call ecore_evas_layer_set().
- ECORE_EVAS_OBJECT_ASSOCIATE_DEL: the object delete will delete the ecore_evas as well as delete_requests on the ecore_evas will delete etc.

Examples
  ecore_evas_basics_example.c, ecore_evas_object_example.c, edje-basic.c, edje-signals-messages.c, edje-text.c, and evas-map-utils.c.

References ecore_evas_object_dissociate(), EINA_FALSE, and EINA_TRUE.

## ecore_evas_object_dissociate()

EAPI Eina_Bool ecore_evas_object_dissociate | ( | Ecore_Evas * | ee,
|  | Evas_Object * | obj )

Cancels the association set with ecore_evas_object_associate().

Parameters

  ee | The Ecore_Evas to dissociate from obj
  obj | The object to dissociate from ee

Returns
  `EINA_TRUE` on success, `EINA_FALSE` otherwise.

References EINA_FALSE, EINA_TRUE, and ERR.

Referenced by ecore_evas_object_associate().

## ecore_evas_object_associate_get()

EAPI Evas_Object * ecore_evas_object_associate_get | ( | const Ecore_Evas * | ee | ) |

Gets the object associated with `ee`.

Parameters

  ee | The Ecore_Evas to get the object from.

Returns
  The associated object, or `NULL` if there is no associated object.

Examples
  ecore_evas_object_example.c.

## ecore_getopt_callback_ecore_evas_list_engines()

EAPI unsigned char ecore_getopt_callback_ecore_evas_list_engines | ( | const Ecore_Getopt * | parser,
|  | const Ecore_Getopt_Desc * | desc,
|  | const char * | str,
|  | void * | data,
|  | Ecore_Getopt_Value * | storage )

Helper ecore_getopt callback to list available Ecore_Evas engines.

This will list all available engines except buffer, this is useful for applications to let user choose how they should create windows with ecore_evas_new().

`callback_data` value is used as `FILE*` and says where to output messages, by default it is `stdout`. You can specify this value with ECORE_GETOPT_CALLBACK_FULL() or ECORE_GETOPT_CALLBACK_ARGS().

If there is a boolean storage provided, then it is marked with 1 when this option is executed.

Parameters

  parser | This parameter isn't in use.
  desc | This parameter isn't in use.
  str | This parameter isn't in use.
  data | The data to be used.
  storage | The storage to be used.

Returns
  The function returns 1, when storage is NULL it returns 0.

Examples
  emotion_test_main.c.

References _Ecore_Getopt_Value::boolp, ecore_evas_engines_free(), ecore_evas_engines_get(), EINA_LIST_FOREACH, EINA_UNUSED, and ERR.

## ecore_evas_ecore_evas_list_get()

EAPI Eina_List * ecore_evas_ecore_evas_list_get | ( | void |  | ) |

Gets a list of all the ecore_evases.

Returns
  A list of ecore_evases.

The returned list of ecore evases is only valid until the canvases are destroyed (and should not be cached for instance). The list can be freed by just deleting the list.

References EINA_INLIST_FOREACH, and eina_list_append().

## ecore_evas_sub_ecore_evas_list_get()

EAPI Eina_List * ecore_evas_sub_ecore_evas_list_get | ( | const Ecore_Evas * | ee | ) |

Gets a list of all the sub ecore_evases.

Parameters

  ee | Ecore_Evas to get the list from.

Returns
  A list of sub ecore_evases, or `NULL` if there is no sub ecore_evases.

## ecore_evas_x11_leader_set()

EAPI void ecore_evas_x11_leader_set | ( | Ecore_Evas * | ee,
|  | Ecore_X_Window | win )

Set the window's client leader.

Parameters

  ee | Ecore_Evas for the window.
  win | The window.

Sets the client leader X atom property for the given window. All non-transient top-level windows created by an app other than the main window must have this property set to the app's main window.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_leader_get()

EAPI Ecore_X_Window ecore_evas_x11_leader_get | ( | Ecore_Evas * | ee | ) |

Get the client leader.

Parameters

  ee | Ecore_Evas for the window.

Returns
  the current client leader.

See also
  ecore_evas_x11_leader_set()

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_x11_leader_default_set()

EAPI void ecore_evas_x11_leader_default_set | ( | Ecore_Evas * | ee | ) |

Reset the client leader to default.

Parameters

  ee | Ecore_Evas for the window.

See also
  ecore_evas_x11_leader_set()

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_shape_input_rectangle_set()

EAPI void ecore_evas_x11_shape_input_rectangle_set | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Set the rectangular region that can "contain" the pointer, replacing any previously set region.

Parameters

  ee | The Ecore_Evas
  x | The X coordinate for the origin of the input containment rectangle.
  y | The Y coordinate for the origin of the input containment rectangle.
  w | The width of the input containment rectangle.
  h | The height of the input containment rectangle.

Ecore_Evas may apply (orthogonal) rotations if needed, via an internal call to _ecore_evas_x11_convert_rectangle_with_angle(). Note that ecore_evas_x11_shape_input_apply() must be called to commit the changes to the window itself.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_shape_input_rectangle_add()

EAPI void ecore_evas_x11_shape_input_rectangle_add | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Extends the pointer containment region to the union of the new and existing input rectangle.

Parameters

  ee | The Ecore_Evas
  x | The X coordinate of the rectangular area to add.
  y | The Y coordinate of the rectangular area to add.
  w | The width of the rectangular area to add.
  h | The height of the rectangular area to add.

Ecore_Evas may apply (orthogonal) rotations if needed, via an internal call to _ecore_evas_x11_convert_rectangle_with_angle(). Note that ecore_evas_x11_shape_input_apply() must be called to commit the changes to the window itself.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_shape_input_rectangle_subtract()

EAPI void ecore_evas_x11_shape_input_rectangle_subtract | ( | Ecore_Evas * | ee,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Modifies the pointer containment region to subtract a rectangular region from it.

Parameters

  ee | The Ecore_Evas
  x | The X coordinate of the subtraction rectangle.
  y | The Y coordinate of the subtraction rectangle.
  w | The width of the subtraction rectangle.
  h | The height of the subtraction rectangle.

Ecore_Evas may apply (orthogonal) rotations if needed, via an internal call to _ecore_evas_x11_convert_rectangle_with_angle(). Note that ecore_evas_x11_shape_input_apply() must be called to commit the changes to the window itself.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_shape_input_empty()

EAPI void ecore_evas_x11_shape_input_empty | ( | Ecore_Evas * | ee | ) |

Disables input for the window.

Parameters

  ee | The Ecore_Evas

Sets the pointer containment region to a null rectangle, effectively disabling input for the window. Note that ecore_evas_x11_shape_input_apply() must be called to commit the changes to the window itself.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_shape_input_reset()

EAPI void ecore_evas_x11_shape_input_reset | ( | Ecore_Evas * | ee | ) |

Unsets the pointer containment for the window.

Parameters

  ee | The Ecore_Evas

Sets the pointer containment region to a maximally wide and high rectangle, effectively permitting all allowed input events to reach the window. Note that ecore_evas_x11_shape_input_apply() must be called to commit the changes to the window itself.

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_x11_shape_input_apply()

EAPI void ecore_evas_x11_shape_input_apply | ( | Ecore_Evas * | ee | ) |

Applies the pointer containment region to the client window.

Parameters

  ee | The Ecore_Evas

References EINA_SAFETY_ON_NULL_RETURN.

## ecore_evas_vnc_start()

EAPI Evas_Object * ecore_evas_vnc_start | ( | Ecore_Evas * | ee,
|  | const char * | addr,
|  | int | port,
|  | Ecore_Evas_Vnc_Client_Accept_Cb | accept_cb,
|  | Ecore_Evas_Vnc_Client_Disconnected_Cb | disc_cb,
|  | void * | data )

Starts a VNC server.

Parameters

  ee | The Ecore_Evas to start the VNC server
  addr | The address that will be used to bind the VNC server. Use `NULL` to bind to any interface.
  port | The port number to start the VNC server. Use `-1` to set the default VNC port (5900)
  accept_cb | A callback used to accept a new client. If `NULL` all clients will be accepted.
  disc_cb | A callback used to inform that a client has disconnected. It may be `NULL`.
  data | Data to pass to `accept_cb` and `disc_cb`

Returns
  an Evas_Object that take everything under it to represent the view of the client.

See also
  ecore_evas_vnc_stop()
  Ecore_Evas_Vnc_Client_Accept_Cb()

Since
  1.19

References eina_list_append(), eina_module_symbol_get(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_callback_new_set()

EAPI void ecore_evas_callback_new_set | ( | Evas *(* | func )(int w, int h) | ) |

Sets a callback for building new Evas.

Parameters

  func | The function to call

A call to this function will set a callback on an Ecore_Evas, causing `func` to be called whenever a new Ecore_Evas is created.

Warning
  If and when this function is called depends on the underlying windowing system.

## ecore_evas_pointer_xy_get()

EAPI void ecore_evas_pointer_xy_get | ( | const Ecore_Evas * | ee,
|  | Evas_Coord * | x,
|  | Evas_Coord * | y )

Retrieves the coordinates of the default mouse pointer.

Parameters

  ee | The Ecore_Evas containing the pointer
  x | Pointer to integer to store horizontal coordinate. May be `NULL`.
  y | Pointer to integer to store vertical coordinate. May be `NULL`.

See also
  ecore_evas_pointer_device_xy_get

Since
  1.8

Referenced by ecore_evas_pointer_device_xy_get().

## ecore_evas_pointer_warp()

EAPI Eina_Bool ecore_evas_pointer_warp | ( | const Ecore_Evas * | ee,
|  | Evas_Coord | x,
|  | Evas_Coord | y )

Sets the coordinates of the mouse pointer.

Parameters

  ee | The Ecore_Evas containing the pointer
  x | The horizontal coordinate to move the pointer to
  y | The vertical coordinate to move the pointer to

Returns
  `EINA_TRUE` on success, EINA_FALSE on failure.

Since
  1.8

References EINA_FALSE.

## ecore_evas_pointer_device_xy_get()

EAPI void ecore_evas_pointer_device_xy_get | ( | const Ecore_Evas * | ee,
|  | const Efl_Input_Device * | pointer,
|  | Evas_Coord * | x,
|  | Evas_Coord * | y )

Retrieves the coordinates of the mouse pointer.

Parameters

  ee | The Ecore_Evas containing the pointer
  pointer | The pointer device, use `NULL` for the default pointer.
  x | Pointer to integer to store horizontal coordinate. May be `NULL`.
  y | Pointer to integer to store vertical coordinate. May be `NULL`.

Since
  1.19

References ecore_evas_pointer_xy_get(), eina_module_symbol_get(), EINA_SAFETY_ON_NULL_RETURN, ERR, evas_default_device_get(), and EVAS_DEVICE_CLASS_SEAT.

## ecore_evas_pixmap_visual_get()

EAPI void * ecore_evas_pixmap_visual_get | ( | const Ecore_Evas * | ee | ) |

Retrieves the Visual used for pixmap creation.

Parameters

  ee | The Ecore_Evas containing the pixmap

Returns
  The Visual which was used when creating the pixmap

Warning
  If and when this function is called depends on the underlying windowing system. This function should only be called if the Ecore_Evas was created using `ecore_evas_software_x11_pixmap_new` or `ecore_evas_gl_x11_pixmap_new`

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_pixmap_colormap_get()

EAPI unsigned long ecore_evas_pixmap_colormap_get | ( | const Ecore_Evas * | ee | ) |

Retrieves the Colormap used for pixmap creation.

Parameters

  ee | The Ecore_Evas containing the pixmap

Returns
  The Colormap which was used when creating the pixmap

Warning
  If and when this function is called depends on the underlying windowing system. This function should only be called if the Ecore_Evas was created using `ecore_evas_software_x11_pixmap_new` or `ecore_evas_gl_x11_pixmap_new`

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ecore_evas_pixmap_depth_get()

EAPI int ecore_evas_pixmap_depth_get | ( | const Ecore_Evas * | ee | ) |

Retrieves the depth used for pixmap creation.

Parameters

  ee | The Ecore_Evas containing the pixmap

Returns
  The depth which was used when creating the pixmap

Warning
  If and when this function is called depends on the underlying windowing system. This function should only be called if the Ecore_Evas was created using `ecore_evas_software_x11_pixmap_new` or `ecore_evas_gl_x11_pixmap_new`

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN_VAL.