Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Evas_Common.h File Reference

These routines are used for Evas library interaction. More...

Data Structures

struct  _Evas_Version
 
struct  _Evas_Coord_Rectangle
 A rectangle in Evas_Coord. More...
 
struct  _Evas_Coord_Point
 A Point in Evas_Coord. More...
 
struct  _Evas_Coord_Size
 A size in Evas_Coord. More...
 
struct  _Evas_Coord_Precision_Size
 A size in Evas_Coord with subpixel precision. More...
 
struct  _Evas_Coord_Precision_Point
 A point in Evas_Coord with subpixel precision. More...
 
struct  _Evas_Point
 A point. More...
 
struct  _Evas_Position
 A position. More...
 
struct  _Evas_Precision_Position
 A position with precision. More...
 
struct  _Evas_Pixel_Import_Source
 
struct  _Evas_Event_Render_Post
 
struct  _Evas_Textgrid_Cell
 A cell contains a single unicode character, with associated formatting data including style, color, and color palette. More...
 
struct  _Evas_Smart_Class
 A smart object's base class definition. More...
 
struct  _Evas_Smart_Interface
 A smart object's base interface definition. More...
 
struct  _Evas_Smart_Cb_Description
 Describes a callback issued by a smart object (evas_object_smart_callback_call()), as defined in its smart object class. More...
 
struct  _Evas_Object_Smart_Clipped_Data
 
struct  _Evas_Object_Box_Api
 This structure should be used by any smart class inheriting from the box's one, to provide custom box behavior that could not be achieved only by providing a layout function, with evas_object_box_layout_set(). More...
 
struct  _Evas_Object_Box_Data
 This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. More...
 
struct  _Evas_Object_Box_Option
 Evas_Object_Box_Option struct fields More...
 
struct  _Evas_Cserve_Stats
 Statistics about the server that shares cached bitmaps. More...
 
struct  _Evas_Cserve_Image_Cache
 A handle of a cache of images shared by a server. More...
 
struct  _Evas_Cserve_Image
 A handle to an image shared by a server. More...
 
struct  _Evas_Cserve_Config
 Configuration that controls the server that shares cached bitmaps. More...
 

Macros

#define EVAS_VERSION_MAJOR   EFL_VERSION_MAJOR
 The major number of evas version.
 
#define EVAS_VERSION_MINOR   EFL_VERSION_MINOR
 The minor number of evas version.
 
#define EVAS_CALLBACK_PRIORITY_BEFORE   -100
 Slightly more prioritized than default. More...
 
#define EVAS_CALLBACK_PRIORITY_DEFAULT   0
 Default callback priority level. More...
 
#define EVAS_CALLBACK_PRIORITY_AFTER   100
 Slightly less prioritized than default. More...
 
#define _EFL_CANVAS_OBJECT_EO_CLASS_TYPE
 
#define EVAS_LAYER_MIN   -32768
 bottom-most layer number
 
#define EVAS_LAYER_MAX   32767
 top-most layer number
 
#define EVAS_COLOR_SPACE_ARGB   0
 Not used for anything.
 
#define EVAS_COLOR_SPACE_AHSV   1
 Not used for anything.
 
#define EVAS_TEXT_INVALID   -1
 Not used for anything.
 
#define EVAS_TEXT_SPECIAL   -2
 Not used for anything.
 
#define EVAS_HINT_EXPAND   1.0
 Use with evas_object_size_hint_weight_set(), evas_object_size_hint_weight_get(), evas_object_size_hint_expand_set(), evas_object_size_hint_expand_get()
 
#define EVAS_HINT_FILL   -1.0
 Use with evas_object_size_hint_align_set(), evas_object_size_hint_align_get(), evas_object_size_hint_fill_set(), evas_object_size_hint_fill_get()
 
#define evas_object_size_hint_fill_set   evas_object_size_hint_align_set
 Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align)
 
#define evas_object_size_hint_fill_get   evas_object_size_hint_align_get
 Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align)
 
#define evas_object_size_hint_expand_set   evas_object_size_hint_weight_set
 Convenience macro to make it easier to understand that weight is also used for expand properties.
 
#define evas_object_size_hint_expand_get   evas_object_size_hint_weight_get
 Convenience macro to make it easier to understand that weight is also used for expand properties.
 
#define EVAS_DEVICE_CLASS_WAND   EVAS_DEVICE_CLASS_POINTER
 
#define EVAS_BIDI_DIRECTION_NEUTRAL   EFL_TEXT_BIDIRECTIONAL_TYPE_NEUTRAL
 
#define EVAS_BIDI_DIRECTION_NATURAL   EFL_TEXT_BIDIRECTIONAL_TYPE_NATURAL
 
#define EVAS_BIDI_DIRECTION_LTR   EFL_TEXT_BIDIRECTIONAL_TYPE_LTR
 
#define EVAS_BIDI_DIRECTION_RTL   EFL_TEXT_BIDIRECTIONAL_TYPE_RTL
 
#define EVAS_BIDI_DIRECTION_INHERIT   EFL_TEXT_BIDIRECTIONAL_TYPE_INHERIT
 
#define EVAS_TEXT_STYLE_MASK_BASIC   0xf
 
#define EVAS_TEXT_STYLE_BASIC_SET(x, s)   do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_BASIC) | (s); } while (0)
 Text style type creation macro. More...
 
#define EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION   (0x7 << 4)
 
#define EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(x, s)   do { x = ((x) & ~EVAS_TEXT_STYLE_MASK_SHADOW_DIRECTION) | (s); } while (0)
 Text style type creation macro. More...
 
#define EVAS_SMART_CLASS_VERSION   4
 The version you have to put into the version field in the Evas_Smart_Class struct. More...
 
#define EVAS_SMART_CLASS_INIT_NULL   {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
 Initialize to zero a whole Evas_Smart_Class structure. More...
 
#define EVAS_SMART_CLASS_INIT_VERSION   {NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
 Initialize to zero a whole Evas_Smart_Class structure and set version. More...
 
#define EVAS_SMART_CLASS_INIT_NAME_VERSION(name)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
 Initialize to zero a whole Evas_Smart_Class structure and set name and version. More...
 
#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT(name, parent)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}
 Initialize to zero a whole Evas_Smart_Class structure and set name, version and parent class. More...
 
#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS(name, parent, callbacks)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}
 Initialize to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition. More...
 
#define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)
 Convenience macro to subclass a given Evas smart class. More...
 
#define EVAS_SMART_SUBCLASS_IFACE_NEW(smart_name, prefix, api_type, parent_type, parent_func, cb_desc, ifaces)
 
#define EVAS_SMART_DATA_ALLOC(o, priv_type)
 Convenience macro to allocate smart data only if needed. More...
 
#define evas_smart_class_inherit(sc, parent_sc)   evas_smart_class_inherit_full(sc, (Evas_Smart_Class *)parent_sc, sizeof(*parent_sc))
 Easy to use version of evas_smart_class_inherit_full(). More...
 
#define EVAS_OBJECT_BOX_API_VERSION   1
 Current version for Evas box object smart class, a value that goes to _Evas_Object_Box_Api::version.
 
#define EVAS_OBJECT_BOX_API_INIT(smart_class_init)   {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
 Initializer for a whole Evas_Object_Box_Api structure, with NULL values on its specific fields. More...
 
#define EVAS_OBJECT_BOX_API_INIT_NULL   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)
 Initialize to zero out a whole Evas_Object_Box_Api structure. More...
 
#define EVAS_OBJECT_BOX_API_INIT_VERSION   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)
 Initialize to zero out a whole Evas_Object_Box_Api structure and set a specific version on it. More...
 
#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION(name)   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
 Initialize to zero out a whole Evas_Object_Box_Api structure and set its name and version. More...
 
#define _EFL_INPUT_DEVICE_EO_CLASS_TYPE
 
#define _EFL_INPUT_DEVICE_EO_TYPES
 
#define _EFL_GFX_ENTITY_EO_H_
 
#define _EFL_GFX_ENTITY_EO_CLASS_TYPE
 

Typedefs

typedef struct _Evas_Version Evas_Version
 This is the Evas version information structure that can be used at runtime to detect which version of evas is being used and adapt appropriately as follows for example: More...
 
typedef Efl_Callback_Priority Evas_Callback_Priority
 Callback priority value. More...
 
typedef struct _Evas_Coord_Rectangle Evas_Coord_Rectangle
 A generic rectangle handle. More...
 
typedef struct _Evas_Point Evas_Point
 integer point
 
typedef struct _Evas_Coord_Point Evas_Coord_Point
 Evas_Coord point.
 
typedef struct _Evas_Coord_Precision_Point Evas_Coord_Precision_Point
 Evas_Coord point with sub-pixel precision.
 
typedef struct _Evas_Coord_Size Evas_Coord_Size
 Evas_Coord size. More...
 
typedef struct _Evas_Coord_Precision_Size Evas_Coord_Precision_Size
 Evas_Coord size with sub-pixel precision. More...
 
typedef struct _Evas_Position Evas_Position
 associates given point in Canvas and Output
 
typedef struct _Evas_Precision_Position Evas_Precision_Position
 associates given point in Canvas and Output, with sub-pixel precision
 
typedef int Evas_Coord
 Type used for coordinates (in pixels, int). More...
 
typedef int Evas_Font_Size
 Type used for font sizes (int). More...
 
typedef struct _Evas_Smart_Class Evas_Smart_Class
 A smart object's base class definition.
 
typedef struct _Evas_Smart_Interface Evas_Smart_Interface
 A smart object's base interface definition. More...
 
typedef struct _Evas_Smart_Cb_Description Evas_Smart_Cb_Description
 A smart object callback description, used to provide introspection.
 
typedef Eo Evas
 An opaque handle to an Evas canvas. More...
 
typedef struct _Evas_Public_Data Evas_Public_Data
 Public data for an Evas.
 
typedef Eo Efl_Canvas_Object
 
typedef Efl_Canvas_Object Evas_Object
 An Evas Object handle.
 
typedef Eo Efl_VG
 Type of abstract VG node.
 
typedef void Evas_Performance
 An Evas Performance handle.
 
typedef struct _Evas_Smart Evas_Smart
 An Evas Smart Object handle.
 
typedef int Evas_Angle
 A type for angle.
 
typedef struct _Evas_Pixel_Import_Source Evas_Pixel_Import_Source
 A source description of pixels for importing pixels.
 
typedef Eo Evas_Device
 A source device handle - where the event came from.
 
typedef enum _Evas_Image_Content_Hint Evas_Image_Content_Hint
 How an image's data is to be treated by Evas, for optimization.
 
typedef enum _Evas_Alloc_Error Evas_Alloc_Error
 Possible allocation errors returned by evas_alloc_error()
 
typedef enum _Evas_Pixel_Import_Pixel_Format Evas_Pixel_Import_Pixel_Format
 Pixel format for import call. More...
 
typedef enum _Evas_Engine_Render_Mode Evas_Engine_Render_Mode
 behaviour of the renderer
 
typedef struct _Evas_Event_Render_Post Evas_Event_Render_Post
 Event info sent after a frame was rendered. More...
 
typedef enum _Evas_Device_Class Evas_Device_Class
 A general class of device. More...
 
typedef enum _Evas_Button_Flags Evas_Button_Flags
 Flags for Mouse Button events. More...
 
typedef enum _Evas_Event_Flags Evas_Event_Flags
 Flags for Events. More...
 
typedef enum _Evas_Aspect_Control Evas_Aspect_Control
 Aspect types/policies for scaling size hints, used for evas_object_size_hint_aspect_set()
 
typedef Efl_Text_Bidirectional_Type Evas_BiDi_Direction
 
typedef enum _Evas_Font_Data_Cache Evas_Font_Data_Cache
 font caching options, used for evas_font_data_cache_set()/evas_font_data_cache_get()
 
typedef enum _Evas_Object_Pointer_Mode Evas_Object_Pointer_Mode
 How the mouse pointer should be handled by Evas. More...
 
typedef void(* Evas_Smart_Cb) (void *data, Evas_Object *obj, void *event_info)
 Evas smart objects' "smart callback" function signature.
 
typedef void(* Evas_Event_Cb) (void *data, Evas *e, void *event_info)
 Evas event callback function signature.
 
typedef Eina_Bool(* Evas_Object_Event_Post_Cb) (void *data, Evas *e)
 Evas object event (post) callback function signature.
 
typedef void(* Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object *obj, void *event_info)
 Evas object event callback function signature.
 
typedef void(* Evas_Async_Events_Put_Cb) (void *target, Evas_Callback_Type type, void *event_info)
 Evas async callback function signature.
 
typedef void(* Evas_Object_Image_Pixels_Get_Cb) (void *data, Evas_Object *o)
 Function signature for the evas object pixels get callback function. More...
 
typedef struct _Evas_Object_Smart_Clipped_Data Evas_Object_Smart_Clipped_Data
 Every subclass should provide this at the beginning of their own data set with evas_object_smart_data_set().
 
typedef struct _Evas_Object_Box_Api Evas_Object_Box_Api
 Smart class extension, providing extra box object requirements.
 
typedef struct _Evas_Object_Box_Data Evas_Object_Box_Data
 Smart object instance data, providing box object requirements.
 
typedef struct _Evas_Object_Box_Option Evas_Object_Box_Option
 The base structure for a box option. More...
 
typedef void(* Evas_Object_Box_Layout) (Evas_Object *o, Evas_Object_Box_Data *priv, void *user_data)
 Function signature for an Evas box object layouting routine. More...
 
typedef struct _Evas_Cserve_Stats Evas_Cserve_Stats
 
typedef struct _Evas_Cserve_Image_Cache Evas_Cserve_Image_Cache
 
typedef struct _Evas_Cserve_Image Evas_Cserve_Image
 
typedef struct _Evas_Cserve_Config Evas_Cserve_Config
 
typedef Eo Efl_Input_Device
 
typedef Eo Efl_Gfx_Entity
 

Enumerations

enum  _Evas_Image_Content_Hint {
  EVAS_IMAGE_CONTENT_HINT_NONE = 0,
  EVAS_IMAGE_CONTENT_HINT_DYNAMIC = 1,
  EVAS_IMAGE_CONTENT_HINT_STATIC = 2
}
 
enum  _Evas_Alloc_Error {
  EVAS_ALLOC_ERROR_NONE = 0,
  EVAS_ALLOC_ERROR_FATAL = 1,
  EVAS_ALLOC_ERROR_RECOVERED = 2
}
 
enum  _Evas_Pixel_Import_Pixel_Format {
  EVAS_PIXEL_FORMAT_NONE = 0,
  EVAS_PIXEL_FORMAT_ARGB32 = 1,
  EVAS_PIXEL_FORMAT_YUV420P_601 = 2
}
 
enum  _Evas_Engine_Render_Mode {
  EVAS_RENDER_MODE_BLOCKING = 0,
  EVAS_RENDER_MODE_NONBLOCKING = 1
}
 
enum  _Evas_Device_Class {
  EVAS_DEVICE_CLASS_NONE,
  EVAS_DEVICE_CLASS_SEAT,
  EVAS_DEVICE_CLASS_KEYBOARD,
  EVAS_DEVICE_CLASS_MOUSE,
  EVAS_DEVICE_CLASS_TOUCH,
  EVAS_DEVICE_CLASS_PEN,
  EVAS_DEVICE_CLASS_POINTER,
  EVAS_DEVICE_CLASS_GAMEPAD
}
 
enum  Evas_Device_Subclass {
  EVAS_DEVICE_SUBCLASS_NONE = 0,
  EVAS_DEVICE_SUBCLASS_FINGER,
  EVAS_DEVICE_SUBCLASS_FINGERNAIL,
  EVAS_DEVICE_SUBCLASS_KNUCKLE,
  EVAS_DEVICE_SUBCLASS_PALM,
  EVAS_DEVICE_SUBCLASS_HAND_SIZE,
  EVAS_DEVICE_SUBCLASS_HAND_FLAT,
  EVAS_DEVICE_SUBCLASS_PEN_TIP,
  EVAS_DEVICE_SUBCLASS_TRACKPAD,
  EVAS_DEVICE_SUBCLASS_TRACKPOINT,
  EVAS_DEVICE_SUBCLASS_TRACKBALL
}
 Specific type of input device. More...
 
enum  _Evas_Button_Flags {
  EVAS_BUTTON_NONE = 0,
  EVAS_BUTTON_DOUBLE_CLICK = (1 << 0),
  EVAS_BUTTON_TRIPLE_CLICK = (1 << 1)
}
 Flags for Mouse Button events. More...
 
enum  _Evas_Event_Flags {
  EVAS_EVENT_FLAG_NONE = 0,
  EVAS_EVENT_FLAG_ON_HOLD = (1 << 0),
  EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1)
}
 Flags for Events. More...
 
enum  _Evas_Aspect_Control {
  EVAS_ASPECT_CONTROL_NONE = 0,
  EVAS_ASPECT_CONTROL_NEITHER = 1,
  EVAS_ASPECT_CONTROL_HORIZONTAL = 2,
  EVAS_ASPECT_CONTROL_VERTICAL = 3,
  EVAS_ASPECT_CONTROL_BOTH = 4
}
 
enum  _Evas_Font_Data_Cache { EVAS_FONT_DATA_CACHE_TEXTURE = 0x01 }
 
enum  _Evas_Object_Pointer_Mode {
  EVAS_OBJECT_POINTER_MODE_AUTOGRAB,
  EVAS_OBJECT_POINTER_MODE_NOGRAB,
  EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
}
 How the mouse pointer should be handled by Evas. More...
 
enum  Evas_Callback_Type {
  EVAS_CALLBACK_MOUSE_IN = 0,
  EVAS_CALLBACK_MOUSE_OUT,
  EVAS_CALLBACK_MOUSE_DOWN,
  EVAS_CALLBACK_MOUSE_UP,
  EVAS_CALLBACK_MOUSE_MOVE,
  EVAS_CALLBACK_MOUSE_WHEEL,
  EVAS_CALLBACK_MULTI_DOWN,
  EVAS_CALLBACK_MULTI_UP,
  EVAS_CALLBACK_MULTI_MOVE,
  EVAS_CALLBACK_FREE,
  EVAS_CALLBACK_KEY_DOWN,
  EVAS_CALLBACK_KEY_UP,
  EVAS_CALLBACK_FOCUS_IN,
  EVAS_CALLBACK_FOCUS_OUT,
  EVAS_CALLBACK_SHOW,
  EVAS_CALLBACK_HIDE,
  EVAS_CALLBACK_MOVE,
  EVAS_CALLBACK_RESIZE,
  EVAS_CALLBACK_RESTACK,
  EVAS_CALLBACK_DEL,
  EVAS_CALLBACK_HOLD,
  EVAS_CALLBACK_CHANGED_SIZE_HINTS,
  EVAS_CALLBACK_IMAGE_PRELOADED,
  EVAS_CALLBACK_CANVAS_FOCUS_IN,
  EVAS_CALLBACK_CANVAS_FOCUS_OUT,
  EVAS_CALLBACK_RENDER_FLUSH_PRE,
  EVAS_CALLBACK_RENDER_FLUSH_POST,
  EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN,
  EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT,
  EVAS_CALLBACK_IMAGE_UNLOADED,
  EVAS_CALLBACK_RENDER_PRE,
  EVAS_CALLBACK_RENDER_POST,
  EVAS_CALLBACK_IMAGE_RESIZE,
  EVAS_CALLBACK_DEVICE_CHANGED,
  EVAS_CALLBACK_AXIS_UPDATE,
  EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE,
  EVAS_CALLBACK_LAST
}
 Identifier of callbacks to be set for Evas canvases or Evas objects. More...
 
enum  Efl_Input_Device_Type {
  EFL_INPUT_DEVICE_TYPE_NONE = 0,
  EFL_INPUT_DEVICE_TYPE_SEAT,
  EFL_INPUT_DEVICE_TYPE_KEYBOARD,
  EFL_INPUT_DEVICE_TYPE_MOUSE,
  EFL_INPUT_DEVICE_TYPE_TOUCH,
  EFL_INPUT_DEVICE_TYPE_PEN,
  EFL_INPUT_DEVICE_TYPE_WAND,
  EFL_INPUT_DEVICE_TYPE_GAMEPAD
}
 

Functions

EINA_DEPRECATED const char * evas_cserve_path_get (void)
 
int evas_init (void)
 Directly initialize Evas and its required dependencies. More...
 
int evas_shutdown (void)
 Directly shutdown Evas. More...
 
Evas_Alloc_Error evas_alloc_error (void)
 Get the error status of the most recent memory allocation call. More...
 
int evas_async_events_fd_get (void)
 Access the canvas' asynchronous event queue. More...
 
int evas_async_events_process (void)
 Process the asynchronous event queue. More...
 
Eina_Bool evas_async_events_put (const void *target, Evas_Callback_Type type, void *event_info, Evas_Async_Events_Put_Cb func)
 Insert asynchronous events on the canvas. More...
 
int evas_render_method_lookup (const char *name)
 Look up a numeric ID from a string name of a rendering engine. More...
 
Eina_Listevas_render_method_list (void)
 List all the rendering engines compiled into the copy of the Evas library. More...
 
void evas_render_method_list_free (Eina_List *list)
 This function should be called to free a list of engine names. More...
 
void evas_render_updates_free (Eina_List *updates)
 Free the rectangles returned by evas_render_updates(). More...
 
Evas_Deviceevas_device_add (Evas *e)
 Add a new device type. More...
 
Evas_Deviceevas_device_add_full (Evas *e, const char *name, const char *desc, Evas_Device *parent_dev, Evas_Device *emulation_dev, Evas_Device_Class clas, Evas_Device_Subclass sub_class)
 Add a new device type. More...
 
void evas_device_del (Evas_Device *dev)
 Delete a new device type. More...
 
void evas_device_push (Evas *e, Evas_Device *dev)
 Push the current context device onto the device stack. More...
 
void evas_device_pop (Evas *e)
 This pops the top of the device stack for the canvas. More...
 
const Eina_Listevas_device_list (Evas *e, const Evas_Device *dev)
 List all current devices attached to the given canvas and/or device. More...
 
Evas_Deviceevas_device_get (Evas *e, const char *name)
 Get a device by its name. More...
 
Evas_Deviceevas_device_get_by_seat_id (Evas *eo_e, unsigned int id)
 Get a device by its seat id. More...
 
void evas_device_name_set (Evas_Device *dev, const char *name)
 Set the name of a device as a string. More...
 
const char * evas_device_name_get (const Evas_Device *dev)
 Get the name of a device. More...
 
void evas_device_seat_id_set (Evas_Device *dev, unsigned int id)
 Set the seat id of a device. More...
 
unsigned int evas_device_seat_id_get (const Evas_Device *dev)
 Get the seat id of a device. More...
 
void evas_device_description_set (Evas_Device *dev, const char *desc)
 Set the description of a device as a string. More...
 
const char * evas_device_description_get (const Evas_Device *dev)
 Get the description of a device. More...
 
void evas_device_parent_set (Evas_Device *dev, Evas_Device *parent) EINA_DEPRECATED
 Set the parent of a device. More...
 
const Evas_Deviceevas_device_parent_get (const Evas_Device *dev)
 Get the parent of a device. More...
 
void evas_device_class_set (Evas_Device *dev, Evas_Device_Class clas) EINA_DEPRECATED
 Set the major class of device. More...
 
Evas_Device_Class evas_device_class_get (const Evas_Device *dev)
 Get the major class of a device. More...
 
void evas_device_subclass_set (Evas_Device *dev, Evas_Device_Subclass clas)
 Set the sub-class of a device. More...
 
Evas_Device_Subclass evas_device_subclass_get (const Evas_Device *dev)
 Get the device sub-class. More...
 
void evas_device_emulation_source_set (Evas_Device *dev, Evas_Device *src)
 Set the emulation source device. More...
 
const Evas_Deviceevas_device_emulation_source_get (const Evas_Device *dev)
 Get the emulation source device. More...
 
Eina_Bool evas_object_image_extension_can_load_get (const char *file)
 Check if a file extension may be supported by Image Object Functions. More...
 
Eina_Bool evas_object_image_extension_can_load_fast_get (const char *file)
 Check if a file extension may be supported by Image Object Functions. More...
 
void evas_smart_free (Evas_Smart *s)
 Free an Evas_Smart struct. More...
 
Evas_Smartevas_smart_class_new (const Evas_Smart_Class *sc)
 Creates a new Evas_Smart from a given Evas_Smart_Class struct. More...
 
const Evas_Smart_Classevas_smart_class_get (const Evas_Smart *s)
 Get the Evas_Smart_Class handle of an Evas_Smart struct. More...
 
void * evas_smart_data_get (const Evas_Smart *s)
 Get the data pointer set on an Evas_Smart struct. More...
 
const Evas_Smart_Cb_Description ** evas_smart_callbacks_descriptions_get (const Evas_Smart *s, unsigned int *count)
 Get the smart callbacks known by this Evas_Smart handle's smart class hierarchy. More...
 
const Evas_Smart_Cb_Descriptionevas_smart_callback_description_find (const Evas_Smart *s, const char *name)
 Find a callback description for the callback named name. More...
 
Eina_Bool evas_smart_class_inherit_full (Evas_Smart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int parent_sc_size)
 Sets one class to inherit from the other. More...
 
int evas_smart_usage_get (const Evas_Smart *s)
 Get the number of uses of the smart instance. More...
 
void evas_smart_legacy_type_register (const char *type, const Efl_Class *klass)
 Registers an object type and its associated class. More...
 
void evas_object_smart_clipped_smart_set (Evas_Smart_Class *sc)
 Set a given smart class' callbacks so it implements the clipped smart object"'s interface. More...
 
const Evas_Smart_Classevas_object_smart_clipped_class_get (void)
 Get a pointer to the clipped smart object's class, to use for proper inheritance. More...
 
void evas_object_box_smart_set (Evas_Object_Box_Api *api)
 Set the default box api struct (Evas_Object_Box_Api) with the default values. More...
 
const Evas_Object_Box_Apievas_object_box_smart_class_get (void)
 Get the Evas box smart class, for inheritance purposes. More...
 
Eina_Bool evas_cserve_want_get (void)
 Retrieves if the system wants to share bitmaps using the server. More...
 
Eina_Bool evas_cserve_connected_get (void)
 Retrieves if the system is connected to the server used to share bitmaps. More...
 
Eina_Bool evas_cserve_stats_get (Evas_Cserve_Stats *stats)
 Retrieves statistics from a running bitmap sharing server. More...
 
void evas_cserve_image_cache_contents_clean (Evas_Cserve_Image_Cache *cache)
 Completely discard/clean a given images cache, thus re-setting it. More...
 
Eina_Bool evas_cserve_config_get (Evas_Cserve_Config *config)
 Retrieves the current configuration of the Evas image caching server. More...
 
Eina_Bool evas_cserve_config_set (const Evas_Cserve_Config *config)
 Changes the configurations of the Evas image caching server. More...
 
void evas_cserve_disconnect (void)
 Force the system to disconnect from the bitmap caching server.
 
const char * evas_load_error_str (Evas_Load_Error error)
 Converts the given Evas image load error code into a string describing it in human-readable text. More...
 
void evas_color_hsv_to_rgb (float h, float s, float v, int *r, int *g, int *b)
 Convert a given color from HSV to RGB format. More...
 
void evas_color_rgb_to_hsv (int r, int g, int b, float *h, float *s, float *v)
 Convert a given color from RGB to HSV format. More...
 
void evas_color_argb_premul (int a, int *r, int *g, int *b)
 Pre-multiplies a rgb triplet by an alpha factor. More...
 
void evas_color_argb_unpremul (int a, int *r, int *g, int *b)
 Undo pre-multiplication of a rgb triplet by an alpha factor. More...
 
void evas_data_argb_premul (unsigned int *data, unsigned int len)
 Pre-multiplies data by an alpha factor. More...
 
void evas_data_argb_unpremul (unsigned int *data, unsigned int len)
 Undo pre-multiplication data by an alpha factor. More...
 
int evas_string_char_next_get (const char *str, int pos, int *decoded)
 Gets the next character in the string. More...
 
int evas_string_char_prev_get (const char *str, int pos, int *decoded)
 Gets the previous character in the string. More...
 
int evas_string_char_len_get (const char *str)
 Get the length in characters of the string. More...
 
Evas_BiDi_Direction evas_language_direction_get (void)
 Get language direction. More...
 
void evas_language_reinit (void)
 Reinitialize language from the environment. More...
 
void evas_font_path_global_clear (void)
 Removes all font paths loaded into memory by evas_font_path_app_* APIs for the application. More...
 
void evas_font_path_global_append (const char *path)
 Appends a font path to the list of font paths used by the application. More...
 
void evas_font_path_global_prepend (const char *path)
 Prepends a font path to the list of font paths used by the application. More...
 
const Eina_Listevas_font_path_global_list (void)
 Retrieves the list of font paths used by the application. More...
 
void evas_font_reinit (void)
 Reinitialize FontConfig. More...
 
void evas_font_data_cache_set (Evas_Font_Data_Cache options, int byte)
 Set the limit in bytes for memory allocated by font glyphs in evas. More...
 
int evas_font_data_cache_get (Evas_Font_Data_Cache options)
 Get the limit in bytes for memory allocated by font glyphs in evas. More...
 

Variables

Evas_Versionevas_version
 Evas Version Information.
 

Detailed Description

These routines are used for Evas library interaction.

Macro Definition Documentation

◆ EVAS_CALLBACK_PRIORITY_BEFORE

#define EVAS_CALLBACK_PRIORITY_BEFORE   -100

Slightly more prioritized than default.

Since
1.1

◆ EVAS_CALLBACK_PRIORITY_DEFAULT

#define EVAS_CALLBACK_PRIORITY_DEFAULT   0

Default callback priority level.

Since
1.1

◆ EVAS_CALLBACK_PRIORITY_AFTER

#define EVAS_CALLBACK_PRIORITY_AFTER   100

Slightly less prioritized than default.

Since
1.1

Typedef Documentation

◆ Evas_Version

This is the Evas version information structure that can be used at runtime to detect which version of evas is being used and adapt appropriately as follows for example:

#if defined(EVAS_VERSION_MAJOR) && (EVAS_VERSION_MAJOR >= 1) && defined(EVAS_VERSION_MINOR) && (EVAS_VERSION_MINOR > 0)
printf("Evas version: %i.%i.%i\n",
{
printf(" Built from Git revision # %i\n", evas_version->revision);
}
#endif

◆ Evas_Callback_Priority

Callback priority value.

Range is -32k - 32k. The lower the number, the bigger the priority.

See also
EVAS_CALLBACK_PRIORITY_AFTER
EVAS_CALLBACK_PRIORITY_BEFORE
EVAS_CALLBACK_PRIORITY_DEFAULT
Since
1.1

◆ Evas_Coord_Rectangle

A generic rectangle handle.

Deprecated:
Use Eina_Rectangle instead

◆ Evas_Coord_Size

Evas_Coord size.

Since
1.8

◆ Evas_Coord_Precision_Size

Evas_Coord size with sub-pixel precision.

Since
1.8

◆ Evas_Coord

typedef int Evas_Coord

Type used for coordinates (in pixels, int).

◆ Evas_Font_Size

typedef int Evas_Font_Size

Type used for font sizes (int).

◆ Evas_Pixel_Import_Pixel_Format

Pixel format for import call.

See evas_object_image_pixels_import()

◆ Evas_Event_Render_Post

Event info sent after a frame was rendered.

Since
1.18

◆ Evas_Device_Class

A general class of device.

Since
1.8

◆ Evas_Button_Flags

Flags for Mouse Button events.

Flags for Mouse Button events

◆ Evas_Event_Flags

Flags for Events.

Flags for Events

Enumeration Type Documentation

◆ _Evas_Image_Content_Hint

Enumerator
EVAS_IMAGE_CONTENT_HINT_NONE 

No hint at all.

EVAS_IMAGE_CONTENT_HINT_DYNAMIC 

The contents will change over time.

EVAS_IMAGE_CONTENT_HINT_STATIC 

The contents won't change over time.

◆ _Evas_Alloc_Error

Enumerator
EVAS_ALLOC_ERROR_NONE 

No allocation error.

EVAS_ALLOC_ERROR_FATAL 

Allocation failed despite attempts to free up memory.

EVAS_ALLOC_ERROR_RECOVERED 

Allocation succeeded after freeing up speculative resource memory.

◆ _Evas_Pixel_Import_Pixel_Format

Enumerator
EVAS_PIXEL_FORMAT_NONE 

No pixel format.

EVAS_PIXEL_FORMAT_ARGB32 

ARGB 32bit pixel format with A in the high byte per 32bit pixel word.

EVAS_PIXEL_FORMAT_YUV420P_601 

YUV 420 Planar format with CCIR 601 color encoding with contiguous planes in the order Y, U and V.

◆ _Evas_Engine_Render_Mode

Enumerator
EVAS_RENDER_MODE_BLOCKING 

The rendering is blocking mode.

EVAS_RENDER_MODE_NONBLOCKING 

The rendering is non blocking mode.

◆ _Evas_Device_Class

Enumerator
EVAS_DEVICE_CLASS_NONE 

Not a device.

Since
1.8
EVAS_DEVICE_CLASS_SEAT 

The user/seat (the user themselves)

Since
1.8
EVAS_DEVICE_CLASS_KEYBOARD 

A regular keyboard, numberpad or attached buttons.

Since
1.8
EVAS_DEVICE_CLASS_MOUSE 

A mouse, trackball or touchpad relative motion device.

Since
1.8
EVAS_DEVICE_CLASS_TOUCH 

A touchscreen with fingers or stylus.

Since
1.8
EVAS_DEVICE_CLASS_PEN 

A special pen device.

Since
1.8
EVAS_DEVICE_CLASS_POINTER 

A laser pointer, wii-style or "minority report" pointing device.

Since
1.8
EVAS_DEVICE_CLASS_GAMEPAD 

A gamepad controller or joystick.

Since
1.8

◆ Evas_Device_Subclass

Specific type of input device.

Note: Currently not used inside EFL.

Since
1.8
Enumerator
EVAS_DEVICE_SUBCLASS_NONE 

Not a device.

EVAS_DEVICE_SUBCLASS_FINGER 

The normal flat of your finger.

EVAS_DEVICE_SUBCLASS_FINGERNAIL 

A fingernail.

EVAS_DEVICE_SUBCLASS_KNUCKLE 

A Knuckle.

EVAS_DEVICE_SUBCLASS_PALM 

The palm of a users hand.

EVAS_DEVICE_SUBCLASS_HAND_SIZE 

The side of your hand.

EVAS_DEVICE_SUBCLASS_HAND_FLAT 

The flat of your hand.

EVAS_DEVICE_SUBCLASS_PEN_TIP 

The tip of a pen.

EVAS_DEVICE_SUBCLASS_TRACKPAD 

A trackpad style mouse.

EVAS_DEVICE_SUBCLASS_TRACKPOINT 

A trackpoint style mouse.

EVAS_DEVICE_SUBCLASS_TRACKBALL 

A trackball style mouse.

◆ _Evas_Button_Flags

Flags for Mouse Button events.

Enumerator
EVAS_BUTTON_NONE 

No extra mouse button data.

EVAS_BUTTON_DOUBLE_CLICK 

This mouse button press was the 2nd press of a double click.

EVAS_BUTTON_TRIPLE_CLICK 

This mouse button press was the 3rd press of a triple click.

◆ _Evas_Event_Flags

Flags for Events.

Enumerator
EVAS_EVENT_FLAG_NONE 

No fancy flags set.

EVAS_EVENT_FLAG_ON_HOLD 

This event is being delivered but should be put "on hold" until the on hold flag is unset.

The event should be used for informational purposes and maybe some indications visually, but not actually perform anything

EVAS_EVENT_FLAG_ON_SCROLL 

This event flag indicates the event occurs while scrolling; for example, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything.

◆ _Evas_Aspect_Control

Enumerator
EVAS_ASPECT_CONTROL_NONE 

Preference on scaling unset.

EVAS_ASPECT_CONTROL_NEITHER 

Same effect as unset preference on scaling.

EVAS_ASPECT_CONTROL_HORIZONTAL 

Use all horizontal container space to place an object, using the given aspect.

EVAS_ASPECT_CONTROL_VERTICAL 

Use all vertical container space to place an object, using the given aspect.

EVAS_ASPECT_CONTROL_BOTH 

Use all horizontal and vertical container spaces to place an object (never growing it out of those bounds), using the given aspect.

◆ _Evas_Font_Data_Cache

Enumerator
EVAS_FONT_DATA_CACHE_TEXTURE 

Texture caching (in case of accelerated rendering)

◆ Evas_Callback_Type

Identifier of callbacks to be set for Evas canvases or Evas objects.

Enumerator
EVAS_CALLBACK_MOUSE_IN 

Mouse In Event.

EVAS_CALLBACK_MOUSE_OUT 

Mouse Out Event.

EVAS_CALLBACK_MOUSE_DOWN 

Mouse Button Down Event.

EVAS_CALLBACK_MOUSE_UP 

Mouse Button Up Event.

EVAS_CALLBACK_MOUSE_MOVE 

Mouse Move Event.

EVAS_CALLBACK_MOUSE_WHEEL 

Mouse Wheel Event.

EVAS_CALLBACK_MULTI_DOWN 

Multi-touch Down Event.

EVAS_CALLBACK_MULTI_UP 

Multi-touch Up Event.

EVAS_CALLBACK_MULTI_MOVE 

Multi-touch Move Event.

EVAS_CALLBACK_FREE 

Object Being Freed (Called after Del)

EVAS_CALLBACK_KEY_DOWN 

Key Press Event.

EVAS_CALLBACK_KEY_UP 

Key Release Event.

EVAS_CALLBACK_FOCUS_IN 

Focus In Event.

EVAS_CALLBACK_FOCUS_OUT 

Focus Out Event.

EVAS_CALLBACK_SHOW 

Show Event.

EVAS_CALLBACK_HIDE 

Hide Event.

EVAS_CALLBACK_MOVE 

Move Event.

EVAS_CALLBACK_RESIZE 

Resize Event.

EVAS_CALLBACK_RESTACK 

Restack Event.

EVAS_CALLBACK_DEL 

Object Being Deleted (called before Free)

EVAS_CALLBACK_HOLD 

Events go on/off hold.

EVAS_CALLBACK_CHANGED_SIZE_HINTS 

Size hints changed event.

EVAS_CALLBACK_IMAGE_PRELOADED 

Image has been preloaded.

EVAS_CALLBACK_CANVAS_FOCUS_IN 

Canvas got focus as a whole.

EVAS_CALLBACK_CANVAS_FOCUS_OUT 

Canvas lost focus as a whole.

EVAS_CALLBACK_RENDER_FLUSH_PRE 

Called after render update regions have been calculated, but only if update regions exist.

EVAS_CALLBACK_RENDER_FLUSH_POST 

Called after render update regions have been sent to the display server, but only if update regions existed for the most recent frame.

EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN 

Canvas object got focus.

EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT 

Canvas object lost focus.

EVAS_CALLBACK_IMAGE_UNLOADED 

Image data has been unloaded (by some mechanism in Evas that throw out original image data)

EVAS_CALLBACK_RENDER_PRE 

Called just before rendering starts on the canvas target.

Since
1.2
EVAS_CALLBACK_RENDER_POST 

Called just after rendering stops on the canvas target.

Since
1.2
EVAS_CALLBACK_IMAGE_RESIZE 

Image size is changed.

Since
1.8
EVAS_CALLBACK_DEVICE_CHANGED 

Devices added, removed or changed on canvas.

Since
1.8
EVAS_CALLBACK_AXIS_UPDATE 

Input device changed value on some axis.

Since
1.13
EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE 

Canvas viewport resized.

Since
1.15
EVAS_CALLBACK_LAST 

Sentinel value to indicate last enum field during iteration.

Function Documentation

◆ evas_cserve_path_get()

EINA_DEPRECATED const char* evas_cserve_path_get ( void  )
Deprecated:
This function now returns NULL as cserve2 support has been removed

Get the path for the cserve binary to execute

There is little need for anyone except a desktop environment to call this. This can be called before evas_init() has been called. It will try and find the full path to the to the cserve binary to run to provide cserve image and font caching services for evas.

Returns
NULL if error, or a string with the full path to the cserve binary.
Since
1.8

◆ evas_cserve_image_cache_contents_clean()

void evas_cserve_image_cache_contents_clean ( Evas_Cserve_Image_Cache cache)

Completely discard/clean a given images cache, thus re-setting it.

Parameters
cacheA handle to the given images cache.

◆ evas_font_data_cache_set()

void evas_font_data_cache_set ( Evas_Font_Data_Cache  options,
int  byte 
)

Set the limit in bytes for memory allocated by font glyphs in evas.

Parameters
[in]optionsfor caching.
[in]bytescache size in bytes, pass negative value to ignore the limit.
Since
1.24

References EVAS_FONT_DATA_CACHE_TEXTURE.

◆ evas_font_data_cache_get()

int evas_font_data_cache_get ( Evas_Font_Data_Cache  options)

Get the limit in bytes for memory allocated by font glyphs in evas.

Parameters
[in]optionsfor caching.
Returns
Returns font allocated memory cache limit, if value is negative this means no limit.
Since
1.24

References EVAS_FONT_DATA_CACHE_TEXTURE.