Tizen Native API  5.0
Basic Object Manipulation

Almost every evas object created will have some generic function used to manipulate it. That's because there are a number of basic actions to be done to objects that are irrespective of the object's type, things like:

  • Showing/Hiding
  • Setting (and getting) geometry
  • Bring up or down a layer
  • Color management
  • Handling focus
  • Clipping
  • Reference counting

All of these issues are handled through the functions grouped here. Examples of these function can be seen in Evas objects basic manipulation example(which deals with the most common ones) and in Evas object stacking functions (and some event handling) (which deals with stacking functions).

Functions

void evas_object_ref (Evas_Object *obj)
void evas_object_unref (Evas_Object *obj)
int evas_object_ref_get (const Evas_Object *obj)
void evas_object_del (Evas_Object *obj)
const char * evas_object_type_get (const Evas_Object *obj)
 Retrieves the type of the given Evas object.
void evas_object_name_set (Evas_Object *obj, const char *name)
 Sets the name of the given Evas object to the given name.
const char * evas_object_name_get (const Evas_Object *obj)
 Retrieves the name of the given Evas object.
Evas_Objectevas_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.
void evas_object_geometry_get (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
void evas_object_geometry_set (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
void evas_object_show (Evas_Object *obj)
void evas_object_hide (Evas_Object *obj)
void evas_object_color_set (Evas_Object *obj, int r, int g, int b, int a)
void evas_object_color_get (const Evas_Object *obj, int *r, int *g, int *b, int *a)
void evas_object_move (Evas_Object *obj, Evas_Coord x, Evas_Coord y)
void evas_object_resize (Evas_Object *obj, Evas_Coord w, Evas_Coord h)
Eina_Bool evas_object_visible_get (const Evas_Object *obj)
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.
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.
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.
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.
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.
void evas_object_clip_unset (Evas_Object *obj)
 Disable/cease clipping on a clipped obj object.
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.
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.
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.
void evas_object_size_hint_weight_set (Evas_Object *obj, double x, double y)
 Sets the hints for an object's weight.
void evas_object_size_hint_weight_get (const Evas_Object *obj, double *x, double *y)
 Retrieves the hints for an object's weight.
void evas_object_size_hint_align_set (Evas_Object *obj, double x, double y)
 Sets the hints for an object's alignment.
void evas_object_size_hint_align_get (const Evas_Object *obj, double *x, double *y)
 Retrieves the hints for on object's alignment.
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.
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.
void evas_object_size_hint_display_mode_set (Evas_Object *obj, Evas_Display_Mode dispmode)
 Sets the hints for an object's disply mode,.
Evas_Display_Mode evas_object_size_hint_display_mode_get (const Evas_Object *obj)
 Retrieves the hints for an object's display mode.
void evas_object_layer_set (Evas_Object *obj, short l)
short evas_object_layer_get (const Evas_Object *obj)
Evas_Objectevas_object_below_get (const Evas_Object *obj)
Evas_Objectevas_object_above_get (const Evas_Object *obj)
void evas_object_stack_below (Evas_Object *obj, Evas_Object *below)
void evas_object_raise (Evas_Object *obj)
void evas_object_stack_above (Evas_Object *obj, Evas_Object *above)
void evas_object_lower (Evas_Object *obj)
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".
const Eina_Listevas_object_clipees_get (const Evas_Object *obj)
 Return a list of objects currently clipped by obj.
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.
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.
void evas_object_scale_set (Evas_Object *obj, double scale)
 Sets the scaling factor for an Evas object. Does not affect all objects.
double evas_object_scale_get (const Evas_Object *obj)
 Retrieves the scaling factor for the given Evas object.
Eina_Bool evas_object_pointer_inside_by_device_get (const Evas_Object *obj, Efl_Input_Device *dev)
 Returns whether the mouse pointer is logically inside the object.
Eina_Bool evas_object_pointer_inside_get (const Evas_Object *obj)
 Returns whether the default mouse pointer is logically inside the object.
Eina_Bool evas_object_pointer_coords_inside_get (const Evas_Object *eo_obj, int x, int y)
 Returns whether the coords are logically inside the object.
Evasevas_object_evas_get (const Eo *obj)
 Get the Evas to which this object belongs to.
Eina_Listevas_objects_at_xy_get (Eo *eo_e, int x, int y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 Retrieve a list of objects lying over a given position in a canvas.
Evas_Objectevas_object_top_at_xy_get (Eo *eo_e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 Retrieve the object stacked at the top of a given position in a canvas.
Eina_Listevas_objects_in_rectangle_get (const Eo *obj, int x, int y, int w, int h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 Get all objects in the given rectangle.
void evas_vg_node_color_set (Eo *obj, int r, int g, int b, int a)

Enumeration Type Documentation

Display mode size hint.

Enumerator:
EFL_GFX_SIZE_HINT_MODE_NONE 

Default mode

EFL_GFX_SIZE_HINT_MODE_INHERIT 

Deprecated enum, but add for backkward compatibility.

EFL_GFX_SIZE_HINT_MODE_COMPRESS 

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

EFL_GFX_SIZE_HINT_MODE_EXPAND 

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

EFL_GFX_SIZE_HINT_MODE_DONT_CHANGE 

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


Function Documentation

Get the Evas object stacked right above obj

Returns:
the Evas_Object directly above obj, if any, or NULL, if none

This function will traverse layers in its search, if there are objects on layers above the one obj is placed at.

See also:
evas_object_layer_get()
evas_object_layer_set()
evas_object_below_get()
Since :
2.3
Examples:
evas-stacking.c.

Get the Evas object stacked right below obj

Returns:
the Evas_Object directly below obj, if any, or NULL, if none

This function will traverse layers in its search, if there are objects on layers below the one obj is placed at.

See also:
evas_object_layer_get()
evas_object_layer_set()
evas_object_below_get()
Since :
2.3
Examples:
evas-stacking.c.

Disable/cease clipping on a clipped obj object.

This function disables clipping for the object obj, if it was already clipped, i.e., its visibility and color get detached from the previous clipper. If it wasn't, this has no effect. The object obj must be a valid Evas_Object.

See also evas_object_clip_set, evas_object_clipees_get and evas_object_clip_get.

Since :
2.3
Examples:
evas-object-manipulation.c.

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.

Returns:
A list of objects being clipped by obj.
Since :
2.3
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.

Note:
All newly created Evas rectangles get the default color values of 255 255 255 255 (opaque white).
Use NULL pointers on the components you're not interested in: they'll be ignored by the function.

Example:

        int alpha, r, g, b;

        evas_object_color_get(d.clipper, &r, &g, &b, &alpha);
        evas_color_argb_unpremul(alpha, &r, &g, &b);

        alpha -= 20;
        if (alpha < 0)
          alpha = 255;

        evas_color_argb_premul(alpha, &r, &g, &b);
        evas_object_color_set(d.clipper, r, g, b, alpha);

        printf("Changing clipper's opacity: %d%%\n",
                (int)((alpha / 255.0) * 100));
        return;

See the full example.

Parameters:
[out]rThe red component of the given color.
[out]gThe green component of the given color.
[out]bThe blue component of the given color.
[out]aThe alpha component of the given color.
Since :
2.3
Examples:
edje-basic.c, evas-object-manipulation.c, evas-smart-interface.c, and evas-smart-object.c.
void evas_object_del ( Evas_Object obj)

Marks the given Evas object for deletion (when Evas will free its memory).

Parameters:
objThe 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.

See also:
evas_object_ref()
evas_object_unref()
Since :
2.3
Examples:
ctxpopup_example_01.c, ecore_animator_example.c, ecore_imf_example.c, edje-basic.c, edje-box.c, edje-box2.c, edje-signals-messages.c, edje-table.c, efl_thread_4.c, efl_thread_5.c, eina_tiler_01.c, entry_example.c, evas-box.c, evas-smart-interface.c, evas-smart-object.c, glview_example_01.c, inwin_example.c, layout_example_01.c, popup_example_02.c, web_example_02.c, and win_example.c.
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.

Parameters:
objThe given Evas object.
xPointer to an integer in which to store the X coordinate of the object.
yPointer to an integer in which to store the Y coordinate of the object.
wPointer to an integer in which to store the width of the object.
hPointer 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.

Note:
Use NULL pointers on the geometry components you're not interested in: they'll be ignored by the function.

Example:

   int w, h, cw, ch;

   evas_object_geometry_get(d.img, NULL, NULL, &w, &h);
   ecore_evas_geometry_get(d.ee, NULL, NULL, &cw, &ch);

   if (w < cw)
     evas_object_resize(d.img, cw, ch);
   else
     evas_object_resize(d.img, cw / 2, ch / 2);

   return EINA_TRUE; /* re-issue the timer */

See the full example.

Since :
2.3
Examples:
ecore_imf_example.c, edje-box2.c, evas-box.c, evas-events.c, evas-map-utils.c, evas-smart-interface.c, evas-smart-object.c, genlist_example_02.c, and track_example_01.c.
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.

Parameters:
objThe given Evas object.
xX position to move the object to, in canvas units.
yY position to move the object to, in canvas units.
wThe new width of the Evas object.
hThe 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.

See also:
evas_object_move()
evas_object_resize()
evas_object_geometry_get
Since (EFL) :
1.8
Since :
3.0
void evas_object_hide ( Evas_Object obj)

Makes the given Evas object invisible.

Parameters:
objThe 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.

Note:
All objects are created in the hidden state! If you want them shown, use evas_object_show() after their creation.
See also:
evas_object_show()
evas_object_visible_get()

Example:

        if (evas_object_visible_get(d.clipper))
          {
             evas_object_hide(d.clipper);
             printf("hidden\n");
          }
        else
          {
             evas_object_show(d.clipper);
             printf("visible\n");
          }
        return;

See the full example.

Since :
2.3
Examples:
button_example_01.c, evas-map-utils.c, evas-object-manipulation.c, evas-smart-interface.c, hover_example_01.c, inwin_example.c, notify_example_01.c, popup_example_01.c, and popup_example_03.c.
short evas_object_layer_get ( const Evas_Object obj)

Retrieves the layer of its canvas that the given object is part of.

Returns:
Number of its layer
See also:
evas_object_layer_set()
Since :
2.3
Examples:
evas-stacking.c.
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.

Warning:
Be careful, it doesn't make sense to change the layer of smart objects' children. Smart objects have a layer of their own, which should contain all their children objects.
See also:
evas_object_layer_get()
Parameters:
[in]lThe number of the layer to place the object on. Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX.
Since :
2.3
Examples:
eina_tiler_01.c, and evas-stacking.c.
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.

See also:
evas_object_stack_above()
evas_object_stack_below()
evas_object_raise()
Since :
2.3
Examples:
evas-stacking.c.
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.

Parameters:
[in]nameThe given name.
[in]recurseSet 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.).
Returns:
The Evas object with the given name on success, Otherwise null.
Since (EFL) :
1.2
Since :
3.0
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.

Returns:
The given name.
Since :
2.3
Examples:
evas-events.c, and evas-stacking.c.
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.

Parameters:
[in]nameThe given name.
Since :
2.3
Examples:
edje-box2.c, evas-events.c, evas-map-utils.c, evas-object-manipulation.c, and evas-stacking.c.
Eina_Bool evas_object_pointer_coords_inside_get ( const Evas_Object eo_obj,
int  x,
int  y 
)

Returns whether the coords are logically inside the object.

When this function is called it will return a value of either false or true, depending on if the coords are inside the object's current geometry.

A return value of true indicates the position is logically inside the object, and false implies it is logically outside the object.

If e is not a valid object, the return value is undefined.

Parameters:
[in]xThe canvas-relative x coordinate.
[in]yThe canvas-relative y coordinate.
Returns:
true if the coords are inside the object, false otherwise
Eina_Bool evas_object_pointer_inside_by_device_get ( const Evas_Object obj,
Efl_Input_Device *  dev 
)

Returns whether the mouse pointer is logically inside the object.

Parameters:
[in]devThe pointer device.
Returns:
true if the pointer is inside, false otherwise.
Since (EFL) :
1.20

Returns whether the default mouse pointer is logically inside the object.

When this function is called it will return a value of either false or true, depending on if event_feed_mouse_in or event_feed_mouse_out have been called to feed in a mouse enter event into the object.

A return value of true indicates the mouse is logically inside the object, and false implies it is logically outside the object.

If e is not a valid object, the return value is undefined.

Returns:
true if the mouse pointer is inside the object, false otherwise
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.

See also:
evas_object_stack_above()
evas_object_stack_below()
evas_object_lower()
Since :
2.3
Examples:
evas-stacking.c.
void evas_object_ref ( Evas_Object obj)

Increments object reference count to defer its deletion.

Parameters:
objThe 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.

See also:
evas_object_unref()
evas_object_del()
Note:
This is a very simple reference counting mechanism! For instance, Evas is not ready to check for pending references on a canvas deletion, or things like that. This is useful on scenarios where, inside a code block, callbacks exist which would possibly delete an object we are operating on afterwards. Then, one would evas_object_ref() it on the beginning of the block and evas_object_unref() it on the end. It would then be deleted at this point, if it should be.

Example:

  evas_object_ref(obj);

  // action here...
  evas_object_smart_callback_call(obj, SIG_SELECTED, NULL);
  // more action here...
  evas_object_unref(obj);
Since (EFL) :
1.1
Since :
2.3
int evas_object_ref_get ( const Evas_Object obj)

Get the object reference count.

Parameters:
objThe 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.

See also:
evas_object_ref()
evas_object_unref()
evas_object_del()
Since (EFL) :
1.2
Since :
2.3

Retrieves the current value of the operation used for rendering the Evas object.

Returns:
One of the Evas_Render_Op values. Only blend (default) and copy modes are supported.
Since :
2.3
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).

Parameters:
[in]render_opOne of the Evas_Render_Op values. Only blend (default) and copy modes are supported.
Since :
2.3
void evas_object_resize ( Evas_Object obj,
Evas_Coord  w,
Evas_Coord  h 
)

Changes the size of the given Evas object.

Parameters:
[in]win
[in]hin
Since :
2.3
Examples:
actionslider_example_01.c, bg_example_01.c, bg_example_02.c, bg_example_03.c, box_example_02.c, bubble_example_01.c, button_example_00.c, button_example_01.c, check_example_01.c, codegen_example.c, colorselector_example_01.c, combobox_example_01.c, conformant_example_01.c, conformant_example_02.c, ctxpopup_example_01.c, dayselector_example.c, diskselector_example_01.c, ecore_animator_example.c, ecore_evas_basics_example.c, ecore_evas_buffer_example_01.c, ecore_evas_buffer_example_02.c, ecore_evas_callbacks.c, ecore_evas_object_example.c, ecore_evas_window_sizes_example.c, ecore_imf_example.c, edje-basic.c, edje-box.c, edje-box2.c, edje-color-class.c, edje-drag.c, edje-perspective.c, edje-signals-messages.c, edje-swallow.c, edje-table.c, edje-text.c, efl_thread_1.c, efl_thread_2.c, efl_thread_3.c, efl_thread_4.c, efl_thread_5.c, efl_thread_6.c, eina_tiler_01.c, entry_example.c, evas-aspect-hints.c, evas-box.c, evas-buffer-simple.c, evas-events.c, evas-hints.c, evas-images.c, evas-images2.c, evas-map-utils.c, evas-object-manipulation.c, evas-smart-interface.c, evas-smart-object.c, evas-stacking.c, evas-table.c, evas-text.c, fileselector_button_example.c, fileselector_entry_example.c, fileselector_example.c, flip_example_01.c, frame_example_01.c, general_funcs_example.c, gengrid_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, glview_example_01.c, hover_example_01.c, hoversel_example_01.c, icon_example_01.c, image_example_01.c, index_example_01.c, index_example_02.c, inwin_example.c, label_example_01.c, layout_example_01.c, layout_example_02.c, layout_example_03.c, list_example_01.c, list_example_02.c, list_example_03.c, location_example_01.c, map_example_01.c, map_example_02.c, map_example_03.c, mapbuf_example.c, menu_example_01.c, naviframe_example.c, notify_example_01.c, panes_example.c, photocam_example_01.c, popup_example_01.c, popup_example_02.c, popup_example_03.c, prefs_example_01.c, prefs_example_02.c, prefs_example_03.c, scroller_example_01.c, slideshow_example.c, theme_example_01.c, theme_example_02.c, thumb_example_01.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, track_example_01.c, transit_example_01.c, transit_example_02.c, transit_example_03.c, transit_example_04.c, web_example_02.c, and win_example.c.
double evas_object_scale_get ( const Evas_Object obj)

Retrieves the scaling factor for the given Evas object.

Parameters:
[in]objThe object.
Returns:
The scaling factor. 1.0 means no scaling, default size.
Since :
2.3
void evas_object_scale_set ( Evas_Object obj,
double  scale 
)

Sets the scaling factor for an Evas object. Does not affect all objects.

This will multiply the object's dimension by the given factor, thus altering its geometry (width and height). Useful when you want scalable UI elements, possibly at run time.

Note:
Only text and textblock objects have scaling change handlers. Other objects won't change visually on this call.
Parameters:
[in]objThe object.
[in]scaleThe scaling factor. 1.0 means no scaling, default size.
Since :
2.3
void evas_object_show ( Evas_Object obj)

Makes the given Evas object visible.

Parameters:
objThe given Evas object.

Besides becoming visible, the object's ::EVAS_CALLBACK_SHOW callback will be called.

See also:
evas_object_hide() for more on object visibility.
evas_object_visible_get()
Since :
2.3
Examples:
actionslider_example_01.c, bg_example_01.c, bg_example_02.c, bg_example_03.c, box_example_02.c, bubble_example_01.c, button_example_00.c, button_example_01.c, calendar_example_01.c, calendar_example_02.c, calendar_example_03.c, calendar_example_04.c, calendar_example_05.c, calendar_example_06.c, check_example_01.c, clock_example.c, codegen_example.c, colorselector_example_01.c, combobox_example_01.c, conformant_example_01.c, conformant_example_02.c, ctxpopup_example_01.c, datetime_example.c, dayselector_example.c, diskselector_example_01.c, diskselector_example_02.c, ecore_animator_example.c, ecore_evas_basics_example.c, ecore_evas_buffer_example_01.c, ecore_evas_buffer_example_02.c, ecore_evas_callbacks.c, ecore_evas_object_example.c, ecore_evas_window_sizes_example.c, ecore_imf_example.c, edje-basic.c, edje-box.c, edje-box2.c, edje-color-class.c, edje-drag.c, edje-perspective.c, edje-signals-messages.c, edje-swallow.c, edje-table.c, edje-text.c, efl_thread_1.c, efl_thread_2.c, efl_thread_3.c, efl_thread_4.c, efl_thread_5.c, efl_thread_6.c, eina_tiler_01.c, entry_example.c, evas-aspect-hints.c, evas-box.c, evas-buffer-simple.c, evas-events.c, evas-hints.c, evas-images.c, evas-images2.c, evas-map-utils.c, evas-object-manipulation.c, evas-smart-interface.c, evas-smart-object.c, evas-stacking.c, evas-table.c, evas-text.c, fileselector_button_example.c, fileselector_entry_example.c, fileselector_example.c, flip_example_01.c, flipselector_example.c, frame_example_01.c, general_funcs_example.c, gengrid_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, glview_example_01.c, hover_example_01.c, hoversel_example_01.c, icon_example_01.c, image_example_01.c, index_example_01.c, index_example_02.c, inwin_example.c, label_example_01.c, layout_example_01.c, layout_example_02.c, layout_example_03.c, list_example_01.c, list_example_02.c, list_example_03.c, location_example_01.c, map_example_01.c, map_example_02.c, map_example_03.c, mapbuf_example.c, menu_example_01.c, naviframe_example.c, notify_example_01.c, panel_example_01.c, panes_example.c, photocam_example_01.c, popup_example_01.c, popup_example_02.c, popup_example_03.c, prefs_example_01.c, prefs_example_02.c, prefs_example_03.c, progressbar_example.c, radio_example_01.c, scroller_example_01.c, segment_control_example.c, separator_example_01.c, slider_example.c, slideshow_example.c, spinner_example.c, table_example_01.c, table_example_02.c, theme_example_01.c, theme_example_02.c, thumb_example_01.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, track_example_01.c, transit_example_01.c, transit_example_02.c, transit_example_03.c, transit_example_04.c, web_example_02.c, and win_example.c.
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
If obj is invalid, then the hint components will be set with 0.5
Parameters:
[out]xDouble, ranging from 0.0 to 1.0 or with the special value #EVAS_HINT_FILL, to use as horizontal alignment hint.
[out]yDouble, ranging from 0.0 to 1.0 or with the special value #EVAS_HINT_FILL, to use as vertical alignment hint.
Since :
2.3
Examples:
button_example_01.c, and evas-hints.c.
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.

Note:
Default alignment hint values are 0.5, for both axis.
Parameters:
[in]xDouble, ranging from 0.0 to 1.0 or with the special value #EVAS_HINT_FILL, to use as horizontal alignment hint.
[in]yDouble, ranging from 0.0 to 1.0 or with the special value #EVAS_HINT_FILL, to use as vertical alignment hint.
Since :
2.3
Examples:
actionslider_example_01.c, bg_example_03.c, box_example_02.c, button_example_01.c, calendar_example_04.c, calendar_example_06.c, codegen_example.c, colorselector_example_01.c, combobox_example_01.c, conformant_example_01.c, conformant_example_02.c, datetime_example.c, dayselector_example.c, diskselector_example_01.c, diskselector_example_02.c, entry_example.c, evas-hints.c, fileselector_entry_example.c, fileselector_example.c, general_funcs_example.c, gengrid_example.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, glview_example_01.c, index_example_01.c, inwin_example.c, layout_example_01.c, layout_example_03.c, list_example_01.c, list_example_03.c, location_example_01.c, map_example_03.c, mapbuf_example.c, panel_example_01.c, panes_example.c, prefs_example_01.c, prefs_example_02.c, progressbar_example.c, radio_example_01.c, separator_example_01.c, slider_example.c, spinner_example.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, transit_example_03.c, transit_example_04.c, web_example_02.c, and win_example.c.
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
Parameters:
[out]aspectThe policy/type of aspect ratio to apply to obj.
[out]wInteger to use as aspect width ratio term.
[out]hInteger to use as aspect height ratio term.
Since :
2.3
Examples:
evas-aspect-hints.c.
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.

Note:
Smart objects(such as elementary) can have their own size hint policy. So calling this API may or may not affect the size of smart objects.
Parameters:
[in]aspectThe policy/type of aspect ratio to apply to obj.
[in]wInteger to use as aspect width ratio term.
[in]hInteger to use as aspect height ratio term.
Since :
2.3
Examples:
evas-aspect-hints.c, fileselector_button_example.c, fileselector_entry_example.c, gengrid_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_04.c, genlist_example_05.c, index_example_02.c, and progressbar_example.c.

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.

Returns:
Display mode hint.
Since :
2.3

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.

Parameters:
[in]dispmodeDisplay mode hint.
Since :
2.3
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
Parameters:
[out]wInteger to use as the maximum width hint.
[out]hInteger to use as the maximum height hint.
Since :
2.3
Examples:
evas-hints.c.
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.

Note:
Smart objects (such as elementary) can have their own size hint policy. So calling this API may or may not affect the size of smart objects.
Parameters:
[in]wInteger to use as the maximum width hint.
[in]hInteger to use as the maximum height hint.
Since :
2.3
Examples:
evas-hints.c.
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
Parameters:
[out]wInteger to use as the minimum width hint.
[out]hInteger to use as the minimum height hint.
Since :
2.3
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.

Note:
Smart objects(such as elementary) can have their own size hint policy. So calling this API may or may not affect the size of smart objects.
Parameters:
[in]wInteger to use as the minimum width hint.
[in]hInteger to use as the minimum height hint.
Since :
2.3
Examples:
edje-box2.c, edje-table.c, evas-box.c, evas-hints.c, evas-table.c, hover_example_01.c, map_example_02.c, menu_example_01.c, separator_example_01.c, and table_example_02.c.
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
Parameters:
[out]lInteger to specify left padding.
[out]rInteger to specify right padding.
[out]tInteger to specify top padding.
[out]bInteger to specify bottom padding.
Since :
2.3
Examples:
evas-hints.c.
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.

Note:
Smart objects(such as elementary) can have their own size hint policy. So calling this API may or may not affect the size of smart objects.
Parameters:
[in]lInteger to specify left padding.
[in]rInteger to specify right padding.
[in]tInteger to specify top padding.
[in]bInteger to specify bottom padding.
Since :
2.3
Examples:
evas-hints.c.
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
Parameters:
[out]wInteger to use as the preferred width hint.
[out]hInteger to use as the preferred height hint.
Since :
3.0
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.

Note:
Smart objects(such as elementary) can have their own size hint policy. So calling this API may or may not affect the size of smart objects.
Parameters:
[in]wInteger to use as the preferred width hint.
[in]hInteger to use as the preferred height hint.
Since :
3.0
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.

Note:
Use null pointers on the hint components you're not interested in: they'll be ignored by the function.
If obj is invalid, then the hint components will be set with 0.0.
Parameters:
[out]xNon-negative double value to use as horizontal weight hint.
[out]yNon-negative double value to use as vertical weight hint.
Since :
2.3
Examples:
evas-hints.c.
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.

Note:
Default weight hint values are 0.0, for both axis.
Parameters:
[in]xNon-negative double value to use as horizontal weight hint.
[in]yNon-negative double value to use as vertical weight hint.
Since :
2.3
Examples:
actionslider_example_01.c, bg_example_02.c, bg_example_03.c, box_example_02.c, button_example_01.c, calendar_example_01.c, calendar_example_02.c, calendar_example_03.c, calendar_example_04.c, calendar_example_05.c, calendar_example_06.c, clock_example.c, codegen_example.c, colorselector_example_01.c, combobox_example_01.c, conformant_example_01.c, conformant_example_02.c, ctxpopup_example_01.c, datetime_example.c, dayselector_example.c, diskselector_example_01.c, diskselector_example_02.c, edje-table.c, entry_example.c, evas-hints.c, fileselector_button_example.c, fileselector_entry_example.c, fileselector_example.c, flipselector_example.c, general_funcs_example.c, gengrid_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, glview_example_01.c, icon_example_01.c, image_example_01.c, index_example_01.c, index_example_02.c, inwin_example.c, layout_example_01.c, layout_example_02.c, layout_example_03.c, list_example_01.c, list_example_02.c, list_example_03.c, location_example_01.c, map_example_01.c, map_example_02.c, map_example_03.c, mapbuf_example.c, naviframe_example.c, notify_example_01.c, panel_example_01.c, panes_example.c, prefs_example_01.c, prefs_example_02.c, prefs_example_03.c, progressbar_example.c, radio_example_01.c, scroller_example_01.c, segment_control_example.c, separator_example_01.c, slider_example.c, slideshow_example.c, spinner_example.c, theme_example_01.c, theme_example_02.c, thumb_example_01.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, track_example_01.c, transit_example_03.c, transit_example_04.c, web_example_02.c, and win_example.c.
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.

See also:
evas_object_layer_get()
evas_object_layer_set()
evas_object_stack_below()
Parameters:
[in]abovethe object above which to stack
Since :
2.3
Examples:
evas-stacking.c.
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.

See also:
evas_object_layer_get()
evas_object_layer_set()
evas_object_stack_below()
Parameters:
[in]belowthe object below which to stack
Since :
2.3
Examples:
evas-stacking.c.

Get the "static clipper" hint flag for a given Evas object.

Returns:
true if it's to be used as a static clipper, false otherwise.
Since :
2.3
Examples:
evas-smart-interface.c, and evas-smart-object.c.
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.

Parameters:
[in]is_static_cliptrue if it's to be used as a static clipper, false otherwise.
Since :
2.3
Evas_Object* evas_object_top_at_xy_get ( Eo *  eo_e,
Evas_Coord  x,
Evas_Coord  y,
Eina_Bool  include_pass_events_objects,
Eina_Bool  include_hidden_objects 
)

Retrieve the object stacked at the top of a given position in a canvas.

This function will traverse all the layers of the given canvas, from top to bottom, querying for objects with areas covering the given position. The user can remove from the query objects which are hidden and/or which are set to pass events.

Warning:
This function will skip objects parented by smart objects, acting only on the ones at the "top level", with regard to object parenting.
Parameters:
[in]objThe object.
[in]xThe pixel position.
[in]yThe pixel position.
[in]include_pass_events_objectsBoolean flag to include or not objects which pass events in this calculation.
[in]include_hidden_objectsBoolean flag to include or not hidden objects in this calculation.
Returns:
The Evas object that is over all other objects at the given position.
Since :
3.0
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.

Returns:
The type of the object.
Since (EFL) :
1.18
Since :
2.3
Examples:
evas-object-manipulation.c.
void evas_object_unref ( Evas_Object obj)

Decrements object reference count.

Parameters:
objThe 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.

See also:
evas_object_ref() (for an example)
evas_object_del()
Since (EFL) :
1.1
Since :
2.3

Retrieves whether or not the given Evas object is visible.

Since :
2.3
Examples:
evas-object-manipulation.c, and track_example_01.c.
Eina_List* evas_objects_at_xy_get ( Eo *  eo_e,
int  x,
int  y,
Eina_Bool  include_pass_events_objects,
Eina_Bool  include_hidden_objects 
)

Retrieve a list of objects lying over a given position in a canvas.

This function will traverse all the layers of the given canvas, from top to bottom, querying for objects with areas covering the given position. The user can remove from query objects which are hidden and/or which are set to pass events.

Warning:
This function will skip objects parented by smart objects, acting only on the ones at the "top level", with regard to object parenting.
Parameters:
[in]objThe object.
[in]xThe pixel position.
[in]yThe pixel position.
[in]include_pass_events_objectsBoolean flag to include or not objects which pass events in this calculation.
[in]include_hidden_objectsBoolean flag to include or not hidden objects in this calculation.
Returns:
The list of objects that are over the given position in e.
Since :
3.0
Eina_List* evas_objects_in_rectangle_get ( const Eo *  obj,
int  x,
int  y,
int  w,
int  h,
Eina_Bool  include_pass_events_objects,
Eina_Bool  include_hidden_objects 
)

Get all objects in the given rectangle.

Parameters:
[in]objThe object.
[in]xX coordinate
[in]yY coordinate
[in]wWidth
[in]hHeight
[in]include_pass_events_objectstrue if the list should include objects which pass events
[in]include_hidden_objectstrue if the list should include hidden objects
Returns:
List of objects
Since :
3.0
void evas_vg_node_color_set ( Eo *  obj,
int  r,
int  g,
int  b,
int  a 
)

Sets the general/main color of the given Efl_Vg object to the given one.

See also:
evas_vg_node_color_get() (for an example)
Note:
These color values are expected to be premultiplied by a.
Parameters:
[in]rThe red component of the given color.
[in]gThe green component of the given color.
[in]bThe blue component of the given color.
[in]aThe alpha component of the given color.
Since :
3.0