summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_canvas_object_eo.legacy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas/efl_canvas_object_eo.legacy.h')
-rw-r--r--src/lib/evas/canvas/efl_canvas_object_eo.legacy.h410
1 files changed, 410 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_object_eo.legacy.h b/src/lib/evas/canvas/efl_canvas_object_eo.legacy.h
new file mode 100644
index 0000000..ce51e7d
--- /dev/null
+++ b/src/lib/evas/canvas/efl_canvas_object_eo.legacy.h
@@ -0,0 +1,410 @@
1#ifndef _EFL_CANVAS_OBJECT_EO_LEGACY_H_
2#define _EFL_CANVAS_OBJECT_EO_LEGACY_H_
3
4#ifndef _EFL_CANVAS_OBJECT_EO_CLASS_TYPE
5#define _EFL_CANVAS_OBJECT_EO_CLASS_TYPE
6
7typedef Eo Efl_Canvas_Object;
8
9#endif
10
11#ifndef _EFL_CANVAS_OBJECT_EO_TYPES
12#define _EFL_CANVAS_OBJECT_EO_TYPES
13
14/** Information of animation events
15 *
16 * @ingroup Efl_Canvas
17 */
18typedef struct _Efl_Canvas_Object_Animation_Event Efl_Canvas_Object_Animation_Event;
19
20/** EFL event animator tick data structure
21 *
22 * @ingroup Efl
23 */
24typedef struct _Efl_Event_Animator_Tick
25{
26 Eina_Rect update_area; /**< Area of the canvas that will be pushed to screen.
27 */
28} Efl_Event_Animator_Tick;
29
30
31#endif
32
33
34
35/**
36 * @brief Low-level pointer behaviour.
37 *
38 * This function has a direct effect on event callbacks related to pointers
39 * (mouse, ...).
40 *
41 * If the value is @ref EFL_INPUT_OBJECT_POINTER_MODE_AUTO_GRAB (default), then
42 * when mouse is pressed down over this object, events will be restricted to it
43 * as source, mouse moves, for example, will be emitted even when the pointer
44 * goes outside this objects geometry.
45 *
46 * If the value is @ref EFL_INPUT_OBJECT_POINTER_MODE_NO_GRAB, then events will
47 * be emitted just when inside this object area.
48 *
49 * The default value is @ref EFL_INPUT_OBJECT_POINTER_MODE_AUTO_GRAB. See also:
50 * @ref Efl.Canvas.Object.pointer_mode_by_device.get and
51 * @ref Efl.Canvas.Object.pointer_mode_by_device.set Note: This function will
52 * only set/get the mode for the default pointer.
53 *
54 * @param[in] obj The object.
55 * @param[in] pointer_mode Input pointer mode
56 *
57 * @return @c true if pointer behaviour was set, @c false otherwise
58 *
59 * @ingroup Evas_Object_Group
60 */
61EAPI Eina_Bool evas_object_pointer_mode_set(Efl_Canvas_Object *obj, Efl_Input_Object_Pointer_Mode pointer_mode);
62
63/**
64 * @brief Low-level pointer behaviour.
65 *
66 * This function has a direct effect on event callbacks related to pointers
67 * (mouse, ...).
68 *
69 * If the value is @ref EFL_INPUT_OBJECT_POINTER_MODE_AUTO_GRAB (default), then
70 * when mouse is pressed down over this object, events will be restricted to it
71 * as source, mouse moves, for example, will be emitted even when the pointer
72 * goes outside this objects geometry.
73 *
74 * If the value is @ref EFL_INPUT_OBJECT_POINTER_MODE_NO_GRAB, then events will
75 * be emitted just when inside this object area.
76 *
77 * The default value is @ref EFL_INPUT_OBJECT_POINTER_MODE_AUTO_GRAB. See also:
78 * @ref Efl.Canvas.Object.pointer_mode_by_device.get and
79 * @ref Efl.Canvas.Object.pointer_mode_by_device.set Note: This function will
80 * only set/get the mode for the default pointer.
81 *
82 * @param[in] obj The object.
83 *
84 * @return Input pointer mode
85 *
86 * @ingroup Evas_Object_Group
87 */
88EAPI Efl_Input_Object_Pointer_Mode evas_object_pointer_mode_get(const Efl_Canvas_Object *obj);
89
90
91
92/**
93 * @brief Clip one object to another.
94 *
95 * This function will clip the object @c obj to the area occupied by the object
96 * @c clip. This means the object @c obj will only be visible within the area
97 * occupied by the clipping object ($clip).
98 *
99 * The color of the object being clipped will be multiplied by the color of the
100 * clipping one, so the resulting color for the former will be "RESULT = (OBJ *
101 * CLIP) / (255 * 255)", per color element (red, green, blue and alpha).
102 *
103 * Clipping is recursive, so clipping objects may be clipped by others, and
104 * their color will in term be multiplied. You may not set up circular clipping
105 * lists (i.e. object 1 clips object 2, which clips object 1): the behavior of
106 * Evas is undefined in this case.
107 *
108 * Objects which do not clip others are visible in the canvas as normal; those
109 * that clip one or more objects become invisible themselves, only affecting
110 * what they clip. If an object ceases to have other objects being clipped by
111 * it, it will become visible again.
112 *
113 * The visibility of an object affects the objects that are clipped by it, so
114 * if the object clipping others is not shown (as in
115 * @ref Efl.Gfx.Entity.visible), the objects clipped by it will not be shown
116 * either.
117 *
118 * If @c obj was being clipped by another object when this function is called,
119 * it gets implicitly removed from the old clipper's domain and is made now to
120 * be clipped by its new clipper.
121 *
122 * If @c clip is @c null, this call will disable clipping for the object i.e.
123 * its visibility and color get detached from the previous clipper. If it
124 * wasn't, this has no effect.
125 *
126 * @note Only rectangle and image (masks) objects can be used as clippers.
127 * Anything else will result in undefined behaviour.
128 *
129 * @param[in] obj The object.
130 * @param[in] clip The object to clip @c obj by.
131 *
132 * @ingroup Evas_Object_Group
133 */
134EAPI void evas_object_clip_set(Efl_Canvas_Object *obj, Efl_Canvas_Object *clip) EINA_ARG_NONNULL(2);
135
136/**
137 * @brief Get the object clipping @c obj (if any).
138 *
139 * This function returns the object clipping @c obj. If @c obj is not being
140 * clipped at all, @c null is returned. The object @c obj must be a valid
141 * Evas_Object.
142 *
143 * @param[in] obj The object.
144 *
145 * @return The object to clip @c obj by.
146 *
147 * @ingroup Evas_Object_Group
148 */
149EAPI Efl_Canvas_Object *evas_object_clip_get(const Efl_Canvas_Object *obj);
150
151/**
152 * @brief Set whether an Evas object is to repeat events.
153 *
154 * If @c repeat is @c true, it will make events on @c obj to also be repeated
155 * for the next lower object in the objects' stack (see see
156 * @ref Efl.Gfx.Stack.below).
157 *
158 * If @c repeat is @c false, events occurring on @c obj will be processed only
159 * on it.
160 *
161 * @param[in] obj The object.
162 * @param[in] repeat Whether @c obj is to repeat events ($true) or not
163 * ($false).
164 *
165 * @ingroup Evas_Object_Group
166 */
167EAPI void evas_object_repeat_events_set(Efl_Canvas_Object *obj, Eina_Bool repeat);
168
169/**
170 * @brief Determine whether an object is set to repeat events.
171 *
172 * @param[in] obj The object.
173 *
174 * @return Whether @c obj is to repeat events ($true) or not ($false).
175 *
176 * @ingroup Evas_Object_Group
177 */
178EAPI Eina_Bool evas_object_repeat_events_get(const Efl_Canvas_Object *obj);
179
180/**
181 * @brief Indicates that this object is the keyboard event receiver on its
182 * canvas.
183 *
184 * Changing focus only affects where (key) input events go. There can be only
185 * one object focused at any time. If @c focus is @c true, @c obj will be set
186 * as the currently focused object and it will receive all keyboard events that
187 * are not exclusive key grabs on other objects. See also
188 * @ref Efl.Canvas.Object.seat_focus_check,
189 * @ref Efl.Canvas.Object.seat_focus_add,
190 * @ref Efl.Canvas.Object.seat_focus_del.
191 *
192 * @param[in] obj The object.
193 * @param[in] focus @c true when set as focused or @c false otherwise.
194 *
195 * @ingroup Evas_Object_Group
196 */
197EAPI void evas_object_focus_set(Efl_Canvas_Object *obj, Eina_Bool focus);
198
199/**
200 * @brief Indicates that this object is the keyboard event receiver on its
201 * canvas.
202 *
203 * Changing focus only affects where (key) input events go. There can be only
204 * one object focused at any time. If @c focus is @c true, @c obj will be set
205 * as the currently focused object and it will receive all keyboard events that
206 * are not exclusive key grabs on other objects. See also
207 * @ref Efl.Canvas.Object.seat_focus_check,
208 * @ref Efl.Canvas.Object.seat_focus_add,
209 * @ref Efl.Canvas.Object.seat_focus_del.
210 *
211 * @param[in] obj The object.
212 *
213 * @return @c true when set as focused or @c false otherwise.
214 *
215 * @ingroup Evas_Object_Group
216 */
217EAPI Eina_Bool evas_object_focus_get(const Efl_Canvas_Object *obj);
218
219
220
221
222
223/**
224 * @brief Set whether to use precise (usually expensive) point collision
225 * detection for a given Evas object.
226 *
227 * Use this function to make Evas treat objects' transparent areas as not
228 * belonging to it with regard to mouse pointer events. By default, all of the
229 * object's boundary rectangle will be taken in account for them.
230 *
231 * @warning By using precise point collision detection you'll be making Evas
232 * more resource intensive.
233 *
234 * @param[in] obj The object.
235 * @param[in] precise Whether to use precise point collision detection or not.
236 * The default value is false.
237 *
238 * @ingroup Evas_Object_Group
239 */
240EAPI void evas_object_precise_is_inside_set(Efl_Canvas_Object *obj, Eina_Bool precise);
241
242/**
243 * @brief Determine whether an object is set to use precise point collision
244 * detection.
245 *
246 * @param[in] obj The object.
247 *
248 * @return Whether to use precise point collision detection or not. The default
249 * value is false.
250 *
251 * @ingroup Evas_Object_Group
252 */
253EAPI Eina_Bool evas_object_precise_is_inside_get(const Efl_Canvas_Object *obj);
254
255/**
256 * @brief Set whether events on a smart object's member should be propagated up
257 * to its parent.
258 *
259 * This function has no effect if @c obj is not a member of a smart object.
260 *
261 * If @c prop is @c true, events occurring on this object will be propagated on
262 * to the smart object of which @c obj is a member. If @c prop is @c false,
263 * events occurring on this object will not be propagated on to the smart
264 * object of which @c obj is a member. The default value is @c true.
265 *
266 * See also @ref evas_object_repeat_events_set,
267 * @ref evas_object_pass_events_set.
268 *
269 * @param[in] obj The object.
270 * @param[in] propagate Whether to propagate events ($true) or not ($false).
271 *
272 * @ingroup Evas_Object_Group
273 */
274EAPI void evas_object_propagate_events_set(Efl_Canvas_Object *obj, Eina_Bool propagate);
275
276/**
277 * @brief Retrieve whether an Evas object is set to propagate events.
278 *
279 * See also @ref evas_object_repeat_events_get,
280 * @ref evas_object_pass_events_get.
281 *
282 * @param[in] obj The object.
283 *
284 * @return Whether to propagate events ($true) or not ($false).
285 *
286 * @ingroup Evas_Object_Group
287 */
288EAPI Eina_Bool evas_object_propagate_events_get(const Efl_Canvas_Object *obj);
289
290/**
291 * @brief Set whether an Evas object is to pass (ignore) events.
292 *
293 * If @c pass is @c true, it will make events on @c obj to be ignored. They
294 * will be triggered on the next lower object (that is not set to pass events),
295 * instead (see @ref Efl.Gfx.Stack.below).
296 *
297 * If @c pass is @c false events will be processed on that object as normal.
298 *
299 * See also @ref evas_object_repeat_events_set,
300 * @ref evas_object_propagate_events_set
301 *
302 * @param[in] obj The object.
303 * @param[in] pass Whether @c obj is to pass events ($true) or not ($false).
304 *
305 * @ingroup Evas_Object_Group
306 */
307EAPI void evas_object_pass_events_set(Efl_Canvas_Object *obj, Eina_Bool pass);
308
309/**
310 * @brief Determine whether an object is set to pass (ignore) events.
311 *
312 * See also @ref evas_object_repeat_events_get,
313 * @ref evas_object_propagate_events_get.
314 *
315 * @param[in] obj The object.
316 *
317 * @return Whether @c obj is to pass events ($true) or not ($false).
318 *
319 * @ingroup Evas_Object_Group
320 */
321EAPI Eina_Bool evas_object_pass_events_get(const Efl_Canvas_Object *obj);
322
323/**
324 * @brief Sets whether or not the given Evas object is to be drawn
325 * anti-aliased.
326 *
327 * @param[in] obj The object.
328 * @param[in] anti_alias @c true if the object is to be anti_aliased, @c false
329 * otherwise.
330 *
331 * @ingroup Evas_Object_Group
332 */
333EAPI void evas_object_anti_alias_set(Efl_Canvas_Object *obj, Eina_Bool anti_alias);
334
335/**
336 * @brief Retrieves whether or not the given Evas object is to be drawn
337 * anti_aliased.
338 *
339 * @param[in] obj The object.
340 *
341 * @return @c true if the object is to be anti_aliased, @c false otherwise.
342 *
343 * @ingroup Evas_Object_Group
344 */
345EAPI Eina_Bool evas_object_anti_alias_get(const Efl_Canvas_Object *obj);
346
347
348/**
349 * @brief Gets the parent smart object of a given Evas object, if it has one.
350 *
351 * This can be different from @ref Efl.Object.parent because this one is used
352 * internally for rendering and the normal parent is what the user expects to
353 * be the parent.
354 *
355 * @param[in] obj The object.
356 *
357 * @return The parent smart object of @c obj or @c null.
358 *
359 * @since 1.18
360 *
361 * @ingroup Evas_Object_Group
362 */
363EAPI Efl_Canvas_Object *evas_object_smart_parent_get(const Efl_Canvas_Object *obj);
364
365/**
366 * @brief This handles text paragraph direction of the given object. Even if
367 * the given object is not textblock or text, its smart child objects can
368 * inherit the paragraph direction from the given object. The default paragraph
369 * direction is @c inherit.
370 *
371 * @param[in] obj The object.
372 * @param[in] dir Paragraph direction for the given object.
373 *
374 * @ingroup Evas_Object_Group
375 */
376EAPI void evas_object_paragraph_direction_set(Efl_Canvas_Object *obj, Efl_Text_Bidirectional_Type dir);
377
378/**
379 * @brief This handles text paragraph direction of the given object. Even if
380 * the given object is not textblock or text, its smart child objects can
381 * inherit the paragraph direction from the given object. The default paragraph
382 * direction is @c inherit.
383 *
384 * @param[in] obj The object.
385 *
386 * @return Paragraph direction for the given object.
387 *
388 * @ingroup Evas_Object_Group
389 */
390EAPI Efl_Text_Bidirectional_Type evas_object_paragraph_direction_get(const Efl_Canvas_Object *obj);
391
392/**
393 * @brief Test if any object is clipped by @c obj.
394 *
395 * @param[in] obj The object.
396 *
397 * @return @c true if any object is clipped by @c obj, @c false otherwise
398 *
399 * @since 1.8
400 *
401 * @ingroup Evas_Object_Group
402 */
403EAPI Eina_Bool evas_object_clipees_has(const Efl_Canvas_Object *obj) EINA_WARN_UNUSED_RESULT;
404
405
406
407
408
409
410#endif