Data Fields
_Evas_Smart_Interface Struct Reference

A smart object's base interface definition. More...

Data Fields

const char * name
 Name of the given interface.
 
unsigned private_size
 Size, in bytes, of the interface's private dada blob. More...
 
Eina_Bool(* add )(Evas_Object *obj)
 Function to be called at object creation time. More...
 
void(* del )(Evas_Object *obj)
 Function to be called at object deletion time. More...
 

Detailed Description

A smart object's base interface definition.

Every Evas interface must have a name field, pointing to a global, constant string variable. This string pointer will be the only way of retrieving back a given interface from a smart object. Two function pointers must be defined, too, which will be called at object creation and deletion times.

See also some examples on smart interfaces.

Since
1.7
Examples
evas-smart-interface.c.

Field Documentation

◆ private_size

unsigned _Evas_Smart_Interface::private_size

Size, in bytes, of the interface's private dada blob.

This will be allocated and freed automatically for you. Get it with evas_object_smart_interface_data_get().

◆ add

Eina_Bool(* _Evas_Smart_Interface::add) (Evas_Object *obj)

Function to be called at object creation time.

This will take place before the object's smart add() function.

◆ del

void(* _Evas_Smart_Interface::del) (Evas_Object *obj)

Function to be called at object deletion time.

This will take place after the object's smart del() function.