1 /**
2  * Add a new box to the parent
3  *
4  * By default, the box will be in vertical mode and non-homogeneous.
5  *
6  * @param parent The parent object
7  * @return The new object or NULL if it cannot be created
8  *
9  * @ingroup Elm_Box_Group
10  */
11 EAPI Evas_Object        *elm_box_add(Evas_Object *parent);
12 
13 #include "elm_box_eo.legacy.h"
14 
15 /**
16  * @brief Set the layout defining function to be used by the box
17  *
18  * Whenever anything changes that requires the box in @c obj to recalculate the
19  * size and position of its elements, the function @c cb will be called to
20  * determine what the layout of the children will be.
21  *
22  * Once a custom function is set, everything about the children layout is
23  * defined by it. The flags set by @ref elm_box_horizontal_set and
24  * @ref elm_box_homogeneous_set no longer have any meaning, and the values
25  * given by @ref elm_box_padding_set and @ref elm_box_align_set are up to this
26  * layout function to decide if they are used and how. These last two will be
27  * found in the @c priv parameter, of type @c Evas_Object_Box_Data, passed to
28  * @c cb. The @c Evas_Object the function receives is not the Elementary
29  * widget, but the internal Evas Box it uses, so none of the functions
30  * described here can be used on it.
31  *
32  * Any of the layout functions in @c Evas can be used here, as well as the
33  * special @ref elm_box_layout_transition.
34  *
35  * The final @c data argument received by @c cb is the same @c data passed
36  * here, and the @c free_data function will be called to free it whenever the
37  * box is destroyed or another layout function is set.
38  *
39  * Setting @c cb to @c null will revert back to the default layout function.
40  *
41  * See also @ref elm_box_layout_transition.
42  *
43  * @param[in] cb The callback function used for layout
44  * @param[in] data Data that will be passed to layout function
45  * @param[in] free_data Function called to free @c data
46  *
47  * @ingroup Elm_Box_Group
48  */
49 EAPI void elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, Ecore_Cb free_data);
50