summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_ui_scrollable.eo
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/efl/interfaces/efl_ui_scrollable.eo')
-rw-r--r--src/lib/efl/interfaces/efl_ui_scrollable.eo104
1 files changed, 53 insertions, 51 deletions
diff --git a/src/lib/efl/interfaces/efl_ui_scrollable.eo b/src/lib/efl/interfaces/efl_ui_scrollable.eo
index 1c9c3f5..872f883 100644
--- a/src/lib/efl/interfaces/efl_ui_scrollable.eo
+++ b/src/lib/efl/interfaces/efl_ui_scrollable.eo
@@ -3,24 +3,29 @@ import efl_ui_layout_orientable;
3 3
4interface Efl.Ui.Scrollable 4interface Efl.Ui.Scrollable
5{ 5{
6 [[Efl UI scrollable interface 6 [[Interface for widgets capable of displaying content through a viewport, which might be smaller
7 than the actual content.
8 This interface does not control how the content is added. This is typically done through @Efl.Content.
9
10 When the content does not fit inside the viewport, typically @Efl.Ui.Scrollbar widgets will be used,
11 but this is beyond the scope of this interface.
7 12
8 @since 1.23 13 @since 1.23
9 ]] 14 ]]
10 event_c_prefix: efl_ui; 15 event_c_prefix: efl_ui;
11 methods { 16 methods {
12 @property content_pos { 17 @property content_pos {
13 [[The content position]] 18 [[Position of the content inside the scroller.]]
14 set { 19 set {
15 } 20 }
16 get { 21 get {
17 } 22 }
18 values { 23 values {
19 pos: Eina.Position2D; [[The position is virtual value, (0, 0) starting at the top-left.]] 24 pos: Eina.Position2D; [[The position is a virtual value, where $[0,0] means the top-left corner.]]
20 } 25 }
21 } 26 }
22 @property content_size { 27 @property content_size {
23 [[The content size]] 28 [[Current size of the content, for convenience.]]
24 get { 29 get {
25 } 30 }
26 values { 31 values {
@@ -28,7 +33,10 @@ interface Efl.Ui.Scrollable
28 } 33 }
29 } 34 }
30 @property viewport_geometry { 35 @property viewport_geometry {
31 [[The viewport geometry]] 36 [[Current position and size of the viewport (or scroller window), for convenience.
37
38 This is the viewport through which the content is displayed.
39 ]]
32 get { 40 get {
33 } 41 }
34 values { 42 values {
@@ -36,57 +44,54 @@ interface Efl.Ui.Scrollable
36 } 44 }
37 } 45 }
38 @property bounce_enabled { 46 @property bounce_enabled {
39 [[Bouncing behavior 47 [[When scrolling, the scroller may "bounce" when reaching the edge of the
40
41 When scrolling, the scroller may "bounce" when reaching the edge of the
42 content object. This is a visual way to indicate the end has been reached. 48 content object. This is a visual way to indicate the end has been reached.
43 This is enabled by default for both axes. This API will determine if it's enabled 49 This is enabled by default for both axes. This property determines if bouncing is enabled
44 for the given axis with the boolean parameters for each one.]] 50 in each axis.
51 When bouncing is disabled, scrolling just stops upon reaching the end of the content.
52 ]]
45 set { 53 set {
46 } 54 }
47 get { 55 get {
48 } 56 }
49 values { 57 values {
50 horiz: bool; [[Horizontal bounce policy.]] 58 horiz: bool; [[Horizontal bouncing is enabled.]]
51 vert: bool; [[Vertical bounce policy.]] 59 vert: bool; [[Vertical bouncing is enabled.]]
52 } 60 }
53 } 61 }
54 @property scroll_freeze { 62 @property scroll_freeze {
55 [[Freeze property 63 [[Freezes scrolling movement (by input of a user).
56 This function will freeze scrolling movement (by input of a user). 64 Unlike @.movement_block, this property freezes bidirectionally.
57 Unlike @.movement_block, this function freezes bidirectionally.
58 If you want to freeze in only one direction, 65 If you want to freeze in only one direction,
59 see @.movement_block.set. 66 see @.movement_block.
60 ]] 67 ]]
61 get { 68 get {
62 } 69 }
63 set { 70 set {
64 } 71 }
65 values { 72 values {
66 freeze: bool; [[$true if freeze, $false otherwise]] 73 freeze: bool; [[$true if freeze.]]
67 } 74 }
68 } 75 }
69 @property scroll_hold { 76 @property scroll_hold {
70 [[Hold property 77 [[When hold turns on, it only scrolls by holding action.]]
71 When hold turns on, it only scrolls by holding action.
72 ]]
73 get { 78 get {
74 } 79 }
75 set { 80 set {
76 } 81 }
77 values { 82 values {
78 hold: bool; [[$true if hold, $false otherwise]] 83 hold: bool; [[$true if hold.]]
79 } 84 }
80 } 85 }
81 @property looping { 86 @property looping {
82 [[Controls an infinite loop for a scroller.]] 87 [[Controls infinite looping for a scroller.]]
83 set { 88 set {
84 } 89 }
85 get { 90 get {
86 } 91 }
87 values { 92 values {
88 loop_h: bool; [[The scrolling horizontal loop]] 93 loop_h: bool; [[Scroll horizontal looping is enabled.]]
89 loop_v: bool; [[The Scrolling vertical loop]] 94 loop_v: bool; [[Scroll vertical looping is enabled.]]
90 } 95 }
91 } 96 }
92 @property movement_block { 97 @property movement_block {
@@ -103,11 +108,11 @@ interface Efl.Ui.Scrollable
103 get { 108 get {
104 } 109 }
105 values { 110 values {
106 block: Efl.Ui.Layout_Orientation(Efl.Ui.Layout_Orientation.default); [[Which axis (or axes) to block]] 111 block: Efl.Ui.Layout_Orientation(Efl.Ui.Layout_Orientation.default); [[Which axis (or axes) to block.]]
107 } 112 }
108 } 113 }
109 @property gravity { 114 @property gravity {
110 [[Control scrolling gravity on the scrollable 115 [[Control scrolling gravity on the scrollable.
111 116
112 The gravity defines how the scroller will adjust its view 117 The gravity defines how the scroller will adjust its view
113 when the size of the scroller contents increases. 118 when the size of the scroller contents increases.
@@ -137,54 +142,51 @@ interface Efl.Ui.Scrollable
137 set { 142 set {
138 } 143 }
139 values { 144 values {
140 w: bool; [[Whether to limit the minimum horizontal size]] 145 w: bool; [[Whether to limit the minimum horizontal size.]]
141 h: bool; [[Whether to limit the minimum vertical size]] 146 h: bool; [[Whether to limit the minimum vertical size.]]
142 } 147 }
143 } 148 }
144 @property step_size { 149 @property step_size {
145 [[Control the step size 150 [[Amount to scroll in response to cursor key presses.]]
146
147 Use this call to set step size.
148 This value is used when scroller scroll by arrow key event.]]
149 set { 151 set {
150 } 152 }
151 get { 153 get {
152 } 154 }
153 values { 155 values {
154 step: Eina.Position2D; [[The step size in pixels]] 156 step: Eina.Position2D; [[The step size in pixels.]]
155 } 157 }
156 } 158 }
157 scroll { 159 scroll {
158 [[Show a specific virtual region within the scroller content object. 160 [[Show a specific virtual region within the scroller content object.
159 161
160 This will ensure all (or part if it does not fit) of the designated 162 This will ensure all (or part if it does not fit) of the designated
161 region in the virtual content object (0, 0 starting at the top-left of the 163 region in the virtual content object ($[0,0] starting at the top-left of the
162 virtual content object) is shown within the scroller. This allows the scroller to "smoothly slide" 164 virtual content object) is shown within the scroller. This allows the scroller to "smoothly slide"
163 to this location (if configuration in general calls for transitions). It 165 to this location (if configuration in general calls for transitions). It
164 may not jump immediately to the new location and make take a while and 166 may not jump immediately to the new location and make take a while and
165 show other content along the way. 167 show other content along the way.
166 ]] 168 ]]
167 params { 169 params {
168 @in rect: Eina.Rect; [[The position where to scroll. and The size user want to see]] 170 @in rect: Eina.Rect; [[The position where to scroll and the size user want to see.]]
169 @in animation: bool; [[Whether to scroll with animation or not]] 171 @in animation: bool; [[Whether to scroll with animation or not.]]
170 } 172 }
171 } 173 }
172 } 174 }
173 events { 175 events {
174 scroll,started: void; [[Called when scroll operation starts]] 176 scroll,started: void; [[Called when scroll operation starts.]]
175 scroll,changed: void; [[Called when scrolling]] 177 scroll,changed: void; [[Called when scrolling.]]
176 scroll,finished: void; [[Called when scroll operation finishes]] 178 scroll,finished: void; [[Called when scroll operation finishes.]]
177 scroll,up: void; [[Called when scrolling upwards]] 179 scroll,up: void; [[Called when scrolling upwards.]]
178 scroll,down: void; [[Called when scrolling downwards]] 180 scroll,down: void; [[Called when scrolling downwards.]]
179 scroll,left: void; [[Called when scrolling left]] 181 scroll,left: void; [[Called when scrolling left.]]
180 scroll,right: void; [[Called when scrolling right]] 182 scroll,right: void; [[Called when scrolling right.]]
181 edge,up: void; [[Called when hitting the top edge]] 183 edge,up: void; [[Called when hitting the top edge.]]
182 edge,down: void; [[Called when hitting the bottom edge]] 184 edge,down: void; [[Called when hitting the bottom edge.]]
183 edge,left: void; [[Called when hitting the left edge]] 185 edge,left: void; [[Called when hitting the left edge.]]
184 edge,right: void; [[Called when hitting the right edge]] 186 edge,right: void; [[Called when hitting the right edge.]]
185 scroll,anim,started: void; [[Called when scroll animation starts]] 187 scroll,anim,started: void; [[Called when scroll animation starts.]]
186 scroll,anim,finished: void; [[Called when scroll animation finishes]] 188 scroll,anim,finished: void; [[Called when scroll animation finishes.]]
187 scroll,drag,started: void; [[Called when scroll drag starts]] 189 scroll,drag,started: void; [[Called when scroll drag starts.]]
188 scroll,drag,finished: void; [[Called when scroll drag finishes]] 190 scroll,drag,finished: void; [[Called when scroll drag finishes.]]
189 } 191 }
190} 192}