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_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_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_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... | |
enum | Evas_Border_Fill_Mode { EVAS_BORDER_FILL_NONE = 0, EVAS_BORDER_FILL_DEFAULT = 1, EVAS_BORDER_FILL_SOLID = 2 } |
How an image's center region (the complement to the border region) should be rendered by Evas. 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... | |
void | evas_font_available_list_free (Evas *e, Eina_List *available) |
Free list of font descriptions returned by evas_font_dir_available_list(). More... | |
void | evas_object_ref (Evas_Object *obj) |
Increments object reference count to defer its deletion. More... | |
void | evas_object_unref (Evas_Object *obj) |
Decrements object reference count. More... | |
int | evas_object_ref_get (const Evas_Object *obj) |
Get the object reference count. More... | |
void | evas_object_del (Evas_Object *obj) |
Marks the given Evas object for deletion (when Evas will free its memory). More... | |
const char * | evas_object_type_get (const Evas_Object *obj) |
Retrieves the type of the given Evas object. More... | |
void | evas_object_name_set (Evas_Object *obj, const char *name) |
Sets the name of the given Evas object to the given name. More... | |
const char * | evas_object_name_get (const Evas_Object *obj) |
Retrieves the name of the given Evas object. More... | |
Evas_Object * | evas_object_name_child_find (const Evas_Object *obj, const char *name, int recurse) |
Retrieves the object from children of the given object with the given name. More... | |
void | evas_object_geometry_get (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) |
Retrieves the position and (rectangular) size of the given Evas object. More... | |
void | evas_object_geometry_set (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) |
Set the position and (rectangular) size of the given Evas object. More... | |
void | evas_object_show (Evas_Object *obj) |
Makes the given Evas object visible. More... | |
void | evas_object_hide (Evas_Object *obj) |
Makes the given Evas object invisible. More... | |
void | evas_object_color_set (Evas_Object *obj, int r, int g, int b, int a) |
Sets the general/main color of the given Evas object to the given one. More... | |
void | evas_object_color_get (const Evas_Object *obj, int *r, int *g, int *b, int *a) |
Retrieves the general/main color of the given Evas object. More... | |
void | evas_object_move (Evas_Object *obj, Evas_Coord x, Evas_Coord y) |
Move the given Evas object to the given location inside its canvas' viewport. More... | |
void | evas_object_resize (Evas_Object *obj, Evas_Coord w, Evas_Coord h) |
Changes the size of the given Evas object. More... | |
Eina_Bool | evas_object_visible_get (const Evas_Object *obj) |
Retrieves whether or not the given Evas object is visible. | |
void | evas_object_size_hint_max_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h) |
Sets the hints for an object's maximum size. More... | |
void | evas_object_size_hint_max_get (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) |
Retrieves the hints for an object's maximum size. More... | |
void | evas_object_size_hint_request_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h) |
Sets the hints for an object's optimum size. More... | |
void | evas_object_size_hint_request_get (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) |
Retrieves the hints for an object's optimum size. More... | |
void | evas_object_size_hint_min_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h) |
Sets the hints for an object's minimum size. More... | |
void | evas_object_size_hint_min_get (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) |
Retrieves the hints for an object's minimum size. More... | |
void | evas_object_size_hint_padding_set (Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) |
Sets the hints for an object's padding space. More... | |
void | evas_object_size_hint_padding_get (const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) |
Retrieves the hints for an object's padding space. More... | |
void | evas_object_size_hint_weight_set (Evas_Object *obj, double x, double y) |
Sets the hints for an object's weight. More... | |
void | evas_object_size_hint_weight_get (const Evas_Object *obj, double *x, double *y) |
Retrieves the hints for an object's weight. More... | |
void | evas_object_size_hint_align_set (Evas_Object *obj, double x, double y) |
Sets the hints for an object's alignment. More... | |
void | evas_object_size_hint_align_get (const Evas_Object *obj, double *x, double *y) |
Retrieves the hints for on object's alignment. More... | |
void | evas_object_size_hint_aspect_set (Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) |
Sets the hints for an object's aspect ratio. More... | |
void | evas_object_size_hint_aspect_get (const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) |
Retrieves the hints for an object's aspect ratio. More... | |
void | evas_object_size_hint_display_mode_set (Evas_Object *obj, Evas_Display_Mode dispmode) |
Sets the hints for an object's disply mode,. More... | |
Evas_Display_Mode | evas_object_size_hint_display_mode_get (const Evas_Object *obj) |
Retrieves the hints for an object's display mode. More... | |
void | evas_object_layer_set (Evas_Object *obj, short l) |
Sets the layer of its canvas that the given object will be part of. More... | |
short | evas_object_layer_get (const Evas_Object *obj) |
Retrieves the layer of its canvas that the given object is part of. More... | |
Evas_Object * | evas_object_below_get (const Evas_Object *obj) |
Get the Evas object stacked right below obj . More... | |
Evas_Object * | evas_object_above_get (const Evas_Object *obj) |
Get the Evas object stacked right above obj . More... | |
void | evas_object_stack_below (Evas_Object *obj, Evas_Object *below) |
Stack obj immediately below below . More... | |
void | evas_object_raise (Evas_Object *obj) |
Raise obj to the top of its layer. More... | |
void | evas_object_stack_above (Evas_Object *obj, Evas_Object *above) |
Stack obj immediately above above . More... | |
void | evas_object_lower (Evas_Object *obj) |
Lower obj to the bottom of its layer. More... | |
void | evas_object_static_clip_set (Evas_Object *obj, Eina_Bool is_static_clip) |
Set a hint flag on the given Evas object that it's used as a "static
clipper". More... | |
const Eina_List * | evas_object_clipees_get (const Evas_Object *obj) |
Return a list of objects currently clipped by obj . More... | |
void | evas_object_render_op_set (Evas_Object *obj, Evas_Render_Op render_op) |
Sets the render mode to be used for compositing the Evas object. More... | |
Evas_Render_Op | evas_object_render_op_get (const Evas_Object *obj) |
Retrieves the current value of the operation used for rendering the Evas object. More... | |
Eina_Bool | evas_object_static_clip_get (const Evas_Object *obj) |
Get the "static clipper" hint flag for a given Evas object. More... | |
Evas * | evas_object_evas_get (const Eo *obj) |
Get the Evas to which this object belongs to. More... | |
Drawing canvas.
typedef struct _Evas_Axis Evas_Axis |
Details for a single device axis state.
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
enum Evas_Callback_Type |
Identifier of callbacks to be set for Evas canvases or Evas objects.
How an image's center region (the complement to the border region) should be rendered by Evas.
enum Evas_Render_Op |
How the object should be rendered to output.
Free list of font descriptions returned by evas_font_dir_available_list().
e | The evas instance that returned such list. |
available | the list returned by evas_font_dir_available_list(). |
void evas_object_ref | ( | Evas_Object * | obj | ) |
Increments object reference count to defer its deletion.
obj | The given Evas object to reference |
This increments the reference count of an object, which if greater than 0 will defer deletion by evas_object_del() until all references are released back (counter back to 0). References cannot go below 0 and unreferencing past that will result in the reference count being limited to 0. References are limited to 2^32 - 1
for an object. Referencing it more than this will result in it being limited to this value.
Example:
References eo_data_scope_get(), and eo_ref().
Referenced by elm_list_scroller_policy_get(), and evas_language_reinit().
void evas_object_unref | ( | Evas_Object * | obj | ) |
Decrements object reference count.
obj | The given Evas object to unreference |
This decrements the reference count of an object. If the object has had evas_object_del() called on it while references were more than 0, it will be deleted at the time this function is called and puts the counter back to 0. See evas_object_ref() for more information.
References eo_data_scope_get(), eo_unref(), and evas_object_del().
Referenced by elm_list_scroller_policy_get().
int evas_object_ref_get | ( | const Evas_Object * | obj | ) |
Get the object reference count.
obj | The given Evas object to query |
This gets the reference count for an object (normally 0 until it is referenced). Values of 1 or greater mean that someone is holding a reference to this object that needs to be unreffed before it can be deleted.
References eo_data_scope_get().
void evas_object_del | ( | Evas_Object * | obj | ) |
Marks the given Evas object for deletion (when Evas will free its memory).
obj | The given Evas object. |
This call will mark obj
for deletion, which will take place whenever it has no more references to it (see evas_object_ref() and evas_object_unref()).
At actual deletion time, which may or may not be just after this call, EVAS_CALLBACK_DEL and EVAS_CALLBACK_FREE callbacks will be called. If the object currently had the focus, its EVAS_CALLBACK_FOCUS_OUT callback will also be called.
References EINA_COW_WRITE_BEGIN, EINA_COW_WRITE_END, EINA_FALSE, eina_list_count(), eina_list_data_get(), EINA_LIST_FOREACH_SAFE, EINA_LIST_FREE, eina_list_remove(), EINA_TRUE, eo_data_scope_get(), eo_isa(), eo_manual_free_set(), ERR, EVAS_CALLBACK_DEL, EVAS_CALLBACK_FOCUS_OUT, EVAS_CALLBACK_FREE, evas_canvas3d_texture_source_set(), evas_object_hide(), and evas_object_name_set().
Referenced by ecore_evas_ews_background_set(), edje_edit_part_source_get(), edje_edit_part_source_set(), edje_edit_sound_tones_list_get(), edje_evas_global_perspective_get(), edje_file_data_get(), edje_perspective_free(), edje_shutdown(), elm_bg_color_set(), elm_drop_item_container_add(), elm_exit(), elm_fileselector_folder_only_get(), elm_flip_perspective_set(), elm_image_preload_disabled_set(), elm_layout_content_set(), elm_menu_parent_get(), elm_object_cursor_theme_search_enabled_set(), elm_object_cursor_unset(), elm_photocam_bounce_get(), elm_prefs_page_iface_unregister(), elm_quicklaunch_seed(), elm_win_util_dialog_add(), elm_win_util_standard_add(), emotion_object_file_get(), evas_object_box_smart_class_get(), evas_object_smart_clipped_clipper_get(), evas_object_smart_members_get(), and evas_object_unref().
const char* evas_object_type_get | ( | const Evas_Object * | obj | ) |
Retrieves the type of the given Evas object.
For Evas' builtin types, the return strings will be one of "rectangle", "line", "polygon", "text", "textblock" or "image".
For Evas smart objects (see Smart Functions), the name of the smart class itself is returned on this call. For the built-in smart objects, these names are "EvasObjectSmartClipped" for the clipped smart object, "Evas_Object_Box" for the box object and "Evas_Object_Table for the table object.
void evas_object_name_set | ( | Evas_Object * | obj, |
const char * | name | ||
) |
Sets the name of the given Evas object to the given name.
There might be occasions where one would like to name his/her objects.
[in] | name | The given name. |
References eina_hash_add(), eina_hash_del(), eo_data_scope_get(), and eo_isa().
Referenced by edje_perspective_global_set(), and evas_object_del().
const char* evas_object_name_get | ( | const Evas_Object * | obj | ) |
Retrieves the name of the given Evas object.
Return: The name of the object or null
, if no name has been given to it.
References eina_hash_find(), EINA_INLIST_FOREACH, EINA_UNUSED, eo_data_scope_get(), and eo_isa().
Referenced by edje_evas_global_perspective_get().
Evas_Object* evas_object_name_child_find | ( | const Evas_Object * | obj, |
const char * | name, | ||
int | recurse | ||
) |
Retrieves the object from children of the given object with the given name.
This looks for the evas object given a name by evas_object_name_set, but it ONLY looks at the children of the object *p obj, and will only recurse into those children if recurse
is greater than 0. If the name is not unique within immediate children (or the whole child tree) then it is not defined which child object will be returned. If recurse
is set to -1 then it will recurse without limit.
[in] | name | The given name. |
[in] | recurse | Set to the number of child levels to recurse (0 == don't recurse, 1 == only look at the children of obj or their immediate children, but no further etc.). |
null
.void evas_object_geometry_get | ( | const Evas_Object * | obj, |
Evas_Coord * | x, | ||
Evas_Coord * | y, | ||
Evas_Coord * | w, | ||
Evas_Coord * | h | ||
) |
Retrieves the position and (rectangular) size of the given Evas object.
obj | The given Evas object. |
x | Pointer to an integer in which to store the X coordinate of the object. |
y | Pointer to an integer in which to store the Y coordinate of the object. |
w | Pointer to an integer in which to store the width of the object. |
h | Pointer to an integer in which to store the height of the object. |
The position, naturally, will be relative to the top left corner of the canvas' viewport.
NULL
pointers on the geometry components you're not interested in: they'll be ignored by the function.Example:
See the full example.
Referenced by edje_evas_global_perspective_get(), elm_drop_item_container_add(), elm_image_animated_play_get(), elm_transit_effect_flip_add(), elm_transit_effect_resizing_add(), emotion_object_border_set(), emotion_object_file_get(), emotion_object_keep_aspect_set(), evas_object_box_smart_class_get(), evas_object_smart_clipped_clipper_get(), evas_object_top_at_pointer_get(), and evas_textblock_cursor_range_simple_geometry_get().
void evas_object_geometry_set | ( | Evas_Object * | obj, |
Evas_Coord | x, | ||
Evas_Coord | y, | ||
Evas_Coord | w, | ||
Evas_Coord | h | ||
) |
Set the position and (rectangular) size of the given Evas object.
obj | The given Evas object. |
x | X position to move the object to, in canvas units. |
y | Y position to move the object to, in canvas units. |
w | The new width of the Evas object. |
h | The new height of the Evas object. |
The position, naturally, will be relative to the top left corner of the canvas' viewport.
If the object get moved, the object's EVAS_CALLBACK_MOVE callback will be called.
If the object get resized, the object's EVAS_CALLBACK_RESIZE callback will be called.
void evas_object_show | ( | Evas_Object * | obj | ) |
Makes the given Evas object visible.
obj | The given Evas object. |
Besides becoming visible, the object's EVAS_CALLBACK_SHOW callback will be called.
Referenced by ecore_evas_ews_background_set(), elm_drop_item_container_add(), elm_flip_perspective_set(), elm_image_preload_disabled_set(), elm_quicklaunch_seed(), elm_win_util_dialog_add(), elm_win_util_standard_add(), emotion_object_bg_color_set(), emotion_object_file_get(), and evas_object_smart_clipped_clipper_get().
void evas_object_hide | ( | Evas_Object * | obj | ) |
Makes the given Evas object invisible.
obj | The given Evas object. |
Hidden objects, besides not being shown at all in your canvas, won't be checked for changes on the canvas rendering process. Furthermore, they will not catch input events. Thus, they are much ligher (in processing needs) than an object that is invisible due to indirect causes, such as being clipped or out of the canvas' viewport.
Besides becoming hidden, obj
object's EVAS_CALLBACK_SHOW callback will be called.
Example:
See the full example.
Referenced by ecore_evas_cursor_unset(), edje_edit_part_del(), elm_drop_item_container_add(), elm_flip_perspective_set(), emotion_object_bg_color_set(), evas_object_del(), and evas_object_smart_clipped_clipper_get().
void evas_object_color_set | ( | Evas_Object * | obj, |
int | r, | ||
int | g, | ||
int | b, | ||
int | a | ||
) |
Sets the general/main color of the given Evas object to the given one.
a
.[in] | r | The red component of the given color. |
[in] | g | The green component of the given color. |
[in] | b | The blue component of the given color. |
[in] | a | The alpha component of the given color. |
References ERR.
Referenced by ecore_evas_ews_background_set(), elm_bg_color_set(), elm_flip_perspective_set(), emotion_object_bg_color_set(), emotion_object_file_get(), and evas_object_smart_clipped_clipper_get().
void evas_object_color_get | ( | const Evas_Object * | obj, |
int * | r, | ||
int * | g, | ||
int * | b, | ||
int * | a | ||
) |
Retrieves the general/main color of the given Evas object.
Retrieves the “main” color's RGB component (and alpha channel) values, which range from 0 to 255. For the alpha channel, which defines the object's transparency level, 0 means totally transparent, while 255 means opaque. These color values are premultiplied by the alpha value.
Usually you’ll use this attribute for text and rectangle objects, where the “main” color is their unique one. If set for objects which themselves have colors, like the images one, those colors get modulated by this one.
255 255 255 255
(opaque white).NULL
pointers on the components you're not interested in: they'll be ignored by the function.Example:
See the full example.
[out] | r | The red component of the given color. |
[out] | g | The green component of the given color. |
[out] | b | The blue component of the given color. |
[out] | a | The alpha component of the given color. |
References EINA_FALSE, and EINA_TRUE.
Referenced by elm_bg_color_get(), and emotion_object_bg_color_get().
void evas_object_move | ( | Evas_Object * | obj, |
Evas_Coord | x, | ||
Evas_Coord | y | ||
) |
Move the given Evas object to the given location inside its canvas' viewport.
[in] | x | in |
[in] | y | in |
References EINA_FALSE, EINA_TRUE, evas_event_feed_mouse_move(), and WRN.
Referenced by ecore_evas_ews_background_set(), elm_drop_item_container_add(), evas_object_box_smart_class_get(), evas_object_smart_clipped_clipper_get(), and evas_object_top_at_pointer_get().
void evas_object_resize | ( | Evas_Object * | obj, |
Evas_Coord | w, | ||
Evas_Coord | h | ||
) |
Changes the size of the given Evas object.
[in] | w | in |
[in] | h | in |
References EINA_FALSE, evas_event_feed_mouse_move(), and WRN.
Referenced by ecore_evas_cursor_set(), ecore_evas_ews_background_set(), elm_drop_item_container_add(), elm_flip_perspective_set(), evas_object_box_smart_class_get(), and evas_object_smart_clipped_clipper_get().
void evas_object_size_hint_max_set | ( | Evas_Object * | obj, |
Evas_Coord | w, | ||
Evas_Coord | h | ||
) |
Sets the hints for an object's maximum size.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Values -1 will be treated as unset hint components, when queried by managers.
[in] | w | Integer to use as the maximum width hint. |
[in] | h | Integer to use as the maximum height hint. |
Referenced by elm_win_render().
void evas_object_size_hint_max_get | ( | const Evas_Object * | obj, |
Evas_Coord * | w, | ||
Evas_Coord * | h | ||
) |
Retrieves the hints for an object's maximum size.
These are hints on the maximum sizes obj
should have. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.[out] | w | Integer to use as the maximum width hint. |
[out] | h | Integer to use as the maximum height hint. |
Referenced by evas_object_box_smart_class_get().
void evas_object_size_hint_request_set | ( | Evas_Object * | obj, |
Evas_Coord | w, | ||
Evas_Coord | h | ||
) |
Sets the hints for an object's optimum size.
This is not a size enforcement in any way, it's just a hint that hould be used whenever appropriate.
Values 0 will be treated as unset hint components, when queried by managers.
[in] | w | Integer to use as the preferred width hint. |
[in] | h | Integer to use as the preferred height hint. |
void evas_object_size_hint_request_get | ( | const Evas_Object * | obj, |
Evas_Coord * | w, | ||
Evas_Coord * | h | ||
) |
Retrieves the hints for an object's optimum size.
These are hints on the optimum sizes obj
should have. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.[out] | w | Integer to use as the preferred width hint. |
[out] | h | Integer to use as the preferred height hint. |
void evas_object_size_hint_min_set | ( | Evas_Object * | obj, |
Evas_Coord | w, | ||
Evas_Coord | h | ||
) |
Sets the hints for an object's minimum size.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
Values 0 will be treated as unset hint components, when queried by managers.
[in] | w | Integer to use as the minimum width hint. |
[in] | h | Integer to use as the minimum height hint. |
Referenced by elm_win_render(), and evas_object_box_smart_class_get().
void evas_object_size_hint_min_get | ( | const Evas_Object * | obj, |
Evas_Coord * | w, | ||
Evas_Coord * | h | ||
) |
Retrieves the hints for an object's minimum size.
These are hints on the minimum sizes obj
should have. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.[out] | w | Integer to use as the minimum width hint. |
[out] | h | Integer to use as the minimum height hint. |
void evas_object_size_hint_padding_set | ( | Evas_Object * | obj, |
Evas_Coord | l, | ||
Evas_Coord | r, | ||
Evas_Coord | t, | ||
Evas_Coord | b | ||
) |
Sets the hints for an object's padding space.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
[in] | l | Integer to specify left padding. |
[in] | r | Integer to specify right padding. |
[in] | t | Integer to specify top padding. |
[in] | b | Integer to specify bottom padding. |
void evas_object_size_hint_padding_get | ( | const Evas_Object * | obj, |
Evas_Coord * | l, | ||
Evas_Coord * | r, | ||
Evas_Coord * | t, | ||
Evas_Coord * | b | ||
) |
Retrieves the hints for an object's padding space.
Padding is extra space an object takes on each of its delimiting rectangle sides, in canvas units.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.[out] | l | Integer to specify left padding. |
[out] | r | Integer to specify right padding. |
[out] | t | Integer to specify top padding. |
[out] | b | Integer to specify bottom padding. |
Referenced by evas_object_box_smart_class_get().
void evas_object_size_hint_weight_set | ( | Evas_Object * | obj, |
double | x, | ||
double | y | ||
) |
Sets the hints for an object's weight.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
This is a hint on how a container object should resize a given child within its area. Containers may adhere to the simpler logic of just expanding the child object's dimensions to fit its own (see the EVAS_HINT_EXPAND helper weight macro) or the complete one of taking each child's weight hint as real weights to how much of its size to allocate for them in each axis. A container is supposed to, after normalizing the weights of its children (with weight hints), distribut the space it has to layout them by those factors – most weighted children get larger in this process than the least ones.
[in] | x | Non-negative double value to use as horizontal weight hint. |
[in] | y | Non-negative double value to use as vertical weight hint. |
Referenced by elm_win_util_dialog_add(), and elm_win_util_standard_add().
void evas_object_size_hint_weight_get | ( | const Evas_Object * | obj, |
double * | x, | ||
double * | y | ||
) |
Retrieves the hints for an object's weight.
Accepted values are zero or positive values. Some users might use this hint as a boolean, but some might consider it as a proportion, see documentation of possible users, which in Evas are the box and table smart objects.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.obj
is invalid, then the hint components will be set with 0.0.[out] | x | Non-negative double value to use as horizontal weight hint. |
[out] | y | Non-negative double value to use as vertical weight hint. |
Referenced by evas_object_box_smart_class_get().
void evas_object_size_hint_align_set | ( | Evas_Object * | obj, |
double | x, | ||
double | y | ||
) |
Sets the hints for an object's alignment.
These are hints on how to align an object inside the boundaries of a container/manager. Accepted values are in the 0.0 to 1.0 range, with the special value EVAS_HINT_FILL used to specify "justify" or "fill" by some users. In this case, maximum size hints should be enforced with higher priority, if they are set. Also, any padding hint set on objects should add up to the alignment space on the final scene composition.
See documentation of possible users: in Evas, they are the box and table smart objects.
For the horizontal component, 0.0 means to the left, 1.0 means to the right. Analogously, for the vertical component, 0.0 to the top, 1.0 means to the bottom.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
[in] | x | Double, ranging from 0.0 to 1.0 or with the special value EVAS_HINT_FILL, to use as horizontal alignment hint. |
[in] | y | Double, ranging from 0.0 to 1.0 or with the special value EVAS_HINT_FILL, to use as vertical alignment hint. |
void evas_object_size_hint_align_get | ( | const Evas_Object * | obj, |
double * | x, | ||
double * | y | ||
) |
Retrieves the hints for on object's alignment.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.obj
is invalid, then the hint components will be set with 0.5[out] | x | Double, ranging from 0.0 to 1.0 or with the special value EVAS_HINT_FILL, to use as horizontal alignment hint. |
[out] | y | Double, ranging from 0.0 to 1.0 or with the special value EVAS_HINT_FILL, to use as vertical alignment hint. |
Referenced by evas_object_box_smart_class_get().
void evas_object_size_hint_aspect_set | ( | Evas_Object * | obj, |
Evas_Aspect_Control | aspect, | ||
Evas_Coord | w, | ||
Evas_Coord | h | ||
) |
Sets the hints for an object's aspect ratio.
This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
If any of the given aspect ratio terms are 0, the object's container will ignore the aspect and scale obj
to occupy the whole available area, for any given policy.
[in] | aspect | The policy/type of aspect ratio to apply to obj . |
[in] | w | Integer to use as aspect width ratio term. |
[in] | h | Integer to use as aspect height ratio term. |
void evas_object_size_hint_aspect_get | ( | const Evas_Object * | obj, |
Evas_Aspect_Control * | aspect, | ||
Evas_Coord * | w, | ||
Evas_Coord * | h | ||
) |
Retrieves the hints for an object's aspect ratio.
The different aspect ratio policies are documented in the Evas_Aspect_Control type. A container respecting these size hints would resize its children accordingly to those policies.
For any policy, if any of the given aspect ratio terms are 0, the object's container should ignore the aspect and scale obj
to occupy the whole available area. If they are both positive integers, that proportion will be respected, under each scaling policy.
null
pointers on the hint components you're not interested in: they'll be ignored by the function.[out] | aspect | The policy/type of aspect ratio to apply to obj . |
[out] | w | Integer to use as aspect width ratio term. |
[out] | h | Integer to use as aspect height ratio term. |
void evas_object_size_hint_display_mode_set | ( | Evas_Object * | obj, |
Evas_Display_Mode | dispmode | ||
) |
Sets the hints for an object's disply mode,.
This is not a size enforcement in any way, it's just a hint that can be used whenever appropriate.
[in] | dispmode | Display mode hint. |
Evas_Display_Mode evas_object_size_hint_display_mode_get | ( | const Evas_Object * | obj | ) |
Retrieves the hints for an object's display mode.
These are hints on the display mode obj
. This is not a size enforcement in any way, it's just a hint that can be used whenever appropriate. This mode can be used object's display mode like commpress or expand.
void evas_object_layer_set | ( | Evas_Object * | obj, |
short | l | ||
) |
Sets the layer of its canvas that the given object will be part of.
If you don't use this function, you'll be dealing with an unique layer of objects, the default one. Additional layers are handy when you don't want a set of objects to interfere with another set with regard to stacking. Two layers are completely disjoint in that matter.
This is a low-level function, which you'd be using when something should be always on top, for example.
[in] | l | The number of the layer to place the object on. Must be between EVAS_LAYER_MIN and EVAS_LAYER_MAX. |
References EINA_INLIST_FOREACH, eina_list_data_find(), evas_event_feed_mouse_move(), and evas_object_raise().
Referenced by ecore_evas_ews_background_set().
short evas_object_layer_get | ( | const Evas_Object * | obj | ) |
Retrieves the layer of its canvas that the given object is part of.
References EINA_UNUSED, and eo_data_scope_get().
Evas_Object* evas_object_below_get | ( | const Evas_Object * | obj | ) |
Get the Evas object stacked right below obj
.
obj
, if any, or NULL
, if noneThis function will traverse layers in its search, if there are objects on layers below the one obj
is placed at.
References EINA_INLIST_GET, and _Eina_Inlist::last.
Evas_Object* evas_object_above_get | ( | const Evas_Object * | obj | ) |
Get the Evas object stacked right above obj
.
obj
, if any, or NULL
, if noneThis function will traverse layers in its search, if there are objects on layers above the one obj
is placed at.
References EINA_INLIST_GET, and EINA_UNUSED.
void evas_object_stack_below | ( | Evas_Object * | obj, |
Evas_Object * | below | ||
) |
Stack obj
immediately below below
.
Objects, in a given canvas, are stacked in the order they get added to it. This means that, if they overlap, the highest ones will cover the lowest ones, in that order. This function is a way to change the stacking order for the objects.
This function is intended to be used with objects belonging to the same layer in a given canvas, otherwise it will fail (and accomplish nothing).
If you have smart objects on your canvas and obj
is a member of one of them, then below
must also be a member of the same smart object.
Similarly, if obj
is not a member of a smart object, below
must not be either.
[in] | below | the object below which to stack |
References EINA_INLIST_GET, eina_inlist_prepend_relative(), eina_inlist_remove(), EINA_TRUE, eo_data_scope_get(), ERR, evas_event_feed_mouse_move(), and evas_object_lower().
Referenced by edje_edit_part_restack_below(), and edje_edit_part_restack_part_below().
void evas_object_raise | ( | Evas_Object * | obj | ) |
Raise obj
to the top of its layer.
obj
will, then, be the highest one in the layer it belongs to. Object on other layers won't get touched.
References eina_inlist_demote(), EINA_INLIST_GET, EINA_TRUE, and evas_event_feed_mouse_move().
Referenced by evas_object_layer_set(), and evas_object_stack_above().
void evas_object_stack_above | ( | Evas_Object * | obj, |
Evas_Object * | above | ||
) |
Stack obj
immediately above above
.
Objects, in a given canvas, are stacked in the order they get added to it. This means that, if they overlap, the highest ones will cover the lowest ones, in that order. This function is a way to change the stacking order for the objects.
This function is intended to be used with objects belonging to the same layer in a given canvas, otherwise it will fail (and accomplish nothing).
If you have smart objects on your canvas and obj
is a member of one of them, then above
must also be a member of the same smart object.
Similarly, if obj
is not a member of a smart object, above
must not be either.
[in] | above | the object above which to stack |
References eina_inlist_append_relative(), EINA_INLIST_GET, eina_inlist_remove(), EINA_TRUE, eo_data_scope_get(), ERR, evas_event_feed_mouse_move(), and evas_object_raise().
Referenced by edje_edit_part_restack_above(), edje_edit_part_restack_below(), edje_edit_part_restack_part_above(), edje_edit_part_restack_part_below(), and evas_object_box_smart_class_get().
void evas_object_lower | ( | Evas_Object * | obj | ) |
Lower obj
to the bottom of its layer.
obj
will, then, be the lowest one in the layer it belongs to. Objects on other layers won't get touched.
References EINA_INLIST_GET, eina_inlist_promote(), EINA_TRUE, and evas_event_feed_mouse_move().
Referenced by ecore_evas_ews_background_set(), and evas_object_stack_below().
void evas_object_static_clip_set | ( | Evas_Object * | obj, |
Eina_Bool | is_static_clip | ||
) |
Set a hint flag on the given Evas object that it's used as a "static clipper".
This is a hint to Evas that this object is used as a big static clipper and shouldn't be moved with children and otherwise considered specially. The default value for new objects is false
.
[in] | is_static_clip | true if it's to be used as a static clipper, false otherwise. |
Referenced by evas_object_smart_clipped_clipper_get().
const Eina_List* evas_object_clipees_get | ( | const Evas_Object * | obj | ) |
Return a list of objects currently clipped by obj
.
This returns the internal list handle that contains all objects clipped by the object obj
. If none are clipped by it, the call returns null
. This list is only valid until the clip list is changed and should be fetched again with another call to this function if any objects being clipped by this object are unclipped, clipped by a new object, deleted or get the clipper deleted. These operations will invalidate the list returned, so it should not be used anymore after that point. Any use of the list after this may have undefined results, possibly leading to crashes. The object obj
must be a valid Evas_Object.
See also evas_object_clip_set, evas_object_clip_unset and evas_object_clip_get.
obj
. References EINA_FALSE, eina_iterator_free(), eina_iterator_next(), eina_list_append(), EINA_LIST_FOREACH, eina_list_free(), eina_list_iterator_new(), EINA_MAGIC_SET, EINA_TRUE, FUNC_ITERATOR_FREE, FUNC_ITERATOR_GET_CONTAINER, and FUNC_ITERATOR_NEXT.
void evas_object_render_op_set | ( | Evas_Object * | obj, |
Evas_Render_Op | render_op | ||
) |
Sets the render mode to be used for compositing the Evas object.
Note that only copy and blend modes are actually supported: - Evas_Render_Op.EVAS_RENDER_BLEND means the object will be merged on top of objects below it using simple alpha compositing. - Evas_Render_Op::EVAS_RENDER_COPY means this object's pixels will replace everything that is below, making this object opaque.
Please do not assume that Evas_Render_Op::EVAS_RENDER_COPY mode can be used to "poke" holes in a window (to see through it), as only the compositor can ensure that. Copy mode should only be used with otherwise opaque widgets, or inside non-window surfaces (eg. a transparent background inside an Ecore.Evas.Buffer).
[in] | render_op | One of the Evas_Render_Op values. Only blend (default) and copy modes are supported. |
Evas_Render_Op evas_object_render_op_get | ( | const Evas_Object * | obj | ) |
Retrieves the current value of the operation used for rendering the Evas object.
Eina_Bool evas_object_static_clip_get | ( | const Evas_Object * | obj | ) |
Get the "static clipper" hint flag for a given Evas object.
true
if it's to be used as a static clipper, false
otherwise. Get the Evas to which this object belongs to.
The object may be an evas object, an elementary object or window, or an evas 3D / VG object.
Referenced by _mouse_down_cb(), ecore_evas_ews_background_set(), edje_perspective_global_set(), elm_access_action(), elm_bg_color_set(), elm_cache_all_flush(), elm_config_font_hint_type_set(), elm_flip_perspective_set(), elm_image_animated_play_get(), elm_win_cocoa_window_get(), elm_win_win32_window_get(), elm_win_window_id_get(), elm_win_wl_window_get(), emotion_object_file_get(), evas_object_smart_clipped_clipper_get(), and evas_textblock_cursor_visible_range_get().