~~Title: Efl.Layout.Calc~~
====== Efl.Layout.Calc (interface) ======
===== Description =====
%%This interface defines a common set of APIs used to trigger calculations with layout objects.%%
%%This defines all the APIs supported by legacy "Edje" object, known in EO API as Efl.Canvas.Layout.%%
//Since 1.22//
{{page>:develop:api-include:efl:layout:calc:description&nouser&nolink&nodate}}
===== Members =====
**[[:develop:api:efl:layout:calc:property:calc_auto_update_hints|calc_auto_update_hints]]** //**(get, set)**//\\
> %%Whether this object updates its size hints automatically.%%
Eina_Bool efl_layout_calc_auto_update_hints_get(const Eo *obj);
void efl_layout_calc_auto_update_hints_set(Eo *obj, Eina_Bool update);
\\
**[[:develop:api:efl:layout:calc:method:calc_freeze|calc_freeze]]**\\
> %%Freezes the layout object.%%
int efl_layout_calc_freeze(Eo *obj);
\\
**[[:develop:api:efl:layout:calc:method:calc_parts_extends|calc_parts_extends]]**\\
> %%Calculates the geometry of the region, relative to a given layout object's area, occupied by all parts in the object.%%
Eina_Rect efl_layout_calc_parts_extends(Eo *obj);
\\
**[[:develop:api:efl:layout:calc:method:calc_size_min|calc_size_min]]**\\
> %%Calculates the minimum required size for a given layout object.%%
Eina_Size2D efl_layout_calc_size_min(Eo *obj, Eina_Size2D restricted);
\\
**[[:develop:api:efl:layout:calc:method:calc_thaw|calc_thaw]]**\\
> %%Thaws the layout object.%%
int efl_layout_calc_thaw(Eo *obj);
\\
**[[:develop:api:efl:layout:calc:method:calc_force|calc_force]]** ''protected''\\
> %%Forces a Size/Geometry calculation.%%
void efl_layout_calc_force(Eo *obj);
\\
===== Events =====
**[[:develop:api:efl:layout:calc:event:circular_dependency|circular,dependency]]**\\
> %%A circular dependency between parts of the object was found.%%
EFL_LAYOUT_EVENT_CIRCULAR_DEPENDENCY(const Eina_Array *)
\\ **[[:develop:api:efl:layout:calc:event:recalc|recalc]]**\\
> %%The layout was recalculated.%%
EFL_LAYOUT_EVENT_RECALC(void)
\\