1 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_SCROLL_PAGE_CHANGED =
2 EFL_EVENT_DESCRIPTION("scroll,page,changed");
3 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_HBAR_UNPRESS =
4 EFL_EVENT_DESCRIPTION("hbar,unpress");
5 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_HBAR_PRESS =
6 EFL_EVENT_DESCRIPTION("hbar,press");
7 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_HBAR_DRAG =
8 EFL_EVENT_DESCRIPTION("hbar,drag");
9 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_VBAR_UNPRESS =
10 EFL_EVENT_DESCRIPTION("vbar,unpress");
11 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_VBAR_PRESS =
12 EFL_EVENT_DESCRIPTION("vbar,press");
13 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_VBAR_DRAG =
14 EFL_EVENT_DESCRIPTION("vbar,drag");
15 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_SCROLL_LEFT =
16 EFL_EVENT_DESCRIPTION("scroll,left");
17 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_SCROLL_RIGHT =
18 EFL_EVENT_DESCRIPTION("scroll,right");
19 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_SCROLL_UP =
20 EFL_EVENT_DESCRIPTION("scroll,up");
21 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_SCROLL_DOWN =
22 EFL_EVENT_DESCRIPTION("scroll,down");
23 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_EDGE_LEFT =
24 EFL_EVENT_DESCRIPTION("edge,left");
25 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_EDGE_RIGHT =
26 EFL_EVENT_DESCRIPTION("edge,right");
27 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_EDGE_TOP =
28 EFL_EVENT_DESCRIPTION("edge,top");
29 EWAPI const Efl_Event_Description _ELM_SCROLLER_EVENT_EDGE_BOTTOM =
30 EFL_EVENT_DESCRIPTION("edge,bottom");
31
32 void _elm_scroller_custom_widget_base_theme_set(Eo *obj, Elm_Scroller_Data *pd, const char *klass, const char *group);
33
34 EOAPI EFL_VOID_FUNC_BODYV(elm_obj_scroller_custom_widget_base_theme_set, EFL_FUNC_CALL(klass, group), const char *klass, const char *group);
35
36 void _elm_scroller_page_scroll_limit_set(const Eo *obj, Elm_Scroller_Data *pd, int page_limit_h, int page_limit_v);
37
38 EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_scroller_page_scroll_limit_set, EFL_FUNC_CALL(page_limit_h, page_limit_v), int page_limit_h, int page_limit_v);
39
40 void _elm_scroller_page_scroll_limit_get(const Eo *obj, Elm_Scroller_Data *pd, int *page_limit_h, int *page_limit_v);
41
42 EOAPI EFL_VOID_FUNC_BODYV_CONST(elm_obj_scroller_page_scroll_limit_get, EFL_FUNC_CALL(page_limit_h, page_limit_v), int *page_limit_h, int *page_limit_v);
43
44 Efl_Object *_elm_scroller_efl_object_constructor(Eo *obj, Elm_Scroller_Data *pd);
45
46
47 void _elm_scroller_efl_gfx_entity_position_set(Eo *obj, Elm_Scroller_Data *pd, Eina_Position2D pos);
48
49
50 void _elm_scroller_efl_gfx_entity_size_set(Eo *obj, Elm_Scroller_Data *pd, Eina_Size2D size);
51
52
53 void _elm_scroller_efl_canvas_group_group_member_add(Eo *obj, Elm_Scroller_Data *pd, Efl_Canvas_Object *sub_obj);
54
55
56 Eina_Bool _elm_scroller_efl_content_content_set(Eo *obj, Elm_Scroller_Data *pd, Efl_Gfx_Entity *content);
57
58
59 Efl_Gfx_Entity *_elm_scroller_efl_content_content_get(const Eo *obj, Elm_Scroller_Data *pd);
60
61
62 Efl_Gfx_Entity *_elm_scroller_efl_content_content_unset(Eo *obj, Elm_Scroller_Data *pd);
63
64
65 Eina_Error _elm_scroller_efl_ui_widget_theme_apply(Eo *obj, Elm_Scroller_Data *pd);
66
67
68 Eina_Bool _elm_scroller_efl_ui_widget_on_access_activate(Eo *obj, Elm_Scroller_Data *pd, Efl_Ui_Activate act);
69
70
71 Eina_Bool _elm_scroller_efl_ui_widget_widget_sub_object_del(Eo *obj, Elm_Scroller_Data *pd, Efl_Canvas_Object *sub_obj);
72
73
74 Eina_Bool _elm_scroller_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Scroller_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source);
75
76
77 void _elm_scroller_elm_interface_scrollable_page_size_set(Eo *obj, Elm_Scroller_Data *pd, int x, int y);
78
79
80 void _elm_scroller_elm_interface_scrollable_policy_set(Eo *obj, Elm_Scroller_Data *pd, Elm_Scroller_Policy hbar, Elm_Scroller_Policy vbar);
81
82
83 void _elm_scroller_elm_interface_scrollable_single_direction_set(Eo *obj, Elm_Scroller_Data *pd, Elm_Scroller_Single_Direction single_dir);
84
85
86 Elm_Scroller_Single_Direction _elm_scroller_elm_interface_scrollable_single_direction_get(const Eo *obj, Elm_Scroller_Data *pd);
87
88
89 void _elm_scroller_elm_interface_scrollable_content_loop_set(Eo *obj, Elm_Scroller_Data *sd, Eina_Bool loop_h, Eina_Bool loop_v);
90
91
92 void _elm_scroller_elm_interface_scrollable_content_loop_get(Eo *obj EINA_UNUSED, Elm_Scroller_Data *sd, Eina_Bool *loop_h, Eina_Bool *loop_v);
93
94
95 const Efl_Access_Action_Data *_elm_scroller_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Scroller_Data *pd);
96
97
98 Efl_Object *_elm_scroller_efl_part_part_get(const Eo *obj, Elm_Scroller_Data *pd, const char *name);
99
100
101 Eina_Bool _elm_scroller_efl_ui_widget_focus_state_apply(Eo *obj, Elm_Scroller_Data *pd, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect);
102
103
104 static Eina_Bool
_elm_scroller_class_initializer(Efl_Class * klass)105 _elm_scroller_class_initializer(Efl_Class *klass)
106 {
107 const Efl_Object_Ops *opsp = NULL;
108
109 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
110
111 #ifndef ELM_SCROLLER_EXTRA_OPS
112 #define ELM_SCROLLER_EXTRA_OPS
113 #endif
114
115 EFL_OPS_DEFINE(ops,
116 EFL_OBJECT_OP_FUNC(elm_obj_scroller_custom_widget_base_theme_set, _elm_scroller_custom_widget_base_theme_set),
117 EFL_OBJECT_OP_FUNC(elm_obj_scroller_page_scroll_limit_set, _elm_scroller_page_scroll_limit_set),
118 EFL_OBJECT_OP_FUNC(elm_obj_scroller_page_scroll_limit_get, _elm_scroller_page_scroll_limit_get),
119 EFL_OBJECT_OP_FUNC(efl_constructor, _elm_scroller_efl_object_constructor),
120 EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_scroller_efl_gfx_entity_position_set),
121 EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_scroller_efl_gfx_entity_size_set),
122 EFL_OBJECT_OP_FUNC(efl_canvas_group_member_add, _elm_scroller_efl_canvas_group_group_member_add),
123 EFL_OBJECT_OP_FUNC(efl_content_set, _elm_scroller_efl_content_content_set),
124 EFL_OBJECT_OP_FUNC(efl_content_get, _elm_scroller_efl_content_content_get),
125 EFL_OBJECT_OP_FUNC(efl_content_unset, _elm_scroller_efl_content_content_unset),
126 EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_scroller_efl_ui_widget_theme_apply),
127 EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_activate, _elm_scroller_efl_ui_widget_on_access_activate),
128 EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_del, _elm_scroller_efl_ui_widget_widget_sub_object_del),
129 EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_scroller_efl_ui_widget_widget_input_event_handler),
130 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_page_size_set, _elm_scroller_elm_interface_scrollable_page_size_set),
131 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_policy_set, _elm_scroller_elm_interface_scrollable_policy_set),
132 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_single_direction_set, _elm_scroller_elm_interface_scrollable_single_direction_set),
133 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_single_direction_get, _elm_scroller_elm_interface_scrollable_single_direction_get),
134 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_content_loop_set, _elm_scroller_elm_interface_scrollable_content_loop_set),
135 EFL_OBJECT_OP_FUNC(elm_interface_scrollable_content_loop_get, _elm_scroller_elm_interface_scrollable_content_loop_get),
136 EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_scroller_efl_access_widget_action_elm_actions_get),
137 EFL_OBJECT_OP_FUNC(efl_part_get, _elm_scroller_efl_part_part_get),
138 EFL_OBJECT_OP_FUNC(efl_ui_widget_focus_state_apply, _elm_scroller_efl_ui_widget_focus_state_apply),
139 ELM_SCROLLER_EXTRA_OPS
140 );
141 opsp = &ops;
142
143 return efl_class_functions_set(klass, opsp, ropsp);
144 }
145
146 static const Efl_Class_Description _elm_scroller_class_desc = {
147 EO_VERSION,
148 "Elm.Scroller",
149 EFL_CLASS_TYPE_REGULAR,
150 sizeof(Elm_Scroller_Data),
151 _elm_scroller_class_initializer,
152 _elm_scroller_class_constructor,
153 NULL
154 };
155
156 EFL_DEFINE_CLASS(elm_scroller_class_get, &_elm_scroller_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_SCROLLABLE_INTERFACE, EFL_CONTENT_INTERFACE, ELM_LAYOUT_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
157
158 #include "elm_scroller_eo.legacy.c"
159