tizen 2.4 release
[framework/uifw/elementary.git] / src / lib / elm_gesture_layer.eo
1 class Elm_Gesture_Layer (Elm_Widget)
2 {
3    eo_prefix: elm_obj_gesture_layer;
4    properties {
5       zoom_step {
6          set {
7             /*@
8             @brief This function sets step-value for zoom action.
9
10             @if MOBILE @since_tizen 2.3
11             @elseif WEARABLE @since_tizen 2.3.1
12             @endif
13
14             @remark Set step to any positive value.
15             Cancel step setting by setting to 0
16
17             @see elm_gesture_layer_zoom_step_get()
18             @ingroup Elm_Gesture_Layer
19              */
20          }
21          get {
22             /*@
23             @brief This function returns step-value for zoom action.
24
25             @if MOBILE @since_tizen 2.3
26             @elseif WEARABLE @since_tizen 2.3.1
27             @endif
28
29             @return zoom step value.
30
31             @see elm_gesture_layer_zoom_step_set()
32             @ingroup Elm_Gesture_Layer
33              */
34          }
35          values {
36             double step; /*@ new zoom step value. */
37          }
38       }
39       tap_finger_size {
40          set {
41             /*@
42             @brief This function sets the gesture layer finger-size for taps
43             If not set, this size taken from elm_config.
44
45             @if MOBILE @since_tizen 2.3
46             @elseif WEARABLE @since_tizen 2.3.1
47             @endif
48
49             @remark Set to ZERO if you want GLayer to use system finger size value (default)
50
51             @since 1.8
52             @ingroup Elm_Gesture_Layer
53              */
54          }
55          get {
56             /*@
57             @brief This function returns the gesture layer finger-size for taps
58
59             @if MOBILE @since_tizen 2.3
60             @elseif WEARABLE @since_tizen 2.3.1
61             @endif
62
63             @return Finger size that is currently used by Gesture Layer for taps.
64
65             @since 1.8
66             @ingroup Elm_Gesture_Layer
67              */
68          }
69          values {
70             Evas_Coord sz; /*@ Finger size */
71          }
72       }
73       hold_events {
74          set {
75             /*@
76             @brief This function is to make gesture-layer repeat events.
77
78             @if MOBILE @since_tizen 2.3
79             @elseif WEARABLE @since_tizen 2.3.1
80             @endif
81
82             @remark Set this if you like to get the raw events only if gestures were not
83             detected.
84             Clear this if you like gesture layer to forward events as testing gestures.
85             @ingroup Elm_Gesture_Layer
86              */
87          }
88          get {
89             /*@
90             @brief Call this function to get repeat-events settings.
91
92             @if MOBILE @since_tizen 2.3
93             @elseif WEARABLE @since_tizen 2.3.1
94             @endif
95
96             @return repeat events settings.
97             @see elm_gesture_layer_hold_events_set()
98             @ingroup Elm_Gesture_Layer
99              */
100          }
101          values {
102             bool hold_events; /*@ hold events or not. */
103          }
104       }
105       rotate_step {
106          set {
107             /*@
108             @brief This function sets step-value for rotate action.
109
110             @if MOBILE @since_tizen 2.3
111             @elseif WEARABLE @since_tizen 2.3.1
112             @endif
113
114             @remark Set step to any positive value.
115             Cancel step setting by setting to 0
116             @ingroup Elm_Gesture_Layer
117              */
118          }
119          get {
120             /*@
121             @brief This function returns step-value for rotate action.
122
123             @if MOBILE @since_tizen 2.3
124             @elseif WEARABLE @since_tizen 2.3.1
125             @endif
126
127             @return rotate step value.
128             @ingroup Elm_Gesture_Layer
129              */
130          }
131          values {
132             double step; /*@ new rotate step value. */
133          }
134       }
135       cb {
136          set {
137             /*@
138             @brief Use function to set callbacks to be notified about
139             change of state of gesture.
140
141             @if MOBILE @since_tizen 2.3
142             @elseif WEARABLE @since_tizen 2.3.1
143             @endif
144
145             @remark When a user registers a callback with this function
146             this means this gesture has to be tested.
147
148             @remark When ALL callbacks for a gesture are set to NULL
149             it means user isn't interested in gesture-state
150             and it will not be tested.
151             @ingroup Elm_Gesture_Layer
152              */
153          }
154          values {
155             Elm_Gesture_Type idx; /*@ The gesture you would like to track its state. */
156             Elm_Gesture_State cb_type; /*@ what event this callback tracks: START, MOVE, END, ABORT. */
157             Elm_Gesture_Event_Cb cb; /*@ callback function pointer. */
158             void *data; /*@ user info to be sent to callback (usually, Smart Data) */
159          }
160       }
161    }
162    methods {
163       attach {
164          /*@
165          @brief Attach a given gesture layer widget to an Evas object, thus setting
166          the widget's @b target.
167
168          @if MOBILE @since_tizen 2.3
169          @elseif WEARABLE @since_tizen 2.3.1
170          @endif
171
172          @remark A gesture layer target may be whichever Evas object one
173          chooses. This will be object @a obj will listen all mouse and key
174          events from, to report the gestures made upon it back.
175
176          @return @c EINA_TRUE, on success, @c EINA_FALSE otherwise.
177          @ingroup Elm_Gesture_Layer
178           */
179
180          return: bool;
181          params {
182             @in Evas_Object *target; /*@ Object to attach to @a obj (target) */
183          }
184       }
185       cb_del {
186          /*@
187          @internal
188
189          Use this function to remove a callback that has been added
190          to be notified about change of state of gesture.
191          @ingroup Elm_Gesture_Layer
192           */
193
194          params {
195             @in Elm_Gesture_Type idx; /*@ The gesture you would like to track its state. */
196             @in Elm_Gesture_State cb_type; /*@ what event this callback tracks: START, MOVE, END, ABORT. */
197             @in Elm_Gesture_Event_Cb cb; /*@ callback function pointer. */
198             @in void *data; /*@ user info for the callback (usually, Smart Data) */
199          }
200       }
201       cb_add {
202          /*@
203          @internal
204
205          Use function to add callbacks to be notified about
206          change of state of gesture.
207          When a user registers a callback with this function
208          this means this gesture has to be tested.
209
210          When ALL callbacks for a gesture are set to NULL
211          it means user isn't interested in gesture-state
212          and it will not be tested.
213
214          If a function was already set for this gesture/type/state, it will be
215          replaced by the new one. For ABI compat, callbacks added by
216          elm_gesture_layer_cb_add will be removed. It is recommended to
217          use only one of these functions for a gesture object.
218          @ingroup Elm_Gesture_Layer
219           */
220
221          params {
222             @in Elm_Gesture_Type idx; /*@ The gesture you would like to track its state. */
223             @in Elm_Gesture_State cb_type; /*@ what event this callback tracks: START, MOVE, END, ABORT. */
224             @in Elm_Gesture_Event_Cb cb; /*@ callback function pointer. */
225             @in void *data; /*@ user info to be sent to callback (usually, Smart Data) */
226          }
227       }
228    }
229    implements {
230       class.constructor;
231       Eo.Base.constructor;
232       Evas.Object_Smart.add;
233       Evas.Object_Smart.del;
234       Elm_Widget.disable;
235    }
236
237 }