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
 
struct  _Evas_Coord_Size
 
struct  _Evas_Coord_Precision_Size
 
struct  _Evas_Coord_Precision_Point
 
struct  _Evas_Point
 
struct  _Evas_Position
 
struct  _Evas_Precision_Position
 
struct  _Evas_Pixel_Import_Source
 
struct  _Evas_Native_Surface
 
struct  _Evas_Video_Surface
 
struct  _Evas_Engine_Info
 Generic engine information. More...
 
struct  _Evas_Event_Mouse_Down
 Mouse button press event. More...
 
struct  _Evas_Event_Mouse_Up
 Mouse button release event. More...
 
struct  _Evas_Event_Mouse_In
 Mouse enter event. More...
 
struct  _Evas_Event_Mouse_Out
 Mouse leave event. More...
 
struct  _Evas_Event_Mouse_Move
 Mouse move event. More...
 
struct  _Evas_Event_Mouse_Wheel
 Wheel event. More...
 
struct  _Evas_Event_Multi_Down
 Multi button press event. More...
 
struct  _Evas_Event_Multi_Up
 Multi button release event. More...
 
struct  _Evas_Event_Multi_Move
 Multi button down event. More...
 
struct  _Evas_Event_Key_Down
 Key press event. More...
 
struct  _Evas_Event_Key_Up
 Key release event. More...
 
struct  _Evas_Event_Render_Post
 Send when the frame rendering is done. More...
 
struct  _Evas_Event_Hold
 Hold change event. More...
 
struct  _Evas_Textblock_Rectangle
 
struct  _Evas_Textgrid_Cell
 The values that describes each cell. 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 which 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
 
#define EVAS_VERSION_MINOR   EFL_VERSION_MINOR
 
#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 EVAS_NATIVE_SURFACE_VERSION   2
 
#define EVAS_VIDEO_SURFACE_VERSION   1
 Magic version number to know what the video surf struct looks like. More...
 
#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_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}
 Initializer 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}
 Initializer 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}
 Initializer 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}
 Initializer 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}
 Initializer 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 which 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)
 Initializer 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)
 Initializer 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))
 Initializer to zero out a whole Evas_Object_Box_Api structure and set its name and version. More...
 

Typedefs

typedef struct _Evas_Version Evas_Version
 
typedef enum _Evas_BiDi_Direction Evas_BiDi_Direction
 
typedef enum _Evas_Callback_Type Evas_Callback_Type
 Identifier of callbacks to be set for Evas canvases or Evas objects. More...
 
typedef Eo_Callback_Priority Evas_Callback_Priority
 Callback priority value. 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_Touch_Point_State 
Evas_Touch_Point_State
 State of Evas_Coord_Touch_Point.
 
typedef enum
_Evas_Font_Hinting_Flags 
Evas_Font_Hinting_Flags
 Flags for Font Hinting. More...
 
typedef enum _Evas_Colorspace Evas_Colorspace
 Colorspaces for pixel data supported by Evas. More...
 
typedef enum
_Evas_Object_Table_Homogeneous_Mode 
Evas_Object_Table_Homogeneous_Mode
 How to pack items into cells in a table. More...
 
typedef struct
_Evas_Coord_Rectangle 
Evas_Coord_Rectangle
 A generic rectangle handle.
 
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
 
typedef struct
_Evas_Coord_Precision_Size 
Evas_Coord_Precision_Size
 <Evas_Coord size More...
 
typedef struct _Evas_Position Evas_Position
 <Evas_Coord size with sub-pixel precision More...
 
typedef struct
_Evas_Precision_Position 
Evas_Precision_Position
 associates given point in Canvas and Output, with sub-pixel precision
 
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 struct _Evas_Map Evas_Map
 An opaque handle to map points. More...
 
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 Evas_Object
 An Evas Object handle.
 
typedef void Evas_Performance
 An Evas Performance handle.
 
typedef struct _Evas_Modifier Evas_Modifier
 An opaque type containing information on which modifier keys are registered in an Evas canvas.
 
typedef struct _Evas_Lock Evas_Lock
 An opaque type containing information on which lock keys are registered in an Evas canvas.
 
typedef struct _Evas_Smart Evas_Smart
 An Evas Smart Object handle.
 
typedef struct _Evas_Native_Surface Evas_Native_Surface
 A generic datatype for engine specific native surface information.
 
typedef struct _Evas_Video_Surface Evas_Video_Surface
 A generic datatype for video specific surface information. More...
 
typedef unsigned long long Evas_Modifier_Mask
 An Evas modifier mask type.
 
typedef int Evas_Coord
 
typedef int Evas_Font_Size
 
typedef int Evas_Angle
 
typedef enum _Evas_Aspect_Control Evas_Aspect_Control
 Aspect types/policies for scaling size hints, used for evas_object_size_hint_aspect_set()
 
typedef enum _Evas_Display_Mode Evas_Display_Mode
 object's display mode type related with compress/expand or etc mode
 
typedef struct
_Evas_Pixel_Import_Source 
Evas_Pixel_Import_Source
 A source description of pixels for importing pixels.
 
typedef struct _Evas_Engine_Info Evas_Engine_Info
 A generic Evas Engine information structure.
 
typedef struct _Evas_Device Evas_Device
 A source device handle - where the event came from.
 
typedef struct
_Evas_Event_Mouse_Down 
Evas_Event_Mouse_Down
 Event structure for EVAS_CALLBACK_MOUSE_DOWN event callbacks.
 
typedef struct _Evas_Event_Mouse_Up Evas_Event_Mouse_Up
 Event structure for EVAS_CALLBACK_MOUSE_UP event callbacks.
 
typedef struct _Evas_Event_Mouse_In Evas_Event_Mouse_In
 Event structure for EVAS_CALLBACK_MOUSE_IN event callbacks.
 
typedef struct
_Evas_Event_Mouse_Out 
Evas_Event_Mouse_Out
 Event structure for EVAS_CALLBACK_MOUSE_OUT event callbacks.
 
typedef struct
_Evas_Event_Mouse_Move 
Evas_Event_Mouse_Move
 Event structure for EVAS_CALLBACK_MOUSE_MOVE event callbacks.
 
typedef struct
_Evas_Event_Mouse_Wheel 
Evas_Event_Mouse_Wheel
 Event structure for EVAS_CALLBACK_MOUSE_WHEEL event callbacks.
 
typedef struct
_Evas_Event_Multi_Down 
Evas_Event_Multi_Down
 Event structure for EVAS_CALLBACK_MULTI_DOWN event callbacks.
 
typedef struct _Evas_Event_Multi_Up Evas_Event_Multi_Up
 Event structure for EVAS_CALLBACK_MULTI_UP event callbacks.
 
typedef struct
_Evas_Event_Multi_Move 
Evas_Event_Multi_Move
 Event structure for EVAS_CALLBACK_MULTI_MOVE event callbacks.
 
typedef struct _Evas_Event_Key_Down Evas_Event_Key_Down
 Event structure for EVAS_CALLBACK_KEY_DOWN event callbacks.
 
typedef struct _Evas_Event_Key_Up Evas_Event_Key_Up
 Event structure for EVAS_CALLBACK_KEY_UP event callbacks.
 
typedef struct _Evas_Event_Hold Evas_Event_Hold
 Event structure for EVAS_CALLBACK_HOLD event callbacks.
 
typedef struct
_Evas_Event_Render_Post 
Evas_Event_Render_Post
 Event structure that may come with EVAS_CALLBACK_RENDER_POST event callbacks. More...
 
typedef enum _Evas_Alloc_Error Evas_Alloc_Error
 Possible allocation errors returned by evas_alloc_error()
 
typedef enum _Evas_Fill_Spread Evas_Fill_Spread
 Fill types used for evas_object_image_fill_spread_set()
 
typedef enum
_Evas_Pixel_Import_Pixel_Format 
Evas_Pixel_Import_Pixel_Format
 Pixel format for import call. More...
 
typedef enum
_Evas_Native_Surface_Type 
Evas_Native_Surface_Type
 
typedef void(* Evas_Video_Cb )(void *data, Evas_Object *obj, const Evas_Video_Surface *surface)
 
typedef void(* Evas_Video_Coord_Cb )(void *data, Evas_Object *obj, const Evas_Video_Surface *surface, Evas_Coord a, Evas_Coord b)
 
typedef enum
_Evas_Video_Surface_Caps 
Evas_Video_Surface_Caps
 
typedef enum _Evas_Render_Op Evas_Render_Op
 How the object should be rendered to output. More...
 
typedef enum _Evas_Border_Fill_Mode Evas_Border_Fill_Mode
 How an image's center region (the complement to the border region) should be rendered by Evas.
 
typedef enum
_Evas_Engine_Render_Mode 
Evas_Engine_Render_Mode
 
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_Device_Class Evas_Device_Class
 A general class of device. More...
 
typedef enum _Evas_Device_Subclass Evas_Device_Subclass
 A general class of device. More...
 
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)
 
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)
 
typedef void(* Evas_Object_Intercept_Show_Cb )(void *data, Evas_Object *obj)
 
typedef void(* Evas_Object_Intercept_Hide_Cb )(void *data, Evas_Object *obj)
 
typedef void(* Evas_Object_Intercept_Move_Cb )(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y)
 
typedef void(* Evas_Object_Intercept_Resize_Cb )(void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h)
 
typedef void(* Evas_Object_Intercept_Raise_Cb )(void *data, Evas_Object *obj)
 
typedef void(* Evas_Object_Intercept_Lower_Cb )(void *data, Evas_Object *obj)
 
typedef void(* Evas_Object_Intercept_Stack_Above_Cb )(void *data, Evas_Object *obj, Evas_Object *above)
 
typedef void(* Evas_Object_Intercept_Stack_Below_Cb )(void *data, Evas_Object *obj, Evas_Object *above)
 
typedef void(* Evas_Object_Intercept_Layer_Set_Cb )(void *data, Evas_Object *obj, int l)
 
typedef void(* Evas_Object_Intercept_Focus_Set_Cb )(void *data, Evas_Object *obj, Eina_Bool focus)
 
typedef void(* Evas_Object_Intercept_Color_Set_Cb )(void *data, Evas_Object *obj, int r, int g, int b, int a)
 
typedef void(* Evas_Object_Intercept_Clip_Set_Cb )(void *data, Evas_Object *obj, Evas_Object *clip)
 
typedef void(* Evas_Object_Intercept_Clip_Unset_Cb )(void *data, Evas_Object *obj)
 
typedef void(* Evas_Object_Image_Pixels_Get_Cb )(void *data, Evas_Object *o)
 
typedef enum _Evas_Text_Style_Type Evas_Text_Style_Type
 Types of styles to be applied on text objects. More...
 
typedef struct
_Evas_Textblock_Style 
Evas_Textblock_Style
 
typedef struct
_Evas_Textblock_Cursor 
Evas_Textblock_Cursor
 
typedef struct
_Evas_Object_Textblock_Node_Format 
Evas_Object_Textblock_Node_Format
 A format node.
 
typedef struct
_Evas_Textblock_Rectangle 
Evas_Textblock_Rectangle
 
typedef enum
_Evas_Textblock_Text_Type 
Evas_Textblock_Text_Type
 
typedef enum
_Evas_Textblock_Cursor_Type 
Evas_Textblock_Cursor_Type
 
typedef struct _Evas_Textgrid_Cell Evas_Textgrid_Cell
 The values that describes each cell. 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 Evas_Out
 

Enumerations

enum  _Evas_BiDi_Direction {
  EVAS_BIDI_DIRECTION_NATURAL,
  EVAS_BIDI_DIRECTION_NEUTRAL = EVAS_BIDI_DIRECTION_NATURAL,
  EVAS_BIDI_DIRECTION_LTR,
  EVAS_BIDI_DIRECTION_RTL
}
 
enum  _Evas_Callback_Type {
  EVAS_CALLBACK_MOUSE_IN,
  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_LAST
}
 Identifier of callbacks to be set for Evas canvases or Evas objects. 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_Touch_Point_State {
  EVAS_TOUCH_POINT_DOWN,
  EVAS_TOUCH_POINT_UP,
  EVAS_TOUCH_POINT_MOVE,
  EVAS_TOUCH_POINT_STILL,
  EVAS_TOUCH_POINT_CANCEL
}
 State of Evas_Coord_Touch_Point. More...
 
enum  _Evas_Font_Hinting_Flags {
  EVAS_FONT_HINTING_NONE,
  EVAS_FONT_HINTING_AUTO,
  EVAS_FONT_HINTING_BYTECODE
}
 Flags for Font Hinting. More...
 
enum  _Evas_Colorspace {
  EVAS_COLORSPACE_ARGB8888,
  EVAS_COLORSPACE_YCBCR422P601_PL,
  EVAS_COLORSPACE_YCBCR422P709_PL,
  EVAS_COLORSPACE_RGB565_A5P,
  EVAS_COLORSPACE_GRY8,
  EVAS_COLORSPACE_YCBCR422601_PL,
  EVAS_COLORSPACE_YCBCR420NV12601_PL,
  EVAS_COLORSPACE_YCBCR420TM12601_PL
}
 Colorspaces for pixel data supported by Evas. More...
 
enum  _Evas_Object_Table_Homogeneous_Mode {
  EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
  EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
  EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
}
 How to pack items into cells in a table. 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_Display_Mode {
  EVAS_DISPLAY_MODE_NONE = 0,
  EVAS_DISPLAY_MODE_COMPRESS = 1,
  EVAS_DISPLAY_MODE_EXPAND = 2,
  EVAS_DISPLAY_MODE_DONT_CHANGE = 3
}
 
enum  _Evas_Alloc_Error {
  EVAS_ALLOC_ERROR_NONE = 0,
  EVAS_ALLOC_ERROR_FATAL = 1,
  EVAS_ALLOC_ERROR_RECOVERED = 2
}
 
enum  _Evas_Fill_Spread {
  EVAS_TEXTURE_REFLECT = 0,
  EVAS_TEXTURE_REPEAT = 1,
  EVAS_TEXTURE_RESTRICT = 2,
  EVAS_TEXTURE_RESTRICT_REFLECT = 3,
  EVAS_TEXTURE_RESTRICT_REPEAT = 4,
  EVAS_TEXTURE_PAD = 5
}
 
enum  _Evas_Pixel_Import_Pixel_Format {
  EVAS_PIXEL_FORMAT_NONE = 0,
  EVAS_PIXEL_FORMAT_ARGB32 = 1,
  EVAS_PIXEL_FORMAT_YUV420P_601 = 2
}
 
enum  _Evas_Native_Surface_Type {
  EVAS_NATIVE_SURFACE_NONE,
  EVAS_NATIVE_SURFACE_X11,
  EVAS_NATIVE_SURFACE_OPENGL
}
 
enum  _Evas_Video_Surface_Caps {
  EVAS_VIDEO_SURFACE_MOVE = 1,
  EVAS_VIDEO_SURFACE_RESIZE = 2,
  EVAS_VIDEO_SURFACE_CLIP = 4,
  EVAS_VIDEO_SURFACE_BELOW = 8,
  EVAS_VIDEO_SURFACE_STACKING_CHECK = 16,
  EVAS_VIDEO_SURFACE_IGNORE_WINDOW = 32
}
 
enum  _Evas_Render_Op {
  EVAS_RENDER_BLEND = 0,
  EVAS_RENDER_BLEND_REL = 1,
  EVAS_RENDER_COPY = 2,
  EVAS_RENDER_COPY_REL = 3,
  EVAS_RENDER_ADD = 4,
  EVAS_RENDER_ADD_REL = 5,
  EVAS_RENDER_SUB = 6,
  EVAS_RENDER_SUB_REL = 7,
  EVAS_RENDER_TINT = 8,
  EVAS_RENDER_TINT_REL = 9,
  EVAS_RENDER_MASK = 10,
  EVAS_RENDER_MUL = 11
}
 How the object should be rendered to output. More...
 
enum  _Evas_Border_Fill_Mode {
  EVAS_BORDER_FILL_NONE = 0,
  EVAS_BORDER_FILL_DEFAULT = 1,
  EVAS_BORDER_FILL_SOLID = 2
}
 
enum  _Evas_Engine_Render_Mode {
  EVAS_RENDER_MODE_BLOCKING = 0,
  EVAS_RENDER_MODE_NONBLOCKING = 1
}
 
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_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,
  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
}
 
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_Text_Style_Type {
  EVAS_TEXT_STYLE_PLAIN,
  EVAS_TEXT_STYLE_SHADOW,
  EVAS_TEXT_STYLE_OUTLINE,
  EVAS_TEXT_STYLE_SOFT_OUTLINE,
  EVAS_TEXT_STYLE_GLOW,
  EVAS_TEXT_STYLE_OUTLINE_SHADOW,
  EVAS_TEXT_STYLE_FAR_SHADOW,
  EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW,
  EVAS_TEXT_STYLE_SOFT_SHADOW,
  EVAS_TEXT_STYLE_FAR_SOFT_SHADOW,
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT = (0x0 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM = (0x1 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT = (0x2 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT = (0x3 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT = (0x4 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP = (0x5 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT = (0x6 << 4),
  EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT = (0x7 << 4)
}
 
enum  _Evas_Textblock_Text_Type {
  EVAS_TEXTBLOCK_TEXT_RAW,
  EVAS_TEXTBLOCK_TEXT_PLAIN,
  EVAS_TEXTBLOCK_TEXT_MARKUP
}
 
enum  _Evas_Textblock_Cursor_Type {
  EVAS_TEXTBLOCK_CURSOR_UNDER,
  EVAS_TEXTBLOCK_CURSOR_BEFORE
}
 
enum  Evas_Textgrid_Palette {
  EVAS_TEXTGRID_PALETTE_NONE,
  EVAS_TEXTGRID_PALETTE_STANDARD,
  EVAS_TEXTGRID_PALETTE_EXTENDED,
  EVAS_TEXTGRID_PALETTE_LAST
}
 The palette to use for the foreground and background colors. More...
 
enum  Evas_Textgrid_Font_Style {
  EVAS_TEXTGRID_FONT_STYLE_NORMAL = (1 << 0),
  EVAS_TEXTGRID_FONT_STYLE_BOLD = (1 << 1),
  EVAS_TEXTGRID_FONT_STYLE_ITALIC = (1 << 2)
}
 The style to give to each character of the grid. More...
 

Functions

const char * evas_cserve_path_get (void)
 Get the path for the cserve binary to execute. More...
 
int evas_init (void)
 Initialize Evas. More...
 
int evas_shutdown (void)
 Shutdown Evas. More...
 
Evas_Alloc_Error evas_alloc_error (void)
 Return if any allocation errors have occurred during the prior function. More...
 
int evas_async_events_fd_get (void)
 Get evas' internal asynchronous events read file descriptor. More...
 
int evas_async_events_process (void)
 Trigger the processing of all events waiting on the file descriptor returned by evas_async_events_fd_get(). 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...
 
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...
 
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_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)
 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)
 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...
 
void evas_map_util_points_populate_from_object_full (Evas_Map *m, const Evas_Object *obj, Evas_Coord z)
 Populate source and destination map points to match exactly object. More...
 
void evas_map_util_points_populate_from_object (Evas_Map *m, const Evas_Object *obj)
 Populate source and destination map points to match exactly object. More...
 
void evas_map_util_points_populate_from_geometry (Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)
 Populate source and destination map points to match given geometry. More...
 
void evas_map_util_points_color_set (Evas_Map *m, int r, int g, int b, int a)
 Set color of all points to given color. More...
 
void evas_map_util_rotate (Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy)
 Change the map to apply the given rotation. More...
 
void evas_map_util_zoom (Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)
 Change the map to apply the given zooming. More...
 
void evas_map_util_3d_rotate (Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)
 Rotate the map around 3 axes in 3D. More...
 
void evas_map_util_quat_rotate (Evas_Map *m, double qx, double qy, double qz, double qw, double cx, double cy, double cz)
 Rotate the map in 3D using a unit quaternion. More...
 
void evas_map_util_3d_lighting (Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)
 Perform lighting calculations on the given Map. More...
 
void evas_map_util_3d_perspective (Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)
 Apply a perspective transform to the map. More...
 
Eina_Bool evas_map_util_clockwise_get (Evas_Map *m)
 Get the clockwise state of a map. More...
 
Evas_Mapevas_map_new (int count)
 Create map of transformation points to be later used with an Evas object. More...
 
void evas_map_smooth_set (Evas_Map *m, Eina_Bool enabled)
 Set the smoothing for map rendering. More...
 
Eina_Bool evas_map_smooth_get (const Evas_Map *m)
 Get the smoothing for map rendering. More...
 
void evas_map_alpha_set (Evas_Map *m, Eina_Bool enabled)
 Set the alpha flag for map rendering. More...
 
Eina_Bool evas_map_alpha_get (const Evas_Map *m)
 Get the alpha flag for map rendering. More...
 
Evas_Mapevas_map_dup (const Evas_Map *m)
 Copy a previously allocated map. More...
 
void evas_map_free (Evas_Map *m)
 Free a previously allocated map. More...
 
int evas_map_count_get (const Evas_Map *m)
 Get a maps size. More...
 
void evas_map_point_coord_set (Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)
 Change the map point's coordinate. More...
 
void evas_map_point_coord_get (const Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)
 Get the map point's coordinate. More...
 
void evas_map_point_image_uv_set (Evas_Map *m, int idx, double u, double v)
 Change the map point's U and V texture source point. More...
 
void evas_map_point_image_uv_get (const Evas_Map *m, int idx, double *u, double *v)
 Get the map point's U and V texture source points. More...
 
void evas_map_point_color_set (Evas_Map *m, int idx, int r, int g, int b, int a)
 Set the color of a vertex in the map. More...
 
void evas_map_point_color_get (const Evas_Map *m, int idx, int *r, int *g, int *b, int *a)
 Get the color set on a vertex in the map. 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...
 
const char * evas_textblock_escape_string_get (const char *escape)
 Returns the unescaped version of escape. More...
 
const char * evas_textblock_string_escape_get (const char *string, int *len_ret)
 Returns the escaped version of the string. More...
 
const char * evas_textblock_escape_string_range_get (const char *escape_start, const char *escape_end)
 Return the unescaped version of the string between start and end. More...
 
Evas_Textblock_Style * evas_textblock_style_new (void)
 Creates a new textblock style. More...
 
void evas_textblock_style_free (Evas_Textblock_Style *ts)
 Destroys a textblock style. More...
 
void evas_textblock_style_set (Evas_Textblock_Style *ts, const char *text)
 Sets the style ts to the style passed as text by text. More...
 
const char * evas_textblock_style_get (const Evas_Textblock_Style *ts)
 Return the text of the style ts. More...
 
void evas_object_textblock_text_markup_prepend (Evas_Textblock_Cursor *cur, const char *text)
 Prepends markup to the cursor cur. More...
 
void evas_textblock_cursor_free (Evas_Textblock_Cursor *cur)
 Free the cursor and unassociate it from the object. More...
 
void evas_textblock_cursor_paragraph_first (Evas_Textblock_Cursor *cur)
 Sets the cursor to the start of the first text node. More...
 
void evas_textblock_cursor_paragraph_last (Evas_Textblock_Cursor *cur)
 sets the cursor to the end of the last text node. More...
 
Eina_Bool evas_textblock_cursor_paragraph_next (Evas_Textblock_Cursor *cur)
 Advances to the start of the next text node. More...
 
Eina_Bool evas_textblock_cursor_paragraph_prev (Evas_Textblock_Cursor *cur)
 Advances to the end of the previous text node. More...
 
const
Evas_Object_Textblock_Node_Format
evas_textblock_node_format_next_get (const Evas_Object_Textblock_Node_Format *n)
 Returns the next format node (after n) More...
 
const
Evas_Object_Textblock_Node_Format
evas_textblock_node_format_prev_get (const Evas_Object_Textblock_Node_Format *n)
 Returns the prev format node (after n) More...
 
void evas_textblock_cursor_set_at_format (Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n)
 Sets the cursor to point to the place where format points to. More...
 
const
Evas_Object_Textblock_Node_Format
evas_textblock_cursor_format_get (const Evas_Textblock_Cursor *cur)
 Return the format node at the position pointed by cur. More...
 
const char * evas_textblock_node_format_text_get (const Evas_Object_Textblock_Node_Format *fnode)
 Get the text format representation of the format node. More...
 
void evas_textblock_cursor_at_format_set (Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt)
 Set the cursor to point to the position of fmt. More...
 
Eina_Bool evas_textblock_cursor_format_is_visible_get (const Evas_Textblock_Cursor *cur)
 Check if the current cursor position is a visible format. More...
 
Eina_Bool evas_textblock_cursor_format_next (Evas_Textblock_Cursor *cur)
 Advances to the next format node. More...
 
Eina_Bool evas_textblock_cursor_format_prev (Evas_Textblock_Cursor *cur)
 Advances to the previous format node. More...
 
Eina_Bool evas_textblock_cursor_is_format (const Evas_Textblock_Cursor *cur)
 Returns true if the cursor points to a format. More...
 
Eina_Bool evas_textblock_cursor_char_next (Evas_Textblock_Cursor *cur)
 Advances 1 char forward. More...
 
Eina_Bool evas_textblock_cursor_char_prev (Evas_Textblock_Cursor *cur)
 Advances 1 char backward. More...
 
Eina_Bool evas_textblock_cursor_word_start (Evas_Textblock_Cursor *cur)
 Moves the cursor to the start of the word under the cursor. More...
 
Eina_Bool evas_textblock_cursor_word_end (Evas_Textblock_Cursor *cur)
 Moves the cursor to the end of the word under the cursor. More...
 
void evas_textblock_cursor_paragraph_char_first (Evas_Textblock_Cursor *cur)
 Go to the first char in the node the cursor is pointing on. More...
 
void evas_textblock_cursor_paragraph_char_last (Evas_Textblock_Cursor *cur)
 Go to the last char in a text node. More...
 
void evas_textblock_cursor_line_char_first (Evas_Textblock_Cursor *cur)
 Go to the start of the current line. More...
 
void evas_textblock_cursor_line_char_last (Evas_Textblock_Cursor *cur)
 Go to the end of the current line. More...
 
int evas_textblock_cursor_pos_get (const Evas_Textblock_Cursor *cur)
 Return the current cursor pos. More...
 
void evas_textblock_cursor_pos_set (Evas_Textblock_Cursor *cur, int pos)
 Set the cursor pos. More...
 
Eina_Bool evas_textblock_cursor_line_set (Evas_Textblock_Cursor *cur, int line)
 Go to the start of the line passed. More...
 
int evas_textblock_cursor_compare (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)
 Compare two cursors. More...
 
void evas_textblock_cursor_copy (const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)
 Make cur_dest point to the same place as cur. More...
 
int evas_textblock_cursor_text_append (Evas_Textblock_Cursor *cur, const char *text)
 Adds text to the current cursor position and set the cursor to before the start of the text just added. More...
 
int evas_textblock_cursor_text_prepend (Evas_Textblock_Cursor *cur, const char *text)
 Adds text to the current cursor position and set the cursor to after the start of the text just added. More...
 
Eina_Bool evas_textblock_cursor_format_append (Evas_Textblock_Cursor *cur, const char *format)
 Adds format to the current cursor position. More...
 
Eina_Bool evas_textblock_cursor_format_prepend (Evas_Textblock_Cursor *cur, const char *format)
 Adds format to the current cursor position. More...
 
void evas_textblock_cursor_char_delete (Evas_Textblock_Cursor *cur)
 Delete the character at the location of the cursor. More...
 
void evas_textblock_cursor_range_delete (Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
 Delete the range between cur1 and cur2. More...
 
const char * evas_textblock_cursor_paragraph_text_get (const Evas_Textblock_Cursor *cur)
 Return the text of the paragraph cur points to - returns the text in markup. More...
 
int evas_textblock_cursor_paragraph_text_length_get (const Evas_Textblock_Cursor *cur)
 Return the length of the paragraph, cheaper the eina_unicode_strlen() More...
 
Eina_Bool evas_textblock_cursor_visible_range_get (Evas_Textblock_Cursor *start, Evas_Textblock_Cursor *end)
 Return the currently visible range. More...
 
Eina_Listevas_textblock_cursor_range_formats_get (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)
 Return the format nodes in the range between cur1 and cur2. More...
 
char * evas_textblock_cursor_range_text_get (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2, Evas_Textblock_Text_Type format)
 Return the text in the range between cur1 and cur2. More...
 
char * evas_textblock_cursor_content_get (const Evas_Textblock_Cursor *cur)
 Return the content of the cursor. More...
 
Eina_Bool evas_textblock_cursor_geometry_bidi_get (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_Coord *cx2, Evas_Coord *cy2, Evas_Coord *cw2, Evas_Coord *ch2, Evas_Textblock_Cursor_Type ctype)
 Returns the geometry of two cursors ("split cursor"), if logical cursor is between LTR/RTL text, also considering paragraph direction. More...
 
int evas_textblock_cursor_geometry_get (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype)
 Returns the geometry of the cursor. More...
 
int evas_textblock_cursor_char_geometry_get (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
 Returns the geometry of the char at cur. More...
 
int evas_textblock_cursor_pen_geometry_get (const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Coord *cadv, Evas_Coord *ch)
 Returns the geometry of the pen at cur. More...
 
int evas_textblock_cursor_line_geometry_get (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
 Returns the geometry of the line at cur. More...
 
Eina_Bool evas_textblock_cursor_char_coord_set (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)
 Set the position of the cursor according to the X and Y coordinates. More...
 
int evas_textblock_cursor_line_coord_set (Evas_Textblock_Cursor *cur, Evas_Coord y)
 Set the cursor position according to the y coord. More...
 
Eina_Listevas_textblock_cursor_range_geometry_get (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)
 Get the geometry of a range. More...
 
Eina_Bool evas_textblock_cursor_format_item_geometry_get (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
 
Eina_Bool evas_textblock_cursor_eol_get (const Evas_Textblock_Cursor *cur)
 Checks if the cursor points to the end of the line. 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 users of the smart instance. More...
 
void evas_smart_legacy_type_register (const char *type, const Eo_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 english. 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...
 
Eina_Bool evas_key_modifier_is_set (const Evas_Modifier *m, const char *keyname)
 Checks the state of a given modifier key, at the time of the call. More...
 
Eina_Bool evas_key_lock_is_set (const Evas_Lock *l, const char *keyname)
 Checks the state of a given lock key, at the time of the call. More...
 

Variables

Evas_Versionevas_version
 

Detailed Description

These routines are used for Evas library interaction.

Todo:

check boolean return values and convert to Eina_Bool

change all api to use EINA_SAFETY_*

finish api documentation

Macro Definition Documentation

#define EVAS_CALLBACK_PRIORITY_BEFORE   -100

Slightly more prioritized than default.

Since
1.1
#define EVAS_CALLBACK_PRIORITY_DEFAULT   0

Default callback priority level.

Since
1.1

Referenced by evas_event_callback_add(), evas_object_event_callback_add(), and evas_object_smart_callback_add().

#define EVAS_CALLBACK_PRIORITY_AFTER   100

Slightly less prioritized than default.

Since
1.1
#define EVAS_VIDEO_SURFACE_VERSION   1

Magic version number to know what the video surf struct looks like.

Since
1.1

Typedef Documentation

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

The following figure illustrates some Evas callbacks:

evas-callbacks.png
See also
evas_object_event_callback_add()
evas_event_callback_add()The types of events triggering a callback

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

Flags for Mouse Button events.

Flags for Mouse Button events

Flags for Events.

Flags for Events

<Evas_Coord size

Since
1.8
typedef struct _Evas_Position Evas_Position

<Evas_Coord size with sub-pixel precision

Since
1.8 associates given point in Canvas and Output

A generic datatype for video specific surface information.

See also
evas_object_image_video_surface_set
evas_object_image_video_surface_get
Since
1.1

Event structure that may come with EVAS_CALLBACK_RENDER_POST event callbacks.

Since
1.8

A general class of device.

Since
1.8

A general class of device.

Since
1.8

Enumeration Type Documentation

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

The following figure illustrates some Evas callbacks:

evas-callbacks.png
See also
evas_object_event_callback_add()
evas_event_callback_add()
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 just before rendering is updated on the canvas target.

EVAS_CALLBACK_RENDER_FLUSH_POST 

Called just after rendering is updated on the canvas target.

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_LAST 

kept as last element/sentinel – not really an event

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.

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.

State of Evas_Coord_Touch_Point.

Enumerator
EVAS_TOUCH_POINT_DOWN 

Touch point is pressed down.

EVAS_TOUCH_POINT_UP 

Touch point is released.

EVAS_TOUCH_POINT_MOVE 

Touch point is moved.

EVAS_TOUCH_POINT_STILL 

Touch point is not moved after pressed.

EVAS_TOUCH_POINT_CANCEL 

Touch point is cancelled.

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.

Enumerator
EVAS_DISPLAY_MODE_NONE 

Default mode.

EVAS_DISPLAY_MODE_COMPRESS 

Use this mode when you want to give compress display mode hint to an object.

EVAS_DISPLAY_MODE_EXPAND 

Use this mode when you want to give expand display mode hint to an object.

EVAS_DISPLAY_MODE_DONT_CHANGE 

Use this mode when an object should not change its display mode.

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, but extra memory had to be found by freeing up speculative resources.

Enumerator
EVAS_TEXTURE_REFLECT 

image fill tiling mode - tiling reflects

EVAS_TEXTURE_REPEAT 

tiling repeats

EVAS_TEXTURE_RESTRICT 

tiling clamps - range offset ignored

EVAS_TEXTURE_RESTRICT_REFLECT 

tiling clamps and any range offset reflects

EVAS_TEXTURE_RESTRICT_REPEAT 

tiling clamps and any range offset repeats

EVAS_TEXTURE_PAD 

tiling extends with end values

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.

Enumerator
EVAS_BORDER_FILL_NONE 

Image's center region is not to be rendered.

EVAS_BORDER_FILL_DEFAULT 

Image's center region is to be blended with objects underneath it, if it has transparency.

This is the default behavior for image objects

EVAS_BORDER_FILL_SOLID 

Image's center region is to be made solid, even if it has transparency on it.

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.

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
Enumerator
EVAS_DEVICE_SUBCLASS_NONE 

Not a device.

Since
1.8
EVAS_DEVICE_SUBCLASS_FINGER 

The normal flat of your finger.

Since
1.8
EVAS_DEVICE_SUBCLASS_FINGERNAIL 

A fingernail.

Since
1.8
EVAS_DEVICE_SUBCLASS_KNUCKLE 

A Knuckle.

Since
1.8
EVAS_DEVICE_SUBCLASS_PALM 

The palm of a users hand.

Since
1.8
EVAS_DEVICE_SUBCLASS_HAND_SIZE 

The side of your hand.

Since
1.8
EVAS_DEVICE_SUBCLASS_HAND_FLAT 

The flat of your hand.

Since
1.8
EVAS_DEVICE_SUBCLASS_PEN_TIP 

The tip of a pen.

Since
1.8
EVAS_DEVICE_SUBCLASS_TRACKPAD 

A trackpad style mouse.

Since
1.8
EVAS_DEVICE_SUBCLASS_TRACKPOINT 

A trackpoint style mouse.

Since
1.8
EVAS_DEVICE_SUBCLASS_TRACKBALL 

A trackball style mouse.

Since
1.8

Function Documentation

const char* evas_cserve_path_get ( void  )

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
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.