357 lines
12 KiB
Plaintext
357 lines
12 KiB
Plaintext
class Evas.Object_Smart (Evas.Object, Evas.Signal_Interface)
|
|
{
|
|
eo_prefix: evas_obj_smart;
|
|
data: Evas_Smart_Data;
|
|
properties {
|
|
need_recalculate {
|
|
set {
|
|
/*@
|
|
Set or unset the flag signalling that a given smart object needs to
|
|
get recalculated.
|
|
|
|
If this flag is set, then the @c calculate() smart function of @p
|
|
obj will be called, if one is provided, during rendering phase of
|
|
Evas (see evas_render()), after which this flag will be
|
|
automatically unset.
|
|
|
|
If that smart function is not provided for the given object, this
|
|
flag will be left unchanged.
|
|
|
|
@note just setting this flag will not make the canvas' whole scene
|
|
dirty, by itself, and evas_render() will have no effect. To
|
|
force that, use evas_object_smart_changed(), that will also
|
|
call this function automatically, with @c EINA_TRUE as parameter.
|
|
|
|
@see evas_object_smart_need_recalculate_get()
|
|
@see evas_object_smart_calculate()
|
|
@see evas_smart_objects_calculate()
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
}
|
|
get {
|
|
/*@
|
|
Get the value of the flag signalling that a given smart object needs to
|
|
get recalculated.
|
|
|
|
@return if flag is set or not.
|
|
|
|
@note this flag will be unset during the rendering phase, when the
|
|
@c calculate() smart function is called, if one is provided.
|
|
If it's not provided, then the flag will be left unchanged
|
|
after the rendering phase.
|
|
|
|
@see evas_object_smart_need_recalculate_set(), for more details
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
}
|
|
values {
|
|
bool value; /*@ whether one wants to set (@c EINA_TRUE) or to unset
|
|
(@c EINA_FALSE) the flag. */
|
|
}
|
|
}
|
|
clip {
|
|
set {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
}
|
|
values {
|
|
Evas_Object *clip;
|
|
}
|
|
}
|
|
color {
|
|
set {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
}
|
|
values {
|
|
int r;
|
|
int g;
|
|
int b;
|
|
int a;
|
|
}
|
|
}
|
|
data {
|
|
set {
|
|
/*@
|
|
Store a pointer to user data for a given smart object.
|
|
|
|
This data is stored @b independently of the one set by
|
|
evas_object_data_set(), naturally.
|
|
|
|
@see evas_object_smart_data_get()
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
}
|
|
values {
|
|
void *data; /*@ A pointer to user data */
|
|
}
|
|
}
|
|
members {
|
|
get {
|
|
/*@
|
|
Retrieves the list of the member objects of a given Evas smart
|
|
object
|
|
|
|
@return Returns the list of the member objects of @p obj.
|
|
|
|
The returned list should be freed with @c eina_list_free() when you
|
|
no longer need it.
|
|
|
|
@since 1.7 This function will return @c NULL when a non-smart object is passed.
|
|
|
|
@see evas_object_smart_member_add()
|
|
@see evas_object_smart_member_del()
|
|
@see evas_object_smart_iterator_new() */
|
|
return: list<Evas.Object*> * @warn_unused;
|
|
}
|
|
}
|
|
smart {
|
|
get {
|
|
/*@
|
|
Get the #Evas_Smart from which @p obj smart object was created.
|
|
|
|
@return the #Evas_Smart handle or @c NULL, on errors
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
return: Evas_Smart * @warn_unused;
|
|
}
|
|
}
|
|
}
|
|
methods {
|
|
show {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
}
|
|
move {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
params {
|
|
@in Evas_Coord x;
|
|
@in Evas_Coord y;
|
|
}
|
|
}
|
|
callbacks_descriptions_set {
|
|
/*@
|
|
Set an smart object @b instance's smart callbacks descriptions.
|
|
|
|
@return @c EINA_TRUE on success, @c EINA_FALSE on failure.
|
|
|
|
These descriptions are hints to be used by introspection and are
|
|
not enforced in any way.
|
|
|
|
It will not be checked if instance callbacks descriptions have the
|
|
same name as respective possibly registered in the smart object
|
|
@b class. Both are kept in different arrays and users of
|
|
evas_object_smart_callbacks_descriptions_get() should handle this
|
|
case as they wish.
|
|
|
|
@note Becase @p descriptions must be @c NULL terminated, and
|
|
because a @c NULL name makes little sense, too,
|
|
Evas_Smart_Cb_Description.name must @b not be @c NULL.
|
|
|
|
@note While instance callbacks descriptions are possible, they are
|
|
@b not recommended. Use @b class callbacks descriptions
|
|
instead as they make you smart object user's life simpler and
|
|
will use less memory, as descriptions and arrays will be
|
|
shared among all instances.
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
|
|
return: bool;
|
|
params {
|
|
@in const(Evas_Smart_Cb_Description)* descriptions; /*@ @c NULL terminated array with
|
|
#Evas_Smart_Cb_Description descriptions. Array elements won't be
|
|
modified at run time, but references to them and their contents
|
|
will be made, so this array should be kept alive during the whole
|
|
object's lifetime. */
|
|
}
|
|
}
|
|
callbacks_descriptions_get @const {
|
|
/*@
|
|
Retrieve an smart object's know smart callback descriptions (both
|
|
instance and class ones).
|
|
|
|
This call searches for registered callback descriptions for both
|
|
instance and class of the given smart object. These arrays will be
|
|
sorted by Evas_Smart_Cb_Description.name and also @c NULL
|
|
terminated, so both @a class_count and @a instance_count can be
|
|
ignored, if the caller wishes so. The terminator @c NULL is not
|
|
counted in these values.
|
|
|
|
@note If just class descriptions are of interest, try
|
|
evas_smart_callbacks_descriptions_get() instead.
|
|
|
|
@note Use @c NULL pointers on the descriptions/counters you're not
|
|
interested in: they'll be ignored by the function.
|
|
|
|
@see evas_smart_callbacks_descriptions_get()
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
params {
|
|
@out const(Evas_Smart_Cb_Description)** class_descriptions; /*@ Where to store class callbacks
|
|
descriptions array, if any is known. If no descriptions are
|
|
known, @c NULL is returned */
|
|
@out uint class_count; /*@ Returns how many class callbacks descriptions
|
|
are known. */
|
|
@out const(Evas_Smart_Cb_Description)** instance_descriptions; /*@ Where to store instance callbacks
|
|
descriptions array, if any is known. If no descriptions are
|
|
known, @c NULL is returned. */
|
|
@out uint instance_count; /*@ Returns how many instance callbacks
|
|
descriptions are known. */
|
|
}
|
|
}
|
|
iterator_new @const {
|
|
/*@
|
|
Retrieves an iterator of the member objects of a given Evas smart
|
|
object
|
|
|
|
@return Returns the iterator of the member objects of @p obj.
|
|
|
|
@since 1.8
|
|
|
|
@see evas_object_smart_member_add()
|
|
@see evas_object_smart_member_del()
|
|
@see evas_object_smart_members_get() */
|
|
return: free(own(iterator<Evas.Object *> *), eina_iterator_free)
|
|
@warn_unused;
|
|
}
|
|
callback_description_find @const {
|
|
/*@
|
|
Find callback description for callback called @a name.
|
|
|
|
or @c NULL if not found. If parameter is @c NULL, no search
|
|
will be done on instance descriptions.
|
|
@return reference to description if found, @c NULL if not found. */
|
|
params {
|
|
@in const(char)* name @nonull; /*@ name of desired callback, must @b not be @c NULL. The
|
|
search have a special case for @a name being the same
|
|
pointer as registered with Evas_Smart_Cb_Description, one
|
|
can use it to avoid excessive use of strcmp(). */
|
|
@out const(Evas_Smart_Cb_Description)* class_description; /*@ pointer to return class description or
|
|
@c NULL if not found. If parameter is @c NULL, no search will
|
|
be done on class descriptions. */
|
|
@out const(Evas_Smart_Cb_Description)* instance_description; /*@ pointer to return instance description */
|
|
}
|
|
}
|
|
hide {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
}
|
|
calculate {
|
|
/*@
|
|
Call the @b calculate() smart function immediately on a given smart
|
|
object.
|
|
|
|
This will force immediate calculations (see #Evas_Smart_Class)
|
|
needed for renderization of this object and, besides, unset the
|
|
flag on it telling it needs recalculation for the next rendering
|
|
phase.
|
|
|
|
@see evas_object_smart_need_recalculate_set()
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
|
|
}
|
|
add {
|
|
/*@
|
|
Instantiates a new smart object described by @p s.
|
|
|
|
@return a new #Evas_Object handle
|
|
|
|
This is the function one should use when defining the public
|
|
function @b adding an instance of the new smart object to a given
|
|
canvas. It will take care of setting all of its internals to work
|
|
as they should, if the user set things properly, as seem on the
|
|
#EVAS_SMART_SUBCLASS_NEW, for example.
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
legacy: null;
|
|
}
|
|
member_add {
|
|
/*@
|
|
Set an Evas object as a member of a given smart object.
|
|
|
|
Members will automatically be stacked and layered together with the
|
|
smart object. The various stacking functions will operate on
|
|
members relative to the other members instead of the entire canvas,
|
|
since they now live on an exclusive layer (see
|
|
evas_object_stack_above(), for more details).
|
|
|
|
Any @p smart_obj object's specific implementation of the @c
|
|
member_add() smart function will take place too, naturally.
|
|
|
|
@see evas_object_smart_member_del()
|
|
@see evas_object_smart_members_get()
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
|
|
params {
|
|
@in Evas_Object *sub_obj @nonull; /*@ The member object */
|
|
}
|
|
legacy: null;
|
|
}
|
|
resize {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
params {
|
|
@in Evas_Coord w;
|
|
@in Evas_Coord h;
|
|
}
|
|
}
|
|
clip_unset {
|
|
/*@ No description supplied by the EAPI. */
|
|
legacy: null;
|
|
}
|
|
changed {
|
|
/*@
|
|
Mark smart object as changed, dirty.
|
|
|
|
This will flag the given object as needing recalculation,
|
|
forcefully. As an effect, on the next rendering cycle its @b
|
|
calculate() (see #Evas_Smart_Class) smart function will be called.
|
|
|
|
@see evas_object_smart_need_recalculate_set().
|
|
@see evas_object_smart_calculate().
|
|
|
|
@ingroup Evas_Smart_Object_Group */
|
|
|
|
}
|
|
member_del {
|
|
/*@
|
|
Removes a member object from a given smart object.
|
|
|
|
This removes a member object from a smart object, if it was added
|
|
to any. The object will still be on the canvas, but no longer
|
|
associated with whichever smart object it was associated with.
|
|
|
|
@see evas_object_smart_member_add() for more details
|
|
@see evas_object_smart_members_get() */
|
|
|
|
params {
|
|
@in Evas_Object *sub_obj; /*@ the member object
|
|
@ingroup Evas_Smart_Object_Group */
|
|
}
|
|
legacy: null;
|
|
}
|
|
del {
|
|
/*@ Deletes a smart object. */
|
|
legacy: null;
|
|
}
|
|
attach {
|
|
/*@ Attach a given smart data to a given smart object. */
|
|
params {
|
|
@in Evas_Smart *s;
|
|
}
|
|
legacy: null;
|
|
}
|
|
}
|
|
implements {
|
|
class.constructor;
|
|
class.destructor;
|
|
Eo.Base.constructor;
|
|
Evas.Object.smart_type_check_ptr;
|
|
Evas.Object.smart_type_check;
|
|
Evas.Object.smart_data.get;
|
|
}
|
|
}
|