Functions that deal with parts of type box. More...
Functions | |
void | edje_box_layout_register (const char *name, Evas_Object_Box_Layout func, void *(*layout_data_get)(void *), void(*layout_data_free)(void *), void(*free_data)(void *), void *data) |
Registers a custom layout to be used in edje boxes. More... | |
Functions that deal with parts of type box.
Box is a container type for parts, that means it can contain other parts.
void edje_box_layout_register | ( | const char * | name, |
Evas_Object_Box_Layout | func, | ||
void *(*)(void *) | layout_data_get, | ||
void(*)(void *) | layout_data_free, | ||
void(*)(void *) | free_data, | ||
void * | data | ||
) |
Registers a custom layout to be used in edje boxes.
name | The name of the layout |
func | The function defining the layout |
layout_data_get | This function gets the custom data pointer for func |
layout_data_free | Passed to func to free its private data when needed |
free_data | Frees data |
data | Private pointer passed to layout_data_get |
This function registers custom layouts that can be referred from themes by the registered name. The Evas_Object_Box_Layout functions receive two pointers for internal use, one being private data, and the other the function to free that data when it's not longer needed. From Edje, this private data will be retrieved by calling layout_data_get, and layout_data_free will be the free function passed to func. layout_data_get will be called with data as its parameter, and this one will be freed by free_data whenever the layout is unregistered from Edje.
References eina_rbtree_inline_insert(), eina_rbtree_inline_remove(), and ERR.