27f2962322218980a45a5db89bfacdb7502d60d9
[framework/uifw/elementary.git] / src / lib / elm_mirroring.h
1    /**
2     * @defgroup UI-Mirroring Selective Widget mirroring
3     *
4     * These functions allow you to set ui-mirroring on specific
5     * widgets or the whole interface. Widgets can be in one of two
6     * modes, automatic and manual.  Automatic means they'll be changed
7     * according to the system mirroring mode and manual means only
8     * explicit changes will matter. You are not supposed to change
9     * mirroring state of a widget set to automatic, will mostly work,
10     * but the behavior is not really defined.
11     *
12     * @{
13     */
14
15    EAPI Eina_Bool    elm_mirrored_get(void);
16    EAPI void         elm_mirrored_set(Eina_Bool mirrored);
17
18    /**
19     * Get the system mirrored mode. This determines the default mirrored mode
20     * of widgets.
21     *
22     * @return EINA_TRUE if mirrored is set, EINA_FALSE otherwise
23     */
24    EAPI Eina_Bool    elm_object_mirrored_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
25
26    /**
27     * Set the system mirrored mode. This determines the default mirrored mode
28     * of widgets.
29     *
30     * @param mirrored EINA_TRUE to set mirrored mode, EINA_FALSE to unset it.
31     */
32    EAPI void         elm_object_mirrored_set(Evas_Object *obj, Eina_Bool mirrored) EINA_ARG_NONNULL(1);
33
34    /**
35     * Returns the widget's mirrored mode setting.
36     *
37     * @param obj The widget.
38     * @return mirrored mode setting of the object.
39     *
40     **/
41    EAPI Eina_Bool    elm_object_mirrored_automatic_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
42
43    /**
44     * Sets the widget's mirrored mode setting.
45     * When widget in automatic mode, it follows the system mirrored mode set by
46     * elm_mirrored_set().
47     * @param obj The widget.
48     * @param automatic EINA_TRUE for auto mirrored mode. EINA_FALSE for manual.
49     */
50    EAPI void         elm_object_mirrored_automatic_set(Evas_Object *obj, Eina_Bool automatic) EINA_ARG_NONNULL(1);
51
52    /**
53     * @}
54     */
55