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_Native_Surface
 A generic datatype for engine specific native surface information. More...
 
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_Axis
 
struct  _Evas_Event_Axis_Update
 
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
 The major number of evas version.
 
#define EVAS_VERSION_MINOR   EFL_VERSION_MINOR
 The minor number of eet 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 _EVAS_OBJECT_EO_CLASS_TYPE
 
#define EVAS_TEXTURE_REFLECT   EFL_GFX_FILL_REFLECT
 
#define EVAS_TEXTURE_REPEAT   EFL_GFX_FILL_REPEAT
 
#define EVAS_TEXTURE_RESTRICT   EFL_GFX_FILL_RESTRICT
 
#define EVAS_TEXTURE_RESTRICT_REFLECT   EFL_GFX_FILL_RESTRICT_REFLECT
 
#define EVAS_TEXTURE_RESTRICT_REPEAT   EFL_GFX_FILL_RESTRICT_REPEAT
 
#define EVAS_TEXTURE_PAD   EFL_GFX_FILL_PAD
 
#define EVAS_NATIVE_SURFACE_VERSION   3
 Magic version number to know what the native surface struct looks like.
 
#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...
 
#define _EVAS_OUT_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 Eo_Callback_Priority Evas_Callback_Priority
 Callback priority value. 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
 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 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 Evas_Object
 
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 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 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 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 struct _Evas_Event_Axis_Update Evas_Event_Axis_Update
 Event structure for EVAS_CALLBACK_AXIS_UPDATE event callbacks. More...
 
typedef enum _Evas_Alloc_Error Evas_Alloc_Error
 Possible allocation errors returned by evas_alloc_error()
 
typedef Efl_Gfx_Fill_Spread Evas_Fill_Spread
 
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
 Native surface types that image object supports. More...
 
typedef void(* Evas_Video_Cb) (void *data, Evas_Object *obj, const Evas_Video_Surface *surface)
 Evas video callback function signature.
 
typedef void(* Evas_Video_Coord_Cb) (void *data, Evas_Object *obj, const Evas_Video_Surface *surface, Evas_Coord a, Evas_Coord b)
 Evas video coordinates callback function signature.
 
typedef enum _Evas_Video_Surface_Caps Evas_Video_Surface_Caps
 Enum values for the Video surface capabilities. 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
 behaviour of the renderer
 
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_Image_Orient Evas_Image_Orient
 Possible orientation options for evas_object_image_orient_set(). More...
 
typedef enum _Evas_Device_Class Evas_Device_Class
 A general class of device. More...
 
typedef enum _Evas_Device_Subclass Evas_Device_Subclass
 A general subclass of device. More...
 
typedef enum _Evas_Axis_Label Evas_Axis_Label
 Types of recognized device axes. 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_Intercept_Show_Cb) (void *data, Evas_Object *obj)
 Function signature for the resize event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Hide_Cb) (void *data, Evas_Object *obj)
 Function signature for the hide event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Move_Cb) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y)
 Function signature for the move event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Resize_Cb) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h)
 Function signature for the resize event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Raise_Cb) (void *data, Evas_Object *obj)
 Function signature for the raise event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Lower_Cb) (void *data, Evas_Object *obj)
 Function signature for the lower event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Stack_Above_Cb) (void *data, Evas_Object *obj, Evas_Object *above)
 Function signature for the stack above event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Stack_Below_Cb) (void *data, Evas_Object *obj, Evas_Object *above)
 Function signature for the stack below event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Layer_Set_Cb) (void *data, Evas_Object *obj, int l)
 Function signature for the layer event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Focus_Set_Cb) (void *data, Evas_Object *obj, Eina_Bool focus)
 Function signature for the focus set event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Color_Set_Cb) (void *data, Evas_Object *obj, int r, int g, int b, int a)
 Function signature for the color set event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Clip_Set_Cb) (void *data, Evas_Object *obj, Evas_Object *clip)
 Function signature for the clip set event of an evas object. More...
 
typedef void(* Evas_Object_Intercept_Clip_Unset_Cb) (void *data, Evas_Object *obj)
 Function signature for the clip unset event of an evas object. More...
 
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_Textblock_Style Evas_Textblock_Style
 A textblock style object. More...
 
typedef struct _Evas_Textblock_Cursor Evas_Textblock_Cursor
 A textblock cursor object, used to maipulate the cursor of an evas textblock. More...
 
typedef struct _Evas_Textblock_Node_Format Evas_Object_Textblock_Node_Format
 A format node. More...
 
typedef struct _Evas_Textblock_Rectangle Evas_Textblock_Rectangle
 
typedef enum _Evas_Textblock_Text_Type Evas_Textblock_Text_Type
 Text type for evas textblock.
 
typedef enum _Evas_Textblock_Cursor_Type Evas_Textblock_Cursor_Type
 Cursor type for evas textblock.
 
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_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_Native_Surface_Type {
  EVAS_NATIVE_SURFACE_NONE,
  EVAS_NATIVE_SURFACE_X11,
  EVAS_NATIVE_SURFACE_OPENGL,
  EVAS_NATIVE_SURFACE_WL,
  EVAS_NATIVE_SURFACE_TBM,
  EVAS_NATIVE_SURFACE_EVASGL
}
 Native surface types that image object supports. More...
 
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 values for the Video surface capabilities. 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_Image_Orient {
  EVAS_IMAGE_ORIENT_NONE = 0,
  EVAS_IMAGE_ORIENT_0 = 0,
  EVAS_IMAGE_ORIENT_90 = 1,
  EVAS_IMAGE_ORIENT_180 = 2,
  EVAS_IMAGE_ORIENT_270 = 3,
  EVAS_IMAGE_FLIP_HORIZONTAL = 4,
  EVAS_IMAGE_FLIP_VERTICAL = 5,
  EVAS_IMAGE_FLIP_TRANSPOSE = 6,
  EVAS_IMAGE_FLIP_TRANSVERSE = 7
}
 Possible orientation options for evas_object_image_orient_set(). More...
 
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_Axis_Label {
  EVAS_AXIS_LABEL_UNKNOWN,
  EVAS_AXIS_LABEL_X,
  EVAS_AXIS_LABEL_Y,
  EVAS_AXIS_LABEL_PRESSURE,
  EVAS_AXIS_LABEL_DISTANCE,
  EVAS_AXIS_LABEL_AZIMUTH,
  EVAS_AXIS_LABEL_TILT,
  EVAS_AXIS_LABEL_TWIST,
  EVAS_AXIS_LABEL_TOUCH_WIDTH_MAJOR,
  EVAS_AXIS_LABEL_TOUCH_WIDTH_MINOR,
  EVAS_AXIS_LABEL_TOOL_WIDTH_MAJOR,
  EVAS_AXIS_LABEL_TOOL_WIDTH_MINOR
}
 
enum  _Evas_Textblock_Text_Type {
  EVAS_TEXTBLOCK_TEXT_RAW,
  EVAS_TEXTBLOCK_TEXT_PLAIN,
  EVAS_TEXTBLOCK_TEXT_MARKUP
}
 Text type for evas textblock. More...
 
enum  _Evas_Textblock_Cursor_Type {
  EVAS_TEXTBLOCK_CURSOR_UNDER,
  EVAS_TEXTBLOCK_CURSOR_BEFORE
}
 Cursor type for evas textblock. 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...
 
void evas_map_util_object_move_sync_set (Evas_Map *m, Eina_Bool enabled)
 Set the flag of the object move synchronization for map rendering. More...
 
Eina_Bool evas_map_util_object_move_sync_get (const Evas_Map *m)
 Get the flag of the object move synchronization 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_Styleevas_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_Formatevas_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_Formatevas_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_Formatevas_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_Iteratorevas_textblock_cursor_range_simple_geometry_get (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)
 Get the simple 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)
 Get the geometry of ? More...
 
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...
 
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...
 

Variables

Evas_Versionevas_version
 

Detailed Description

These routines are used for Evas library interaction.

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

Referenced by evas_object_image_pixels_import().

Typedef Documentation

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:

1 #if defined(EVAS_VERSION_MAJOR) && (EVAS_VERSION_MAJOR >= 1) && defined(EVAS_VERSION_MINOR) && (EVAS_VERSION_MINOR > 0)
2 printf("Evas version: %i.%i.%i\n",
3  evas_version->major,
4  evas_version->minor,
5  evas_version->micro);
6 if (evas_version->revision > 0)
7  {
8  printf(" Built from Git revision # %i\n", evas_version->revision);
9  }
10 #endif

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

Since
1.8

Evas_Coord size with sub-pixel precision.

Since
1.8

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

Event structure for EVAS_CALLBACK_AXIS_UPDATE event callbacks.

Since
1.13

Pixel format for import call.

See evas_object_image_pixels_import()

Native surface types that image object supports.

See also
Evas_Native_Surface
evas_object_image_native_surface_set()

Enum values for the Video surface capabilities.

See also
evas_object_image_video_surface_caps_get()
evas_object_image_video_surface_caps_set()

Possible orientation options for evas_object_image_orient_set().

Types of orientation available

Since
1.14

A general class of device.

Since
1.8

A general subclass of device.

Since
1.8

Types of recognized device axes.

Since
1.13

Enumeration Type Documentation

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

Native surface types that image object supports.

See also
Evas_Native_Surface
evas_object_image_native_surface_set()
Enumerator
EVAS_NATIVE_SURFACE_NONE 

No surface type.

EVAS_NATIVE_SURFACE_X11 

X Window system based type.

pixmap id or visual of the pixmap

EVAS_NATIVE_SURFACE_OPENGL 

OpenGL system based type.

texture or framebuffer id

EVAS_NATIVE_SURFACE_WL 

Wayland system based type.

buffer of surface

EVAS_NATIVE_SURFACE_TBM 

Tizen system based type.

tbm surface

Since
1.14
EVAS_NATIVE_SURFACE_EVASGL 

Evas GL based type.

evas gl surface

Since
1.14

Enum values for the Video surface capabilities.

See also
evas_object_image_video_surface_caps_get()
evas_object_image_video_surface_caps_set()
Enumerator
EVAS_VIDEO_SURFACE_MOVE 

Move capability.

EVAS_VIDEO_SURFACE_RESIZE 

Resize capability.

EVAS_VIDEO_SURFACE_CLIP 

Clip capability.

EVAS_VIDEO_SURFACE_BELOW 

Below capability.

EVAS_VIDEO_SURFACE_STACKING_CHECK 

Stacking capability.

EVAS_VIDEO_SURFACE_IGNORE_WINDOW 

Ignore window capability.

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_RENDER_MODE_BLOCKING 

The rendering is blocking mode.

EVAS_RENDER_MODE_NONBLOCKING 

The rendering is non blocking mode.

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.

Possible orientation options for evas_object_image_orient_set().

Types of orientation available

Since
1.14
Enumerator
EVAS_IMAGE_ORIENT_NONE 

no orientation change

EVAS_IMAGE_ORIENT_0 

no orientation change

EVAS_IMAGE_ORIENT_90 

orient 90 degrees clockwise

EVAS_IMAGE_ORIENT_180 

orient 180 degrees clockwise

EVAS_IMAGE_ORIENT_270 

rotate 90 degrees counter-clockwise (i.e.

270 degrees clockwise)

EVAS_IMAGE_FLIP_HORIZONTAL 

flip image horizontally

EVAS_IMAGE_FLIP_VERTICAL 

flip image vertically

EVAS_IMAGE_FLIP_TRANSPOSE 

flip image along the y = (width - x) line (bottom-left to top-right)

EVAS_IMAGE_FLIP_TRANSVERSE 

flip image along the y = x line (top-left to bottom-right)

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

Axis containing unknown (or not yet representable) data.

Range: Unbounded. Unit: Undefined.

Since
1.13
EVAS_AXIS_LABEL_X 

Position along physical X axis; not window relative.

Range: Unbounded. Unit: Undefined.

Since
1.13
EVAS_AXIS_LABEL_Y 

Position along physical Y axis; not window relative.

Range: Unbounded. Unit: Undefined.

Since
1.13
EVAS_AXIS_LABEL_PRESSURE 

Force applied to tool tip.

Range: [0.0, 1.0]. Unit: Unitless.

Since
1.13
EVAS_AXIS_LABEL_DISTANCE 

Relative distance along physical Z axis.

Range: [0.0, 1.0]. Unit: Unitless

Since
1.13
EVAS_AXIS_LABEL_AZIMUTH 

Angle of tool about the Z axis from positive X axis.

Range: [-PI, PI]. Unit: Radians.

Since
1.13
EVAS_AXIS_LABEL_TILT 

Angle of tool about plane of sensor from positive Z axis.

Range: [0.0, PI]. Unit: Radians.

Since
1.13
EVAS_AXIS_LABEL_TWIST 

Rotation of tool about its major axis from its "natural" position.

Range: [-PI, PI] Unit: Radians.

Since
1.13
EVAS_AXIS_LABEL_TOUCH_WIDTH_MAJOR 

Length of contact ellipse along AZIMUTH.

Range: Unbounded: Unit: Same as EVAS_AXIS_LABEL_{X,Y}.

Since
1.13
EVAS_AXIS_LABEL_TOUCH_WIDTH_MINOR 

Length of contact ellipse perpendicular to AZIMUTH.

Range: Unbounded. Unit: Same as EVAS_AXIS_LABEL_{X,Y}.

Since
1.13
EVAS_AXIS_LABEL_TOOL_WIDTH_MAJOR 

Length of tool ellipse along AZIMUTH.

Range: Unbounded. Unit: Same as EVAS_AXIS_LABEL_{X,Y}.

Since
1.13
EVAS_AXIS_LABEL_TOOL_WIDTH_MINOR 

Length of tool ellipse perpendicular to AZIMUTH.

Range: Unbounded. Unit: Same as EVAS_AXIS_LABEL_{X,Y}.

Since
1.13

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.