summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-02-08 14:36:05 -0500
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-21 21:08:26 +0100
commit41f0ebb52bfc6244032a2d33d7952518e2522667 (patch)
treeadf54c0843a307e6b14bcb5efcf4df4ab59d10db /src
parent2b2bf31264ab851bf558d2c5c51ddbc6ae89a10a (diff)
api: remove efl.ui.cursor interface
this existed only to provide the methods for Efl.Ui.Layout_Part and fill in implementation for some legacy functions which should probably not be supported going forward the corresponding methods have been merged into efl_ui_widget and the legacy functions no longer use eolian-generated implementations Reviewed-by: WooHyun Jung <woohyun0705@gmail.com> Differential Revision: https://phab.enlightenment.org/D7899
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Elementary.am1
-rw-r--r--src/lib/elementary/efl_ui_cursor.eo88
-rw-r--r--src/lib/elementary/efl_ui_layout.c78
-rw-r--r--src/lib/elementary/efl_ui_layout_part.eo7
-rw-r--r--src/lib/elementary/efl_ui_widget.eo69
-rw-r--r--src/lib/elementary/elm_cursor.h121
-rw-r--r--src/lib/elementary/elm_main.c37
-rw-r--r--src/lib/elementary/els_cursor.c14
-rw-r--r--src/lib/elementary/meson.build1
9 files changed, 246 insertions, 170 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index d94bbaadbd..5a2ddedea8 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -59,7 +59,6 @@ elm_public_eolian_files = \
59 lib/elementary/efl_ui_textpath_legacy.eo \ 59 lib/elementary/efl_ui_textpath_legacy.eo \
60 lib/elementary/efl_ui_l10n.eo \ 60 lib/elementary/efl_ui_l10n.eo \
61 lib/elementary/efl_ui_clock.eo \ 61 lib/elementary/efl_ui_clock.eo \
62 lib/elementary/efl_ui_cursor.eo \
63 lib/elementary/efl_ui_image_factory.eo \ 62 lib/elementary/efl_ui_image_factory.eo \
64 lib/elementary/efl_ui_focus_manager.eo \ 63 lib/elementary/efl_ui_focus_manager.eo \
65 lib/elementary/efl_ui_focus_manager_calc.eo \ 64 lib/elementary/efl_ui_focus_manager_calc.eo \
diff --git a/src/lib/elementary/efl_ui_cursor.eo b/src/lib/elementary/efl_ui_cursor.eo
deleted file mode 100644
index 4c14411bd4..0000000000
--- a/src/lib/elementary/efl_ui_cursor.eo
+++ /dev/null
@@ -1,88 +0,0 @@
1interface @beta Efl.Ui.Cursor
2{
3 [[An interface to define mouse cursors to use when hovering
4 over UI widgets.
5
6 The Elementary cursor is an internal smart object used to customize the
7 mouse cursor displayed over objects (or widgets). In the most common
8 scenario, the cursor decoration comes from the graphical engine Elementary
9 is running on. These engines may provide different decorations for cursors,
10 and Elementary provides functions to choose them for instance
11 X11 cursors.
12
13 By default, Elementary searches cursors only from the engine. Besides
14 using cursors provided by the you can also use those
15 coming from Edje theme files. Both globally and per widget, Elementary
16 can help you store cursors in engines
17 only or in Elementary's theme file. To set cursor's hot spot two data
18 items must be added to the cursor's theme: "hot_x" and "hot_y" are the
19 offset from the upper-left corner of the cursor (coordinates 0,0).
20 ]]
21 legacy_prefix: elm_object;
22 methods {
23 @property cursor {
24 [[The cursor to be shown when mouse is over the object
25
26 This is the cursor that will be displayed when mouse is over the
27 object. The object can have only one cursor set to it so if
28 @.cursor.set is called twice for an object, the previous set
29 will be unset.
30
31 If using X cursors, a definition of all the valid cursor names
32 is listed on Elementary_Cursors.h. If an invalid name is set
33 the default cursor will be used.
34 ]]
35 set {
36 [[Sets or unsets the current cursor.
37
38 If $cursor is $null this function will reset the cursor
39 to the default one.
40 ]]
41 return: bool; [[$true if successful.]]
42 }
43 get {
44 [[Returns the current cursor name.]]
45 }
46 values {
47 cursor: string @nullable; [[The cursor name, defined either
48 by the display system or the theme.]]
49 }
50 }
51 @property cursor_style {
52 [[A different style for the cursor.
53
54 This only makes sense if theme cursors are used.
55 The cursor should be set with @.cursor.set first before
56 setting its style with this property.
57 ]]
58 set {
59 [[Sets a style for the current cursor. Call after @.cursor.set.]]
60 return: bool; [[$true if successful.]]
61 }
62 get {
63 [[Returns the current cursor style name.]]
64 }
65 values {
66 style: string; [[A specific style to use, eg. default,
67 transparent, ....]]
68 }
69 }
70 @property cursor_theme_search_enabled {
71 [[Whether the cursor may be looked in the theme or not.
72
73 If $false, the cursor may only come from the render engine,
74 i.e. from the display manager.
75 ]]
76 set {
77 [[Enables or disables theme cursors.]]
78 return: bool; [[$true if successful.]]
79 }
80 get {
81 [[Returns the current state of theme cursors search.]]
82 }
83 values {
84 allow: bool(true); [[Whether to use theme cursors.]]
85 }
86 }
87 }
88}
diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c
index ae7b5183ba..13bdf53f4d 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -2497,56 +2497,6 @@ _efl_ui_layout_default_text_part_get(const Eo *obj, Efl_Ui_Layout_Data *sd EINA_
2497 return part; 2497 return part;
2498} 2498}
2499 2499
2500/* Efl.Ui.Layout_Part (common) */
2501
2502EOLIAN static Eina_Bool
2503_efl_ui_layout_part_efl_ui_cursor_cursor_set(Eo *obj, void *_pd EINA_UNUSED, const char *cursor)
2504{
2505 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
2506 Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
2507 return _efl_ui_layout_part_cursor_set(sd, pd->part, cursor);
2508}
2509
2510EOLIAN static const char *
2511_efl_ui_layout_part_efl_ui_cursor_cursor_get(const Eo *obj, void *_pd EINA_UNUSED)
2512{
2513 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
2514 Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
2515 return _efl_ui_layout_part_cursor_get(sd, pd->part);
2516}
2517
2518EOLIAN static Eina_Bool
2519_efl_ui_layout_part_efl_ui_cursor_cursor_style_set(Eo *obj, void *_pd EINA_UNUSED, const char *style)
2520{
2521 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
2522 Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
2523 return _efl_ui_layout_part_cursor_style_set(sd, pd->part, style);
2524}
2525
2526EOLIAN static const char *
2527_efl_ui_layout_part_efl_ui_cursor_cursor_style_get(const Eo *obj, void *_pd EINA_UNUSED)
2528{
2529 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
2530 Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
2531 return _efl_ui_layout_part_cursor_style_get(sd, pd->part);
2532}
2533
2534EOLIAN static Eina_Bool
2535_efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Bool allow)
2536{
2537 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
2538 Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
2539 return _efl_ui_layout_part_cursor_engine_only_set(sd, pd->part, !allow);
2540}
2541
2542EOLIAN static Eina_Bool
2543_efl_ui_layout_part_efl_ui_cursor_cursor_theme_search_enabled_get(const Eo *obj, void *_pd EINA_UNUSED)
2544{
2545 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
2546 Efl_Ui_Layout_Data *sd = efl_data_scope_get(pd->obj, MY_CLASS);
2547 return !_efl_ui_layout_part_cursor_engine_only_get(sd, pd->part);
2548}
2549
2550#define CONTENT_FULL(part_typename, typename, CLASS, TYPENAME) \ 2500#define CONTENT_FULL(part_typename, typename, CLASS, TYPENAME) \
2551 ELM_PART_OVERRIDE_CONTENT_GET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ 2501 ELM_PART_OVERRIDE_CONTENT_GET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \
2552 ELM_PART_OVERRIDE_CONTENT_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \ 2502 ELM_PART_OVERRIDE_CONTENT_SET_FULL(part_typename, typename, ELM_PART_OVERRIDE_INTERNALS_FETCH(CLASS, TYPENAME)) \
@@ -2794,43 +2744,57 @@ elm_layout_text_get(const Eo *obj, const char *part)
2794EAPI Eina_Bool 2744EAPI Eina_Bool
2795elm_layout_part_cursor_engine_only_set(Eo *obj, const char *part, Eina_Bool engine_only) 2745elm_layout_part_cursor_engine_only_set(Eo *obj, const char *part, Eina_Bool engine_only)
2796{ 2746{
2797 return efl_ui_cursor_theme_search_enabled_set(efl_part(obj, part), !engine_only); 2747 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2748 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
2749 return _efl_ui_layout_part_cursor_engine_only_set(sd, part, engine_only);
2798} 2750}
2799 2751
2800EAPI Eina_Bool 2752EAPI Eina_Bool
2801elm_layout_part_cursor_engine_only_get(const Eo *obj, const char *part) 2753elm_layout_part_cursor_engine_only_get(const Eo *obj, const char *part)
2802{ 2754{
2803 return !efl_ui_cursor_theme_search_enabled_get(efl_part(obj, part)); 2755 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2756 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
2757 return _efl_ui_layout_part_cursor_engine_only_get(sd, part);
2804} 2758}
2805 2759
2806EAPI Eina_Bool 2760EAPI Eina_Bool
2807elm_layout_part_cursor_set(Eo *obj, const char *part, const char *cursor) 2761elm_layout_part_cursor_set(Eo *obj, const char *part, const char *cursor)
2808{ 2762{
2809 return efl_ui_cursor_set(efl_part(obj, part), cursor); 2763 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2764 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
2765 return _efl_ui_layout_part_cursor_set(sd, part, cursor);
2810} 2766}
2811 2767
2812EAPI const char * 2768EAPI const char *
2813elm_layout_part_cursor_get(const Eo *obj, const char *part) 2769elm_layout_part_cursor_get(const Eo *obj, const char *part)
2814{ 2770{
2815 return efl_ui_cursor_get(efl_part(obj, part)); 2771 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2772 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, NULL);
2773 return _efl_ui_layout_part_cursor_get(sd, part);
2816} 2774}
2817 2775
2818EAPI Eina_Bool 2776EAPI Eina_Bool
2819elm_layout_part_cursor_style_set(Eo *obj, const char *part, const char *style) 2777elm_layout_part_cursor_style_set(Eo *obj, const char *part, const char *style)
2820{ 2778{
2821 return efl_ui_cursor_style_set(efl_part(obj, part), style); 2779 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2780 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
2781 return _efl_ui_layout_part_cursor_style_set(sd, part, style);
2822} 2782}
2823 2783
2824EAPI const char * 2784EAPI const char *
2825elm_layout_part_cursor_style_get(const Eo *obj, const char *part) 2785elm_layout_part_cursor_style_get(const Eo *obj, const char *part)
2826{ 2786{
2827 return efl_ui_cursor_style_get(efl_part(obj, part)); 2787 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2788 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, NULL);
2789 return _efl_ui_layout_part_cursor_style_get(sd, part);
2828} 2790}
2829 2791
2830EAPI Eina_Bool 2792EAPI Eina_Bool
2831elm_layout_part_cursor_unset(Eo *obj, const char *part) 2793elm_layout_part_cursor_unset(Eo *obj, const char *part)
2832{ 2794{
2833 return efl_ui_cursor_set(efl_part(obj, part), NULL); 2795 Efl_Ui_Layout_Data *sd = efl_data_scope_get(obj, MY_CLASS);
2796 EINA_SAFETY_ON_NULL_RETURN_VAL(sd, EINA_FALSE);
2797 return _efl_ui_layout_part_cursor_set(sd, part, NULL);
2834} 2798}
2835 2799
2836EAPI int 2800EAPI int
diff --git a/src/lib/elementary/efl_ui_layout_part.eo b/src/lib/elementary/efl_ui_layout_part.eo
index 50a6c4728c..0ce9829c59 100644
--- a/src/lib/elementary/efl_ui_layout_part.eo
+++ b/src/lib/elementary/efl_ui_layout_part.eo
@@ -1,10 +1,5 @@
1class @beta Efl.Ui.Layout_Part extends Efl.Ui.Widget_Part implements Efl.Ui.Cursor 1class @beta Efl.Ui.Layout_Part extends Efl.Ui.Widget_Part
2{ 2{
3 [[Elementary layout internal part class]] 3 [[Elementary layout internal part class]]
4 data: null; 4 data: null;
5 implements {
6 Efl.Ui.Cursor.cursor { get; set; }
7 Efl.Ui.Cursor.cursor_style { get; set; }
8 Efl.Ui.Cursor.cursor_theme_search_enabled { get; set; }
9 }
10} 5}
diff --git a/src/lib/elementary/efl_ui_widget.eo b/src/lib/elementary/efl_ui_widget.eo
index fe0c35c89f..4e7bc806e9 100644
--- a/src/lib/elementary/efl_ui_widget.eo
+++ b/src/lib/elementary/efl_ui_widget.eo
@@ -15,7 +15,7 @@ struct Efl.Ui.Widget_Focus_State {
15 15
16abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object, 16abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object,
17 Efl.Access.Component, Efl.Part, Efl.Ui.Focus.Object, 17 Efl.Access.Component, Efl.Part, Efl.Ui.Focus.Object,
18 Efl.Ui.Cursor, Efl.Ui.L10n, 18 Efl.Ui.L10n,
19 Efl.Ui.Selection, Efl.Ui.Dnd 19 Efl.Ui.Selection, Efl.Ui.Dnd
20{ 20{
21 [[Efl UI widget abstract class]] 21 [[Efl UI widget abstract class]]
@@ -24,6 +24,70 @@ abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Obje
24 event_prefix: efl_ui_widget; 24 event_prefix: efl_ui_widget;
25 data: Efl_Ui_Widget_Data; 25 data: Efl_Ui_Widget_Data;
26 methods { 26 methods {
27 @property cursor {
28 [[The cursor to be shown when mouse is over the object
29
30 This is the cursor that will be displayed when mouse is over the
31 object. The object can have only one cursor set to it so if
32 @.cursor.set is called twice for an object, the previous set
33 will be unset.
34
35 If using X cursors, a definition of all the valid cursor names
36 is listed on Elementary_Cursors.h. If an invalid name is set
37 the default cursor will be used.
38 ]]
39 set {
40 [[Sets or unsets the current cursor.
41
42 If $cursor is $null this function will reset the cursor
43 to the default one.
44 ]]
45 return: bool; [[$true if successful.]]
46 }
47 get {
48 [[Returns the current cursor name.]]
49 }
50 values {
51 cursor: string @nullable; [[The cursor name, defined either
52 by the display system or the theme.]]
53 }
54 }
55 @property cursor_style {
56 [[A different style for the cursor.
57
58 This only makes sense if theme cursors are used.
59 The cursor should be set with @.cursor.set first before
60 setting its style with this property.
61 ]]
62 set {
63 [[Sets a style for the current cursor. Call after @.cursor.set.]]
64 return: bool; [[$true if successful.]]
65 }
66 get {
67 [[Returns the current cursor style name.]]
68 }
69 values {
70 style: string; [[A specific style to use, eg. default,
71 transparent, ....]]
72 }
73 }
74 @property cursor_theme_search_enabled {
75 [[Whether the cursor may be looked in the theme or not.
76
77 If $false, the cursor may only come from the render engine,
78 i.e. from the display manager.
79 ]]
80 set {
81 [[Enables or disables theme cursors.]]
82 return: bool; [[$true if successful.]]
83 }
84 get {
85 [[Returns the current state of theme cursors search.]]
86 }
87 values {
88 allow: bool(true); [[Whether to use theme cursors.]]
89 }
90 }
27 @property resize_object @protected { 91 @property resize_object @protected {
28 [[This is the internal canvas object managed by a widget. 92 [[This is the internal canvas object managed by a widget.
29 93
@@ -587,9 +651,6 @@ abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Obje
587 Efl.Ui.Focus.Object.focus { set; } 651 Efl.Ui.Focus.Object.focus { set; }
588 Efl.Ui.I18n.mirrored { get; set; } 652 Efl.Ui.I18n.mirrored { get; set; }
589 Efl.Ui.I18n.mirrored_automatic { get; set; } 653 Efl.Ui.I18n.mirrored_automatic { get; set; }
590 Efl.Ui.Cursor.cursor { get; set; }
591 Efl.Ui.Cursor.cursor_style { get; set; }
592 Efl.Ui.Cursor.cursor_theme_search_enabled { get; set; }
593 Efl.Ui.Focus.Object.on_focus_update; 654 Efl.Ui.Focus.Object.on_focus_update;
594 Efl.Ui.L10n.translation_update; [[This implements the calls to $gettext() and $text_set().]] 655 Efl.Ui.L10n.translation_update; [[This implements the calls to $gettext() and $text_set().]]
595 Efl.Part.part_get; [[Returns @Efl.Ui.Widget_Part.]] 656 Efl.Part.part_get; [[Returns @Efl.Ui.Widget_Part.]]
diff --git a/src/lib/elementary/elm_cursor.h b/src/lib/elementary/elm_cursor.h
index a3e983a1de..21cd1afc59 100644
--- a/src/lib/elementary/elm_cursor.h
+++ b/src/lib/elementary/elm_cursor.h
@@ -3,12 +3,123 @@
3 * @ingroup Elementary 3 * @ingroup Elementary
4 */ 4 */
5 5
6#ifdef EFL_EO_API_SUPPORT
7#include "efl_ui_cursor.eo.h"
8#endif
9
10#ifndef EFL_NOLEGACY_API_SUPPORT 6#ifndef EFL_NOLEGACY_API_SUPPORT
11#include "efl_ui_cursor.eo.legacy.h" 7
8
9/**
10 * @brief The cursor to be shown when mouse is over the object
11 *
12 * This is the cursor that will be displayed when mouse is over the object. The
13 * object can have only one cursor set to it so if @ref elm_object_cursor_set
14 * is called twice for an object, the previous set will be unset.
15 *
16 * If using X cursors, a definition of all the valid cursor names is listed on
17 * Elementary_Cursors.h. If an invalid name is set the default cursor will be
18 * used.
19 *
20 * Sets or unsets the current cursor.
21 *
22 * If @c cursor is @c null this function will reset the cursor to the default
23 * one.
24 *
25 * @param[in] obj The object.
26 * @param[in] cursor The cursor name, defined either by the display system or
27 * the theme.
28 *
29 * @return @c true if successful.
30 *
31 * @ingroup Elm_Cursors
32 */
33EAPI Eina_Bool elm_object_cursor_set(Eo *obj, const char *cursor);
34
35/**
36 * @brief The cursor to be shown when mouse is over the object
37 *
38 * This is the cursor that will be displayed when mouse is over the object. The
39 * object can have only one cursor set to it so if @ref elm_object_cursor_set
40 * is called twice for an object, the previous set will be unset.
41 *
42 * If using X cursors, a definition of all the valid cursor names is listed on
43 * Elementary_Cursors.h. If an invalid name is set the default cursor will be
44 * used.
45 *
46 * Returns the current cursor name.
47 *
48 * @param[in] obj The object.
49 *
50 * @return The cursor name, defined either by the display system or the theme.
51 *
52 * @ingroup Elm_Cursors
53 */
54EAPI const char *elm_object_cursor_get(const Eo *obj);
55
56/**
57 * @brief A different style for the cursor.
58 *
59 * This only makes sense if theme cursors are used. The cursor should be set
60 * with @ref elm_object_cursor_set first before setting its style with this
61 * property.
62 *
63 * Sets a style for the current cursor. Call after @ref elm_object_cursor_set.
64 *
65 * @param[in] obj The object.
66 * @param[in] style A specific style to use, eg. default, transparent, ....
67 *
68 * @return @c true if successful.
69 *
70 * @ingroup Elm_Cursors
71 */
72EAPI Eina_Bool elm_object_cursor_style_set(Eo *obj, const char *style);
73
74/**
75 * @brief A different style for the cursor.
76 *
77 * This only makes sense if theme cursors are used. The cursor should be set
78 * with @ref elm_object_cursor_set first before setting its style with this
79 * property.
80 *
81 * Returns the current cursor style name.
82 *
83 * @param[in] obj The object.
84 *
85 * @return A specific style to use, eg. default, transparent, ....
86 *
87 * @ingroup Elm_Cursors
88 */
89EAPI const char *elm_object_cursor_style_get(const Eo *obj);
90
91/**
92 * @brief Whether the cursor may be looked in the theme or not.
93 *
94 * If @c false, the cursor may only come from the render engine, i.e. from the
95 * display manager.
96 *
97 * Enables or disables theme cursors.
98 *
99 * @param[in] obj The object.
100 * @param[in] allow Whether to use theme cursors.
101 *
102 * @return @c true if successful.
103 *
104 * @ingroup Elm_Cursors
105 */
106EAPI Eina_Bool elm_object_cursor_theme_search_enabled_set(Eo *obj, Eina_Bool allow);
107
108/**
109 * @brief Whether the cursor may be looked in the theme or not.
110 *
111 * If @c false, the cursor may only come from the render engine, i.e. from the
112 * display manager.
113 *
114 * Returns the current state of theme cursors search.
115 *
116 * @param[in] obj The object.
117 *
118 * @return Whether to use theme cursors.
119 *
120 * @ingroup Elm_Cursors
121 */
122EAPI Eina_Bool elm_object_cursor_theme_search_enabled_get(const Eo *obj);
12 123
13/** 124/**
14 * Unset cursor for object 125 * Unset cursor for object
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index b4c83e3105..b1a4886da5 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -1967,3 +1967,40 @@ elm_object_item_del(Eo *obj)
1967 efl_event_callback_add(obj, EFL_EVENT_NOREF, _item_noref, NULL); 1967 efl_event_callback_add(obj, EFL_EVENT_NOREF, _item_noref, NULL);
1968 item->on_deletion = EINA_TRUE; 1968 item->on_deletion = EINA_TRUE;
1969} 1969}
1970
1971
1972EAPI Eina_Bool
1973elm_object_cursor_set(Eo *obj, const char *cursor)
1974{
1975 return efl_ui_widget_cursor_set(obj, cursor);
1976}
1977
1978EAPI const char *
1979elm_object_cursor_get(const Eo *obj)
1980{
1981 return efl_ui_widget_cursor_get(obj);
1982}
1983
1984EAPI Eina_Bool
1985elm_object_cursor_style_set(Eo *obj, const char *style)
1986{
1987 return efl_ui_widget_cursor_style_set(obj, style);
1988}
1989
1990EAPI const char *
1991elm_object_cursor_style_get(const Eo *obj)
1992{
1993 return efl_ui_widget_cursor_style_get(obj);
1994}
1995
1996EAPI Eina_Bool
1997elm_object_cursor_theme_search_enabled_set(Eo *obj, Eina_Bool allow)
1998{
1999 return efl_ui_widget_cursor_theme_search_enabled_set(obj, allow);
2000}
2001
2002EAPI Eina_Bool
2003elm_object_cursor_theme_search_enabled_get(const Eo *obj)
2004{
2005 return efl_ui_widget_cursor_theme_search_enabled_get(obj);
2006}
diff --git a/src/lib/elementary/els_cursor.c b/src/lib/elementary/els_cursor.c
index 87adefe50e..8b5ee7a8d4 100644
--- a/src/lib/elementary/els_cursor.c
+++ b/src/lib/elementary/els_cursor.c
@@ -672,7 +672,7 @@ elm_object_sub_cursor_set(Evas_Object *eventarea, Evas_Object *owner, const char
672} 672}
673 673
674EOLIAN Eina_Bool 674EOLIAN Eina_Bool
675_efl_ui_widget_efl_ui_cursor_cursor_set(Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED, 675_efl_ui_widget_cursor_set(Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED,
676 const char *cursor) 676 const char *cursor)
677{ 677{
678 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE); 678 EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
@@ -688,7 +688,7 @@ elm_object_sub_cursor_get(const Evas_Object *obj)
688} 688}
689 689
690EOLIAN const char * 690EOLIAN const char *
691_efl_ui_widget_efl_ui_cursor_cursor_get(const Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED) 691_efl_ui_widget_cursor_get(const Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED)
692{ 692{
693 return elm_object_sub_cursor_get(obj); 693 return elm_object_sub_cursor_get(obj);
694} 694}
@@ -793,7 +793,7 @@ elm_object_sub_cursor_style_set(Evas_Object *obj, const char *style)
793} 793}
794 794
795EOLIAN Eina_Bool 795EOLIAN Eina_Bool
796_efl_ui_widget_efl_ui_cursor_cursor_style_set(Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED, 796_efl_ui_widget_cursor_style_set(Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED,
797 const char *style) 797 const char *style)
798{ 798{
799 return elm_object_sub_cursor_style_set(obj, style); 799 return elm_object_sub_cursor_style_set(obj, style);
@@ -807,7 +807,7 @@ elm_object_sub_cursor_style_get(const Evas_Object *obj)
807} 807}
808 808
809EOLIAN const char * 809EOLIAN const char *
810_efl_ui_widget_efl_ui_cursor_cursor_style_get(const Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED) 810_efl_ui_widget_cursor_style_get(const Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED)
811{ 811{
812 return elm_object_sub_cursor_style_get(obj); 812 return elm_object_sub_cursor_style_get(obj);
813} 813}
@@ -838,7 +838,7 @@ elm_object_sub_cursor_theme_search_enabled_set(Evas_Object *obj, Eina_Bool theme
838} 838}
839 839
840EOLIAN Eina_Bool 840EOLIAN Eina_Bool
841_efl_ui_widget_efl_ui_cursor_cursor_theme_search_enabled_set(Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED, 841_efl_ui_widget_cursor_theme_search_enabled_set(Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED,
842 Eina_Bool theme_search) 842 Eina_Bool theme_search)
843{ 843{
844 return elm_object_sub_cursor_theme_search_enabled_set(obj, theme_search); 844 return elm_object_sub_cursor_theme_search_enabled_set(obj, theme_search);
@@ -852,9 +852,7 @@ elm_object_sub_cursor_theme_search_enabled_get(const Evas_Object *obj)
852} 852}
853 853
854EOLIAN Eina_Bool 854EOLIAN Eina_Bool
855_efl_ui_widget_efl_ui_cursor_cursor_theme_search_enabled_get(const Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED) 855_efl_ui_widget_cursor_theme_search_enabled_get(const Evas_Object *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED)
856{ 856{
857 return elm_object_sub_cursor_theme_search_enabled_get(obj); 857 return elm_object_sub_cursor_theme_search_enabled_get(obj);
858} 858}
859
860#include "efl_ui_cursor.eo.c"
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index cb12e6dd95..21a4ab16d5 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -182,7 +182,6 @@ pub_eo_files = [
182 'efl_ui_textpath.eo', 182 'efl_ui_textpath.eo',
183 'efl_ui_l10n.eo', 183 'efl_ui_l10n.eo',
184 'efl_ui_clock.eo', 184 'efl_ui_clock.eo',
185 'efl_ui_cursor.eo',
186 'efl_ui_image_factory.eo', 185 'efl_ui_image_factory.eo',
187 'efl_ui_focus_manager.eo', 186 'efl_ui_focus_manager.eo',
188 'efl_ui_focus_manager_calc.eo', 187 'efl_ui_focus_manager_calc.eo',