split up all elm headers. not perfect, but a big start
[framework/uifw/elementary.git] / src / lib / elm_mapbuf.h
1    /**
2     * @defgroup Mapbuf Mapbuf
3     * @ingroup Elementary
4     *
5     * @image html img/widget/mapbuf/preview-00.png
6     * @image latex img/widget/mapbuf/preview-00.eps width=\textwidth
7     *
8     * This holds one content object and uses an Evas Map of transformation
9     * points to be later used with this content. So the content will be
10     * moved, resized, etc as a single image. So it will improve performance
11     * when you have a complex interafce, with a lot of elements, and will
12     * need to resize or move it frequently (the content object and its
13     * children).
14     *
15     * Default contents parts of the mapbuf widget that you can use for are:
16     * @li "default" - A content of the mapbuf
17     *
18     * To enable map, elm_mapbuf_enabled_set() should be used.
19     *
20     * See how to use this widget in this example:
21     * @ref mapbuf_example
22     */
23
24    /**
25     * @addtogroup Mapbuf
26     * @{
27     */
28
29    /**
30     * Add a new mapbuf widget to the given parent Elementary
31     * (container) object.
32     *
33     * @param parent The parent object.
34     * @return A new mapbuf widget handle or @c NULL, on errors.
35     *
36     * This function inserts a new mapbuf widget on the canvas.
37     *
38     * @ingroup Mapbuf
39     */
40    EAPI Evas_Object *elm_mapbuf_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
41
42    /**
43     * Set the content of the mapbuf.
44     *
45     * @param obj The mapbuf object.
46     * @param content The content that will be filled in this mapbuf object.
47     *
48     * Once the content object is set, a previously set one will be deleted.
49     * If you want to keep that old content object, use the
50     * elm_mapbuf_content_unset() function.
51     *
52     * To enable map, elm_mapbuf_enabled_set() should be used.
53     *
54     * @deprecated use elm_object_content_set() instead
55     *
56     * @ingroup Mapbuf
57     */
58    EINA_DEPRECATED EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
59
60    /**
61     * Get the content of the mapbuf.
62     *
63     * @param obj The mapbuf object.
64     * @return The content that is being used.
65     *
66     * Return the content object which is set for this widget.
67     *
68     * @see elm_mapbuf_content_set() for details.
69     *
70     * @deprecated use elm_object_content_get() instead
71     *
72     * @ingroup Mapbuf
73     */
74    EINA_DEPRECATED EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
75
76    /**
77     * Unset the content of the mapbuf.
78     *
79     * @param obj The mapbuf object.
80     * @return The content that was being used.
81     *
82     * Unparent and return the content object which was set for this widget.
83     *
84     * @see elm_mapbuf_content_set() for details.
85     *
86     * @deprecated use elm_object_content_unset() instead
87     *
88     * @ingroup Mapbuf
89     */
90    EINA_DEPRECATED EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
91
92    /**
93     * Enable or disable the map.
94     *
95     * @param obj The mapbuf object.
96     * @param enabled @c EINA_TRUE to enable map or @c EINA_FALSE to disable it.
97     *
98     * This enables the map that is set or disables it. On enable, the object
99     * geometry will be saved, and the new geometry will change (position and
100     * size) to reflect the map geometry set.
101     *
102     * Also, when enabled, alpha and smooth states will be used, so if the
103     * content isn't solid, alpha should be enabled, for example, otherwise
104     * a black retangle will fill the content.
105     *
106     * When disabled, the stored map will be freed and geometry prior to
107     * enabling the map will be restored.
108     *
109     * It's disabled by default.
110     *
111     * @see elm_mapbuf_alpha_set()
112     * @see elm_mapbuf_smooth_set()
113     *
114     * @ingroup Mapbuf
115     */
116    EAPI void         elm_mapbuf_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
117
118    /**
119     * Get a value whether map is enabled or not.
120     *
121     * @param obj The mapbuf object.
122     * @return @c EINA_TRUE means map is enabled. @c EINA_FALSE indicates
123     * it's disabled. If @p obj is @c NULL, @c EINA_FALSE is returned.
124     *
125     * @see elm_mapbuf_enabled_set() for details.
126     *
127     * @ingroup Mapbuf
128     */
129    EAPI Eina_Bool    elm_mapbuf_enabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
130
131    /**
132     * Enable or disable smooth map rendering.
133     *
134     * @param obj The mapbuf object.
135     * @param smooth @c EINA_TRUE to enable smooth map rendering or @c EINA_FALSE
136     * to disable it.
137     *
138     * This sets smoothing for map rendering. If the object is a type that has
139     * its own smoothing settings, then both the smooth settings for this object
140     * and the map must be turned off.
141     *
142     * By default smooth maps are enabled.
143     *
144     * @ingroup Mapbuf
145     */
146    EAPI void         elm_mapbuf_smooth_set(Evas_Object *obj, Eina_Bool smooth) EINA_ARG_NONNULL(1);
147
148    /**
149     * Get a value whether smooth map rendering is enabled or not.
150     *
151     * @param obj The mapbuf object.
152     * @return @c EINA_TRUE means smooth map rendering is enabled. @c EINA_FALSE
153     * indicates it's disabled. If @p obj is @c NULL, @c EINA_FALSE is returned.
154     *
155     * @see elm_mapbuf_smooth_set() for details.
156     *
157     * @ingroup Mapbuf
158     */
159    EAPI Eina_Bool    elm_mapbuf_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
160
161    /**
162     * Set or unset alpha flag for map rendering.
163     *
164     * @param obj The mapbuf object.
165     * @param alpha @c EINA_TRUE to enable alpha blending or @c EINA_FALSE
166     * to disable it.
167     *
168     * This sets alpha flag for map rendering. If the object is a type that has
169     * its own alpha settings, then this will take precedence. Only image objects
170     * have this currently. It stops alpha blending of the map area, and is
171     * useful if you know the object and/or all sub-objects is 100% solid.
172     *
173     * Alpha is enabled by default.
174     *
175     * @ingroup Mapbuf
176     */
177    EAPI void         elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha) EINA_ARG_NONNULL(1);
178
179    /**
180     * Get a value whether alpha blending is enabled or not.
181     *
182     * @param obj The mapbuf object.
183     * @return @c EINA_TRUE means alpha blending is enabled. @c EINA_FALSE
184     * indicates it's disabled. If @p obj is @c NULL, @c EINA_FALSE is returned.
185     *
186     * @see elm_mapbuf_alpha_set() for details.
187     *
188     * @ingroup Mapbuf
189     */
190    EAPI Eina_Bool    elm_mapbuf_alpha_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
191
192    /**
193     * @}
194     */
195