Evas

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

Modules | Typedefs | Enumerations
Evas

Drawing canvas. More...

## Modules
| Top Level Functions
| Functions that affect Evas as a whole.
| Canvas Functions
| Low level Evas canvas functions.
| Generic Object Functions
| Functions that manipulate generic Evas objects.
| Specific Object Functions
| Functions that work on specific objects.
| Smart Functions
| Functions that deal with Evas_Smart structs, creating definition (classes) of objects that will have customized behavior for methods like evas_object_move(), evas_object_resize(), evas_object_clip_set() and others.
| Smart Object Functions
| Functions dealing with Evas smart objects (instances).
| Shared Image Cache Server
| Evas has an (optional) module which provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power.
| General Utilities
| Some functions that are handy but are not specific of canvas or objects.
| Evas 3D Extensions
| Evas extension to support 3D rendering.
| Evas_Object_Vg
| Evas_Object_Vg is the scene graph for managing vector graphics objects.

## Typedefs
typedef unsigned long long | Evas_Modifier_Mask
| An Evas modifier mask type.
typedef int | Evas_Coord
| A type for coordinates.
typedef struct _Evas_Map | Evas_Map
| An opaque handle to map points. More...
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_Engine_Info | Evas_Engine_Info
| A generic Evas Engine information structure.
typedef struct _Evas_Axis | Evas_Axis
| Details for a single device axis state. More...
typedef double | Evas_Real
| A type for floating value.

## Enumerations
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 }
| Aspect types/policies for scaling size hints, used for evas_object_size_hint_aspect_set() More...
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_Object_Pointer_Mode { EVAS_OBJECT_POINTER_MODE_AUTOGRAB = 0, 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 = 0, 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 = 0, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM = 16, EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT = 32, EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT = 48, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT = 64, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP = 80, EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT = 96, EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT = 112 }
| Types of styles to be applied on text objects. More...
enum | Evas_Button_Flags { EVAS_BUTTON_NONE = 0, EVAS_BUTTON_DOUBLE_CLICK = 1, EVAS_BUTTON_TRIPLE_CLICK = 2 }
| Flags for Mouse Button events. More...
enum | Evas_Event_Flags { EVAS_EVENT_FLAG_NONE = 0, EVAS_EVENT_FLAG_ON_HOLD = 1, EVAS_EVENT_FLAG_ON_SCROLL = 2 }
| Flags for Events. More...
enum | Evas_Touch_Point_State { EVAS_TOUCH_POINT_DOWN = 0, 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_Callback_Type { EVAS_CALLBACK_MOUSE_IN = 0, EVAS_CALLBACK_MOUSE_OUT, EVAS_CALLBACK_MOUSE_DOWN, EVAS_CALLBACK_MOUSE_UP, EVAS_CALLBACK_MOUSE_MOVE, EVAS_CALLBACK_MOUSE_WHEEL, EVAS_CALLBACK_MULTI_DOWN, EVAS_CALLBACK_MULTI_UP, EVAS_CALLBACK_MULTI_MOVE, EVAS_CALLBACK_FREE, EVAS_CALLBACK_KEY_DOWN, EVAS_CALLBACK_KEY_UP, EVAS_CALLBACK_FOCUS_IN, EVAS_CALLBACK_FOCUS_OUT, EVAS_CALLBACK_SHOW, EVAS_CALLBACK_HIDE, EVAS_CALLBACK_MOVE, EVAS_CALLBACK_RESIZE, EVAS_CALLBACK_RESTACK, EVAS_CALLBACK_DEL, EVAS_CALLBACK_HOLD, EVAS_CALLBACK_CHANGED_SIZE_HINTS, EVAS_CALLBACK_IMAGE_PRELOADED, EVAS_CALLBACK_CANVAS_FOCUS_IN, EVAS_CALLBACK_CANVAS_FOCUS_OUT, EVAS_CALLBACK_RENDER_FLUSH_PRE, EVAS_CALLBACK_RENDER_FLUSH_POST, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, EVAS_CALLBACK_IMAGE_UNLOADED, EVAS_CALLBACK_RENDER_PRE, EVAS_CALLBACK_RENDER_POST, EVAS_CALLBACK_IMAGE_RESIZE, EVAS_CALLBACK_DEVICE_CHANGED, EVAS_CALLBACK_AXIS_UPDATE, EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE, EVAS_CALLBACK_LAST }
| Identifier of callbacks to be set for Evas canvases or Evas objects. More...

## Detailed Description

Drawing canvas.

## Typedef Documentation

typedef struct _Evas_Map Evas_Map

An opaque handle to map points.

See evas_map_new, evas_map_free, evas_map_dup.

typedef struct _Evas_Axis Evas_Axis

Details for a single device axis state.

Since
  1.13

## Enumeration Type Documentation

enum Evas_Aspect_Control

Aspect types/policies for scaling size hints, used for evas_object_size_hint_aspect_set()

Enumerator
EVAS_ASPECT_CONTROL_NEITHER | Preference on scaling unset.
EVAS_ASPECT_CONTROL_HORIZONTAL | Same effect as unset preference on scaling.
EVAS_ASPECT_CONTROL_VERTICAL | Use all horizontal container space to place an object, using the given aspect.
EVAS_ASPECT_CONTROL_BOTH | Use all vertical container space to place an object, using the given aspect.

enum Evas_Render_Op

How the object should be rendered to output.

Enumerator
EVAS_RENDER_BLEND_REL | Default render operation: d = d*(1-sa) + s. The object will be merged onto the bottom objects using simple alpha compositing (a over b).
EVAS_RENDER_COPY | DEPRECATED. d = d*(1 - sa) + s*da
EVAS_RENDER_COPY_REL | Copy mode, d = s. The object's pixels will replace everything that was below, effectively hiding them.
EVAS_RENDER_ADD | DEPRECATED. d = s*da
EVAS_RENDER_ADD_REL | DEPRECATED. d = d + s
EVAS_RENDER_SUB | DEPRECATED. d = d + s*da
EVAS_RENDER_SUB_REL | DEPRECATED. d = d - s
EVAS_RENDER_TINT | DEPRECATED. d = d - s*da
EVAS_RENDER_TINT_REL | DEPRECATED. d = d*s + d*(1 - sa) + s*(1 - da)
EVAS_RENDER_MASK | DEPRECATED. d = d*(1 - sa + s)
EVAS_RENDER_MUL | DEPRECATED. d = d*sa. For masking support, please use Evas.Object.clip_set or EDC "clip_to" instead.

enum Evas_Object_Pointer_Mode

How the mouse pointer should be handled by Evas.

In the mode #EVAS_OBJECT_POINTER_MODE_AUTOGRAB, when a mouse button is pressed down over an object and held, with the mouse pointer being moved outside of it, the pointer still behaves as being bound to that object, albeit out of its drawing region. When the button is released, the event will be fed to the object, that may check if the final position is over it or not and do something about it.

In the mode EVAS_OBJECT_POINTER_MODE_NOGRAB, the pointer will always be bound to the object right below it.

Enumerator
EVAS_OBJECT_POINTER_MODE_NOGRAB | default, X11-like
EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN | pointer always bound to the object right below it useful on object with "repeat events" enabled, where mouse/touch up and down events WONT be repeated to objects and these objects wont be auto-grabbed. Since 1.2

enum Evas_Text_Style_Type

Types of styles to be applied on text objects.

The EVAS_TEXT_STYLE_SHADOW_DIRECTION_* ones are to be ORed together with others imposing shadow, to change shadow's direction

Enumerator
EVAS_TEXT_STYLE_SHADOW | plain, standard text
EVAS_TEXT_STYLE_OUTLINE | text with shadow underneath
EVAS_TEXT_STYLE_SOFT_OUTLINE | text with an outline
EVAS_TEXT_STYLE_GLOW | text with a soft outline
EVAS_TEXT_STYLE_OUTLINE_SHADOW | text with a glow effect
EVAS_TEXT_STYLE_FAR_SHADOW | text with both outline and shadow effects
EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW | text with (far) shadow underneath
EVAS_TEXT_STYLE_SOFT_SHADOW | text with outline and soft shadow effects combined
EVAS_TEXT_STYLE_FAR_SOFT_SHADOW | text with (soft) shadow underneath
EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_RIGHT | text with (far soft) shadow underneath
EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM | shadow growing to bottom right
EVAS_TEXT_STYLE_SHADOW_DIRECTION_BOTTOM_LEFT | shadow growing to the bottom
EVAS_TEXT_STYLE_SHADOW_DIRECTION_LEFT | shadow growing to bottom left
EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_LEFT | shadow growing to the left
EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP | shadow growing to top left
EVAS_TEXT_STYLE_SHADOW_DIRECTION_TOP_RIGHT | shadow growing to the top
EVAS_TEXT_STYLE_SHADOW_DIRECTION_RIGHT | shadow growing to top right

enum Evas_Button_Flags

Flags for Mouse Button events.

Enumerator
EVAS_BUTTON_DOUBLE_CLICK | No extra mouse button data.
EVAS_BUTTON_TRIPLE_CLICK | This mouse button press was the 2nd press of a double click.

enum Evas_Event_Flags

Flags for Events.

Enumerator
EVAS_EVENT_FLAG_ON_HOLD | No fancy flags set.
EVAS_EVENT_FLAG_ON_SCROLL | 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

enum Evas_Touch_Point_State

State of Evas_Coord_Touch_Point.

Enumerator
EVAS_TOUCH_POINT_UP | Touch point is pressed down.
EVAS_TOUCH_POINT_MOVE | Touch point is released.
EVAS_TOUCH_POINT_STILL | Touch point is moved.
EVAS_TOUCH_POINT_CANCEL | Touch point is not moved after pressed. Touch point is cancelled

enum Evas_Callback_Type

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

Enumerator
EVAS_CALLBACK_MOUSE_OUT | Mouse In Event.
EVAS_CALLBACK_MOUSE_DOWN | Mouse Out Event.
EVAS_CALLBACK_MOUSE_UP | Mouse Button Down Event.
EVAS_CALLBACK_MOUSE_MOVE | Mouse Button Up Event.
EVAS_CALLBACK_MOUSE_WHEEL | Mouse Move Event.
EVAS_CALLBACK_MULTI_DOWN | Mouse Wheel Event.
EVAS_CALLBACK_MULTI_UP | Multi-touch Down Event.
EVAS_CALLBACK_MULTI_MOVE | Multi-touch Up Event.
EVAS_CALLBACK_FREE | Multi-touch Move Event.
EVAS_CALLBACK_KEY_DOWN | Object Being Freed (Called after Del)
EVAS_CALLBACK_KEY_UP | Key Press Event.
EVAS_CALLBACK_FOCUS_IN | Key Release Event.
EVAS_CALLBACK_FOCUS_OUT | Focus In Event.
EVAS_CALLBACK_SHOW | Focus Out Event.
EVAS_CALLBACK_HIDE | Show Event.
EVAS_CALLBACK_MOVE | Hide Event.
EVAS_CALLBACK_RESIZE | Move Event.
EVAS_CALLBACK_RESTACK | Resize Event.
EVAS_CALLBACK_DEL | Restack Event.
EVAS_CALLBACK_HOLD | Object Being Deleted (called before Free)
EVAS_CALLBACK_CHANGED_SIZE_HINTS | Events go on/off hold.
EVAS_CALLBACK_IMAGE_PRELOADED | Size hints changed event.
EVAS_CALLBACK_CANVAS_FOCUS_IN | Image has been preloaded.
EVAS_CALLBACK_CANVAS_FOCUS_OUT | Canvas got focus as a whole.
EVAS_CALLBACK_RENDER_FLUSH_PRE | Canvas lost focus as a whole.
EVAS_CALLBACK_RENDER_FLUSH_POST | Called after render update regions have been calculated, but only if update regions exist.
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN | Called after render update regions have been sent to the display server, but only if update regions existed for the most recent frame.
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT | Canvas object got focus.
EVAS_CALLBACK_IMAGE_UNLOADED | Canvas object lost focus.
EVAS_CALLBACK_RENDER_PRE | Image data has been unloaded (by some mechanism in Evas that throw out original image data)
EVAS_CALLBACK_RENDER_POST | Called just before rendering starts on the canvas target. Since 1.2
EVAS_CALLBACK_IMAGE_RESIZE | Called just after rendering stops on the canvas target. Since 1.2
EVAS_CALLBACK_DEVICE_CHANGED | Image size is changed. Since 1.8
EVAS_CALLBACK_AXIS_UPDATE | Devices added, removed or changed on canvas. Since 1.8
EVAS_CALLBACK_CANVAS_VIEWPORT_RESIZE | Input device changed value on some axis. Since 1.13
EVAS_CALLBACK_LAST | Canvas viewport resized. Since 1.15 kept as last element/sentinel – not really an event