_Evas_Smart_Interface Struct Reference

Data Fields
_Evas_Smart_Interface Struct Reference
Evas » Smart Functions

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

Referenced by evas_smart_legacy_type_register(), and evas_smart_usage_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.