Modules
Font Functions

Functions that deals with fonts. More...

Modules

 Font Path Functions
 Functions that edit the paths being used to load fonts.
 
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...
 
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_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_Objectevas_object_below_get (const Evas_Object *obj)
 Get the Evas object stacked right below obj. More...
 
Evas_Objectevas_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...
 

Detailed Description

Functions that deals with fonts.

Function Documentation

void evas_font_available_list_free ( Evas e,
Eina_List available 
)

Free list of font descriptions returned by evas_font_dir_available_list().

Parameters
eThe evas instance that returned such list.
availablethe list returned by evas_font_dir_available_list().
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:

1 evas_object_ref(obj);
2 
3 // action here...
4 evas_object_smart_callback_call(obj, SIG_SELECTED, NULL);
5 // more action here...
6 evas_object_unref(obj);
Since
1.1

References eo_data_scope_get(), and eo_ref().

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
1.1

References eo_data_scope_get(), eo_unref(), and evas_object_del().

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
1.2

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

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()

References EINA_TRUE, eo_data_scope_get(), and eo_del().

Referenced by ecore_evas_ews_background_set(), edje_edit_part_source_set(), edje_perspective_free(), ethumb_free(), and evas_object_unref().

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:

1  int w, h, cw, ch;
2 
3  evas_object_geometry_get(d.img, NULL, NULL, &w, &h);
4  ecore_evas_geometry_get(d.ee, NULL, NULL, &cw, &ch);
5 
6  if (w < cw)
7  evas_object_resize(d.img, cw, ch);
8  else
9  evas_object_resize(d.img, cw / 2, ch / 2);
10 
11  return EINA_TRUE; /* re-issue the timer */

See the full example.

Referenced by emotion_object_border_set(), emotion_object_keep_aspect_set(), 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.

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
1.8
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()

References EINA_TRUE.

Referenced by ecore_evas_ews_background_set(), and emotion_object_bg_color_set().

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:

1  if (evas_object_visible_get(d.clipper))
2  {
3  evas_object_hide(d.clipper);
4  fprintf(stdout, "hidden\n");
5  }
6  else
7  {
8  evas_object_show(d.clipper);
9  fprintf(stdout, "visible\n");
10  }
11  return;

See the full example.

References EINA_FALSE.

Referenced by ecore_evas_cursor_unset(), edje_edit_part_del(), and emotion_object_bg_color_set().

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.

See also
evas_object_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.

Referenced by ecore_evas_ews_background_set(), and emotion_object_bg_color_set().

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:

1  int alpha, r, g, b;
2 
3  evas_object_color_get(d.clipper, &r, &g, &b, &alpha);
4  evas_color_argb_unpremul(alpha, &r, &g, &b);
5 
6  alpha -= 20;
7  if (alpha < 0)
8  alpha = 255;
9 
10  evas_color_argb_premul(alpha, &r, &g, &b);
11  evas_object_color_set(d.clipper, r, g, b, alpha);
12 
13  fprintf(stdout, "Changing clipper's opacity: %d%%\n",
14  (int)((alpha / 255.0) * 100));
15  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.

Referenced by emotion_object_bg_color_get().

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 
)
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.
Examples:
eina_tiler_01.c, ephysics_logo.c, and evas-stacking.c.

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.

Returns
Number of its layer
See also
evas_object_layer_set()
Examples:
evas-stacking.c.
Evas_Object* evas_object_below_get ( const Evas_Object obj)

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()
Examples:
evas-stacking.c.
Evas_Object* evas_object_above_get ( const Evas_Object obj)

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()
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
Examples:
evas-stacking.c.

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.

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

Referenced by edje_edit_part_restack_above(), edje_edit_part_restack_below(), edje_edit_part_restack_part_above(), and edje_edit_part_restack_part_below().

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()
Examples:
evas-stacking.c.

Referenced by ecore_evas_ews_background_set().