1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149

/* FIXME: "dragable" is not as common as "draggable" outside EFL... */
import efl_ui_drag_types;
interface @beta Efl.Ui.Drag
{
[[Common interface for draggable objects and parts.
]]
methods {
@property drag_value {
[[The draggable object relative location.
Some parts in Edje can be dragged along the X/Y axes, if the part
contains a "draggable" section (in EDC). For instance, scroll bars
can be draggable objects.
$dx and $dy are real numbers that range from 0 to 1, representing
the relative position to the draggable area on that axis.
This value means, for the vertical axis, that 0.0 will be at the top
if the first parameter of $y in the draggable part theme is 1 and at
the bottom if it is 1.
For the horizontal axis, 0.0 means left if the first parameter of $x
in the draggable part theme is 1, and right if it is 1.
]]
set {
return: bool; [[$true on success, $false otherwise]]
}
get {
return: bool; [[$true on success, $false otherwise]]
}
values {
dx: double; [[The x relative position, from 0 to 1.]]
dy: double; [[The y relative position, from 0 to 1.]]
}
}
@property drag_size {
[[The draggable object relative size.
Values for $dw and $dh are real numbers that range from 0 to 1,
representing the relative size of the draggable area on that axis.
For instance a scroll bar handle size may depend on the size of
the scroller's content.
]]
set {
return: bool; [[$true on success, $false otherwise]]
}
get {
return: bool; [[$true on success, $false otherwise]]
}
values {
dw: double; [[The drag relative width, from 0 to 1.]]
dh: double; [[The drag relative height, from 0 to 1.]]
}
}
@property drag_dir {
[[Determines the draggable directions (readonly).
The draggable directions are defined in the EDC file, inside the
"draggable" section, by the attributes $x and $y. See the EDC
reference documentation for more information.
]]
get {
return: Efl.Ui.Drag_Dir; [[The direction(s) premitted for drag.]]
}
}
@property drag_step {
[[The drag step increment.
Values for $dx and $dy are real numbers that range from 0 to 1,
representing the relative size of the draggable area on that axis by
which the part will be moved.
This differs from @.drag_page in that this is meant to
represent a unit increment, like a single line for example.
See also @.drag_page.
]]
set {
return: bool; [[$true on success, $false otherwise]]
}
get {
return: bool; [[$true on success, $false otherwise]]
}
values {
dx: double; [[The x step relative amount, from 0 to 1.]]
dy: double; [[The y step relative amount, from 0 to 1.]]
}
}
drag_step_move {
[[Moves the draggable by $dx,$dy steps.
This moves the draggable part by $dx,$dy steps where the step
increment is the amount set by @.drag_step.set().
$dx and $dy can be positive or negative numbers, integer values are
recommended.
]]
return: bool; [[$true on success, $false otherwise]]
params {
@in dx: double; [[The number of steps horizontally.]]
@in dy: double; [[The number of steps vertically.]]
}
}
@property drag_page {
[[The page step increments.
Values for $dx and $dy are real numbers that range from 0 to 1,
representing the relative size of the draggable area on that axis by
which the part will be moved.
This differs from @.drag_step in that this is meant to be a
larger step size, basically an entire page as opposed to a single
or couple of lines.
See also @.drag_step.
]]
set {
return: bool; [[$true on success, $false otherwise]]
}
get {
return: bool; [[$true on success, $false otherwise]]
}
values {
dx: double; [[The x page step increment]]
dy: double; [[The y page step increment]]
}
}
drag_page_move {
[[Moves the draggable by $dx,$dy pages.
This moves the draggable by $dx,$dy pages. The increment is
defined by @.drag_page.set().
$dx and $dy can be positive or negative numbers, integer values are
recommended.
Warning: Paging is bugged!
]]
return: bool; [[$true on success, $false otherwise]]
params {
@in dx: double; [[The number of pages horizontally.]]
@in dy: double; [[The number of pages vertically.]]
}
}
}
}
