summaryrefslogtreecommitdiff
path: root/legacy/evas
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2004-12-14 03:21:32 +0000
committerCarsten Haitzler <raster@rasterman.com>2004-12-14 03:21:32 +0000
commit6a0b8df83713efd774b608720ffbebee5212fa07 (patch)
tree826aae5254376c622522d343ee52ecd289b4a268 /legacy/evas
parent4536ce128e8e7e5d8bdcaeca0b6170fe14d950e8 (diff)
extend key and mouse events
SVN revision: 12457
Diffstat (limited to 'legacy/evas')
-rw-r--r--legacy/evas/src/bin/evas_cairo_x11_main.c10
-rw-r--r--legacy/evas/src/bin/evas_gl_x11_main.c10
-rw-r--r--legacy/evas/src/bin/evas_software_qtopia_main.cpp10
-rw-r--r--legacy/evas/src/bin/evas_software_x11_main.c10
-rw-r--r--legacy/evas/src/lib/Evas.h48
-rw-r--r--legacy/evas/src/lib/canvas/evas_clip.c8
-rw-r--r--legacy/evas/src/lib/canvas/evas_events.c210
-rw-r--r--legacy/evas/src/lib/canvas/evas_layer.c2
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_line.c3
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_main.c14
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_polygon.c6
-rw-r--r--legacy/evas/src/lib/canvas/evas_object_text.c6
-rw-r--r--legacy/evas/src/lib/canvas/evas_stack.c8
-rw-r--r--legacy/evas/src/lib/include/evas_private.h7
14 files changed, 148 insertions, 204 deletions
diff --git a/legacy/evas/src/bin/evas_cairo_x11_main.c b/legacy/evas/src/bin/evas_cairo_x11_main.c
index c96d3d2..ca6be56 100644
--- a/legacy/evas/src/bin/evas_cairo_x11_main.c
+++ b/legacy/evas/src/bin/evas_cairo_x11_main.c
@@ -98,15 +98,15 @@ main(int argc, char **argv)
98 pause_me = 2; 98 pause_me = 2;
99 else 99 else
100 pause_me = 1; 100 pause_me = 1;
101 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); 101 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
102 evas_event_feed_mouse_down(evas, ev.xbutton.button); 102 evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
103 break; 103 break;
104 case ButtonRelease: 104 case ButtonRelease:
105 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); 105 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
106 evas_event_feed_mouse_up(evas, ev.xbutton.button); 106 evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
107 break; 107 break;
108 case MotionNotify: 108 case MotionNotify:
109 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y); 109 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
110 break; 110 break;
111 case Expose: 111 case Expose:
112 evas_damage_rectangle_add(evas, 112 evas_damage_rectangle_add(evas,
diff --git a/legacy/evas/src/bin/evas_gl_x11_main.c b/legacy/evas/src/bin/evas_gl_x11_main.c
index 001c334..34c7c7e 100644
--- a/legacy/evas/src/bin/evas_gl_x11_main.c
+++ b/legacy/evas/src/bin/evas_gl_x11_main.c
@@ -101,15 +101,15 @@ main(int argc, char **argv)
101 pause_me = 2; 101 pause_me = 2;
102 else 102 else
103 pause_me = 1; 103 pause_me = 1;
104 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); 104 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
105 evas_event_feed_mouse_down(evas, ev.xbutton.button); 105 evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
106 break; 106 break;
107 case ButtonRelease: 107 case ButtonRelease:
108 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); 108 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
109 evas_event_feed_mouse_up(evas, ev.xbutton.button); 109 evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
110 break; 110 break;
111 case MotionNotify: 111 case MotionNotify:
112 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y); 112 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
113 break; 113 break;
114 case Expose: 114 case Expose:
115 evas_damage_rectangle_add(evas, 115 evas_damage_rectangle_add(evas,
diff --git a/legacy/evas/src/bin/evas_software_qtopia_main.cpp b/legacy/evas/src/bin/evas_software_qtopia_main.cpp
index 6958b09..95da38f 100644
--- a/legacy/evas/src/bin/evas_software_qtopia_main.cpp
+++ b/legacy/evas/src/bin/evas_software_qtopia_main.cpp
@@ -37,19 +37,19 @@ void EvasTargetWidget::mousePressEvent(QMouseEvent *e)
37{ 37{
38 if (fullscreen) disableFullscreen(); 38 if (fullscreen) disableFullscreen();
39 else enableFullscreen(); 39 else enableFullscreen();
40 evas_event_feed_mouse_move(evas, e->x(), e->y()); 40 evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL);
41 evas_event_feed_mouse_down(evas, e->button()); 41 evas_event_feed_mouse_down(evas, e->button(), EVAS_BUTTON_NONE, NULL);
42} 42}
43 43
44void EvasTargetWidget::mouseReleaseEvent(QMouseEvent *e) 44void EvasTargetWidget::mouseReleaseEvent(QMouseEvent *e)
45{ 45{
46 evas_event_feed_mouse_move(evas, e->x(), e->y()); 46 evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL);
47 evas_event_feed_mouse_up(evas, e->button()); 47 evas_event_feed_mouse_up(evas, e->button(). EVAS_BUTTON_NONE, NULL);
48} 48}
49 49
50void EvasTargetWidget::mouseMoveEvent(QMouseEvent *e) 50void EvasTargetWidget::mouseMoveEvent(QMouseEvent *e)
51{ 51{
52 evas_event_feed_mouse_move(evas, e->x(), e->y()); 52 evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL);
53} 53}
54 54
55void EvasTargetWidget::paintEvent(QPaintEvent *e) 55void EvasTargetWidget::paintEvent(QPaintEvent *e)
diff --git a/legacy/evas/src/bin/evas_software_x11_main.c b/legacy/evas/src/bin/evas_software_x11_main.c
index dc9beeb..a8c88b8 100644
--- a/legacy/evas/src/bin/evas_software_x11_main.c
+++ b/legacy/evas/src/bin/evas_software_x11_main.c
@@ -192,15 +192,15 @@ main(int argc, char **argv)
192 else 192 else
193 pause_me = 1; 193 pause_me = 1;
194#endif 194#endif
195 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); 195 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
196 evas_event_feed_mouse_down(evas, ev.xbutton.button); 196 evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
197 break; 197 break;
198 case ButtonRelease: 198 case ButtonRelease:
199 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); 199 evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
200 evas_event_feed_mouse_up(evas, ev.xbutton.button); 200 evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
201 break; 201 break;
202 case MotionNotify: 202 case MotionNotify:
203 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y); 203 evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
204 break; 204 break;
205 case Expose: 205 case Expose:
206 evas_damage_rectangle_add(evas, 206 evas_damage_rectangle_add(evas,
diff --git a/legacy/evas/src/lib/Evas.h b/legacy/evas/src/lib/Evas.h
index 8d00bce..58689bb 100644
--- a/legacy/evas/src/lib/Evas.h
+++ b/legacy/evas/src/lib/Evas.h
@@ -47,6 +47,14 @@ enum _Evas_Callback_Type
47}; 47};
48typedef enum _Evas_Callback_Type Evas_Callback_Type; /**< The type of event to trigger the callback */ 48typedef enum _Evas_Callback_Type Evas_Callback_Type; /**< The type of event to trigger the callback */
49 49
50enum _Evas_Button_Flags
51{
52 EVAS_BUTTON_NONE = 0, /**< No extra mouse button data */
53 EVAS_BUTTON_DOUBLE_CLICK = (1 << 0), /**< This mouse button press was the 2nd press of a double click */
54 EVAS_BUTTON_TRIPLE_CLICK = (1 << 1) /**< This mouse button press was the 3rd press of a triple click */
55};
56typedef enum _Evas_Button_Flags Evas_Button_Flags; /**< Flags for Mouse Button events */
57
50typedef struct _Evas_List Evas_List; /**< A generic linked list node handle */ 58typedef struct _Evas_List Evas_List; /**< A generic linked list node handle */
51typedef struct _Evas_Rectangle Evas_Rectangle; /**< A generic rectangle handle */ 59typedef struct _Evas_Rectangle Evas_Rectangle; /**< A generic rectangle handle */
52typedef struct _Evas_Smart_Class Evas_Smart_Class; /**< A smart object base class */ 60typedef struct _Evas_Smart_Class Evas_Smart_Class; /**< A smart object base class */
@@ -165,6 +173,8 @@ struct _Evas_Event_Mouse_Down /** Mouse button press event */
165 void *data; 173 void *data;
166 Evas_Modifier *modifiers; 174 Evas_Modifier *modifiers;
167 Evas_Lock *locks; 175 Evas_Lock *locks;
176
177 Evas_Button_Flags flags;
168}; 178};
169 179
170struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */ 180struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */
@@ -179,6 +189,8 @@ struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */
179 void *data; 189 void *data;
180 Evas_Modifier *modifiers; 190 Evas_Modifier *modifiers;
181 Evas_Lock *locks; 191 Evas_Lock *locks;
192
193 Evas_Button_Flags flags;
182}; 194};
183 195
184struct _Evas_Event_Mouse_In /** Mouse enter event */ 196struct _Evas_Event_Mouse_In /** Mouse enter event */
@@ -238,7 +250,7 @@ struct _Evas_Event_Mouse_Wheel /** Wheel event */
238 Evas_Coord x, y; 250 Evas_Coord x, y;
239 } canvas; 251 } canvas;
240 252
241 void *data; 253 void *data;
242 Evas_Modifier *modifiers; 254 Evas_Modifier *modifiers;
243 Evas_Lock *locks; 255 Evas_Lock *locks;
244}; 256};
@@ -249,6 +261,10 @@ struct _Evas_Event_Key_Down /** Key press event */
249 void *data; 261 void *data;
250 Evas_Modifier *modifiers; 262 Evas_Modifier *modifiers;
251 Evas_Lock *locks; 263 Evas_Lock *locks;
264
265 char *key; /**< The logical key : (eg shift+1 == exclamation) */
266 char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
267 char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
252}; 268};
253 269
254struct _Evas_Event_Key_Up /** Key release event */ 270struct _Evas_Event_Key_Up /** Key release event */
@@ -257,6 +273,10 @@ struct _Evas_Event_Key_Up /** Key release event */
257 void *data; 273 void *data;
258 Evas_Modifier *modifiers; 274 Evas_Modifier *modifiers;
259 Evas_Lock *locks; 275 Evas_Lock *locks;
276
277 char *key; /**< The logical key : (eg shift+1 == exclamation) */
278 char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
279 char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
260}; 280};
261 281
262#ifdef __cplusplus 282#ifdef __cplusplus
@@ -480,23 +500,15 @@ extern "C" {
480 EAPI void evas_event_freeze (Evas *e); 500 EAPI void evas_event_freeze (Evas *e);
481 EAPI void evas_event_thaw (Evas *e); 501 EAPI void evas_event_thaw (Evas *e);
482 EAPI int evas_event_freeze_get (Evas *e); 502 EAPI int evas_event_freeze_get (Evas *e);
483 EAPI void evas_event_feed_mouse_down_data (Evas *e, int b, const void *data); 503 EAPI void evas_event_feed_mouse_down (Evas *e, int b, Evas_Button_Flags flags, const void *data);
484 EAPI void evas_event_feed_mouse_up_data (Evas *e, int b, const void *data); 504 EAPI void evas_event_feed_mouse_up (Evas *e, int b, Evas_Button_Flags flags, const void *data);
485 EAPI void evas_event_feed_mouse_move_data (Evas *e, int x, int y, const void *data); 505 EAPI void evas_event_feed_mouse_move (Evas *e, int x, int y, const void *data);
486 EAPI void evas_event_feed_mouse_in_data (Evas *e, const void *data); 506 EAPI void evas_event_feed_mouse_in (Evas *e, const void *data);
487 EAPI void evas_event_feed_mouse_out_data (Evas *e, const void *data); 507 EAPI void evas_event_feed_mouse_out (Evas *e, const void *data);
488 EAPI void evas_event_feed_mouse_wheel_data (Evas *e, int direction, int z, const void *data); 508 EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z, const void *data);
489 EAPI void evas_event_feed_key_down_data (Evas *e, const char *keyname, const void *data); 509 EAPI void evas_event_feed_key_down (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data);
490 EAPI void evas_event_feed_key_up_data (Evas *e, const char *keyname, const void *data); 510 EAPI void evas_event_feed_key_up (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data);
491 EAPI void evas_event_feed_mouse_down (Evas *e, int b); 511
492 EAPI void evas_event_feed_mouse_up (Evas *e, int b);
493 EAPI void evas_event_feed_mouse_move (Evas *e, int x, int y);
494 EAPI void evas_event_feed_mouse_in (Evas *e);
495 EAPI void evas_event_feed_mouse_out (Evas *e);
496 EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z);
497 EAPI void evas_event_feed_key_down (Evas *e, const char *keyname);
498 EAPI void evas_event_feed_key_up (Evas *e, const char *keyname);
499
500 EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus); 512 EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus);
501 EAPI Evas_Bool evas_object_focus_get (Evas_Object *obj); 513 EAPI Evas_Bool evas_object_focus_get (Evas_Object *obj);
502 514
diff --git a/legacy/evas/src/lib/canvas/evas_clip.c b/legacy/evas/src/lib/canvas/evas_clip.c
index 3551064..753a582 100644
--- a/legacy/evas/src/lib/canvas/evas_clip.c
+++ b/legacy/evas/src/lib/canvas/evas_clip.c
@@ -186,9 +186,10 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
186 if (evas_object_is_in_output_rect(obj, 186 if (evas_object_is_in_output_rect(obj,
187 obj->layer->evas->pointer.x, 187 obj->layer->evas->pointer.x,
188 obj->layer->evas->pointer.y, 1, 1)) 188 obj->layer->evas->pointer.y, 1, 1))
189 evas_event_feed_mouse_move(obj->layer->evas, 189 evas_event_feed_mouse_move(obj->layer->evas,
190 obj->layer->evas->pointer.x, 190 obj->layer->evas->pointer.x,
191 obj->layer->evas->pointer.y); 191 obj->layer->evas->pointer.y,
192 NULL);
192 } 193 }
193} 194}
194 195
@@ -273,7 +274,8 @@ evas_object_clip_unset(Evas_Object *obj)
273 obj->layer->evas->pointer.y, 1, 1)) 274 obj->layer->evas->pointer.y, 1, 1))
274 evas_event_feed_mouse_move(obj->layer->evas, 275 evas_event_feed_mouse_move(obj->layer->evas,
275 obj->layer->evas->pointer.x, 276 obj->layer->evas->pointer.x,
276 obj->layer->evas->pointer.y); 277 obj->layer->evas->pointer.y,
278 NULL);
277 } 279 }
278} 280}
279 281
diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c
index f4a2b19..5f6bd8e 100644
--- a/legacy/evas/src/lib/canvas/evas_events.c
+++ b/legacy/evas/src/lib/canvas/evas_events.c
@@ -153,7 +153,7 @@ evas_event_freeze_get(Evas *e)
153 * 153 *
154 */ 154 */
155void 155void
156evas_event_feed_mouse_down_data(Evas *e, int b, const void *data) 156evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, const void *data)
157{ 157{
158 Evas_List *l, *copy; 158 Evas_List *l, *copy;
159 159
@@ -185,6 +185,7 @@ evas_event_feed_mouse_down_data(Evas *e, int b, const void *data)
185 ev.data = (void *)data; 185 ev.data = (void *)data;
186 ev.modifiers = &(e->modifiers); 186 ev.modifiers = &(e->modifiers);
187 ev.locks = &(e->locks); 187 ev.locks = &(e->locks);
188 ev.flags = flags;
188 if (!e->events_frozen) 189 if (!e->events_frozen)
189 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev); 190 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev);
190 } 191 }
@@ -198,47 +199,7 @@ evas_event_feed_mouse_down_data(Evas *e, int b, const void *data)
198 * 199 *
199 */ 200 */
200void 201void
201evas_event_feed_mouse_wheel_data(Evas *e, int direction, int z, const void *data) 202evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *data)
202{
203 Evas_List *l, *copy;
204
205 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
206 return;
207 MAGIC_CHECK_END();
208
209 if (e->events_frozen > 0) return;
210
211 copy = evas_event_list_copy(e->pointer.object.in);
212
213 for (l = copy; l; l = l->next)
214 {
215 Evas_Event_Mouse_Wheel ev;
216 Evas_Object *obj = l->data;
217
218 ev.direction = direction;
219 ev.z = z;
220 ev.output.x = e->pointer.x;
221 ev.output.y = e->pointer.y;
222 ev.canvas.x = e->pointer.canvas_x;
223 ev.canvas.y = e->pointer.canvas_y;
224 ev.data = (void *) data;
225 ev.modifiers = &(e->modifiers);
226 ev.locks = &(e->locks);
227 if (!e->events_frozen)
228 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev);
229 }
230
231 return;
232}
233
234/**
235 * To be documented.
236 *
237 * FIXME: To be fixed.
238 *
239 */
240void
241evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
242{ 203{
243 Evas_List *l, *copy; 204 Evas_List *l, *copy;
244 205
@@ -269,6 +230,7 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
269 ev.data = (void *)data; 230 ev.data = (void *)data;
270 ev.modifiers = &(e->modifiers); 231 ev.modifiers = &(e->modifiers);
271 ev.locks = &(e->locks); 232 ev.locks = &(e->locks);
233 ev.flags = flags;
272 if (!e->events_frozen) 234 if (!e->events_frozen)
273 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev); 235 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev);
274 } 236 }
@@ -341,7 +303,7 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
341 /* and set up the new one */ 303 /* and set up the new one */
342 e->pointer.object.in = ins; 304 e->pointer.object.in = ins;
343 if (e->pointer.inside) 305 if (e->pointer.inside)
344 evas_event_feed_mouse_move_data(e, e->pointer.x, e->pointer.y, data); 306 evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, data);
345 } 307 }
346} 308}
347 309
@@ -352,7 +314,47 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
352 * 314 *
353 */ 315 */
354void 316void
355evas_event_feed_mouse_move_data(Evas *e, int x, int y, const void *data) 317evas_event_feed_mouse_wheel(Evas *e, int direction, int z, const void *data)
318{
319 Evas_List *l, *copy;
320
321 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
322 return;
323 MAGIC_CHECK_END();
324
325 if (e->events_frozen > 0) return;
326
327 copy = evas_event_list_copy(e->pointer.object.in);
328
329 for (l = copy; l; l = l->next)
330 {
331 Evas_Event_Mouse_Wheel ev;
332 Evas_Object *obj = l->data;
333
334 ev.direction = direction;
335 ev.z = z;
336 ev.output.x = e->pointer.x;
337 ev.output.y = e->pointer.y;
338 ev.canvas.x = e->pointer.canvas_x;
339 ev.canvas.y = e->pointer.canvas_y;
340 ev.data = (void *) data;
341 ev.modifiers = &(e->modifiers);
342 ev.locks = &(e->locks);
343 if (!e->events_frozen)
344 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev);
345 }
346
347 return;
348}
349
350/**
351 * To be documented.
352 *
353 * FIXME: To be fixed.
354 *
355 */
356void
357evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
356{ 358{
357 int px, py; 359 int px, py;
358 Evas_Coord pcx, pcy; 360 Evas_Coord pcx, pcy;
@@ -542,7 +544,7 @@ evas_event_feed_mouse_move_data(Evas *e, int x, int y, const void *data)
542 * 544 *
543 */ 545 */
544void 546void
545evas_event_feed_mouse_in_data(Evas *e, const void *data) 547evas_event_feed_mouse_in(Evas *e, const void *data)
546{ 548{
547 Evas_List *ins; 549 Evas_List *ins;
548 Evas_List *l; 550 Evas_List *l;
@@ -585,7 +587,7 @@ evas_event_feed_mouse_in_data(Evas *e, const void *data)
585 e->pointer.object.in = evas_list_free(e->pointer.object.in); 587 e->pointer.object.in = evas_list_free(e->pointer.object.in);
586 /* and set up the new one */ 588 /* and set up the new one */
587 e->pointer.object.in = ins; 589 e->pointer.object.in = ins;
588 evas_event_feed_mouse_move_data(e, e->pointer.x, e->pointer.y, data); 590 evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, data);
589} 591}
590 592
591/** 593/**
@@ -595,7 +597,7 @@ evas_event_feed_mouse_in_data(Evas *e, const void *data)
595 * 597 *
596 */ 598 */
597void 599void
598evas_event_feed_mouse_out_data(Evas *e, const void *data) 600evas_event_feed_mouse_out(Evas *e, const void *data)
599{ 601{
600 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 602 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
601 return; 603 return;
@@ -644,7 +646,7 @@ evas_event_feed_mouse_out_data(Evas *e, const void *data)
644 * 646 *
645 */ 647 */
646void 648void
647evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data) 649evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data)
648{ 650{
649 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 651 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
650 return; 652 return;
@@ -660,6 +662,9 @@ evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data)
660 ev.data = (void *)data; 662 ev.data = (void *)data;
661 ev.modifiers = &(e->modifiers); 663 ev.modifiers = &(e->modifiers);
662 ev.locks = &(e->locks); 664 ev.locks = &(e->locks);
665 ev.key = key;
666 ev.string = string;
667 ev.compose = compose;
663 if (e->grabs) 668 if (e->grabs)
664 { 669 {
665 Evas_List *l; 670 Evas_List *l;
@@ -722,7 +727,7 @@ evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data)
722 * 727 *
723 */ 728 */
724void 729void
725evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data) 730evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data)
726{ 731{
727 MAGIC_CHECK(e, Evas, MAGIC_EVAS); 732 MAGIC_CHECK(e, Evas, MAGIC_EVAS);
728 return; 733 return;
@@ -738,6 +743,9 @@ evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data)
738 ev.data = (void *)data; 743 ev.data = (void *)data;
739 ev.modifiers = &(e->modifiers); 744 ev.modifiers = &(e->modifiers);
740 ev.locks = &(e->locks); 745 ev.locks = &(e->locks);
746 ev.key = key;
747 ev.string = string;
748 ev.compose = compose;
741 if (e->grabs) 749 if (e->grabs)
742 { 750 {
743 Evas_List *l; 751 Evas_List *l;
@@ -800,102 +808,6 @@ evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data)
800 * 808 *
801 */ 809 */
802void 810void
803evas_event_feed_mouse_down(Evas *e, int b)
804{
805 evas_event_feed_mouse_down_data(e, b, NULL);
806}
807
808/**
809 * To be documented.
810 *
811 * FIXME: To be fixed.
812 *
813 */
814void
815evas_event_feed_mouse_up(Evas *e, int b)
816{
817 evas_event_feed_mouse_up_data(e, b, NULL);
818}
819
820/**
821 * To be documented.
822 *
823 * FIXME: To be fixed.
824 *
825 */
826void
827evas_event_feed_mouse_move(Evas *e, int x, int y)
828{
829 evas_event_feed_mouse_move_data(e, x, y, NULL);
830}
831
832/**
833 * To be documented.
834 *
835 * FIXME: To be fixed.
836 *
837 */
838void
839evas_event_feed_mouse_in(Evas *e)
840{
841 evas_event_feed_mouse_in_data(e, NULL);
842}
843
844/**
845 * To be documented.
846 *
847 * FIXME: To be fixed.
848 *
849 */
850void
851evas_event_feed_mouse_out(Evas *e)
852{
853 evas_event_feed_mouse_out_data(e, NULL);
854}
855
856/**
857 * To be documented.
858 *
859 * FIXME: To be fixed.
860 *
861 */
862void
863evas_event_feed_mouse_wheel(Evas *e, int direction, int z)
864{
865 evas_event_feed_mouse_wheel_data(e, direction, z, NULL);
866}
867
868/**
869 * To be documented.
870 *
871 * FIXME: To be fixed.
872 *
873 */
874void
875evas_event_feed_key_down(Evas *e, const char *keyname)
876{
877 evas_event_feed_key_down_data(e, keyname, NULL);
878}
879
880/**
881 * To be documented.
882 *
883 * FIXME: To be fixed.
884 *
885 */
886void
887evas_event_feed_key_up(Evas *e, const char *keyname)
888{
889 evas_event_feed_key_up_data(e, keyname, NULL);
890}
891
892/**
893 * To be documented.
894 *
895 * FIXME: To be fixed.
896 *
897 */
898void
899evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass) 811evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
900{ 812{
901 MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); 813 MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
@@ -907,7 +819,8 @@ evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
907 obj->layer->evas->pointer.y, 1, 1)) 819 obj->layer->evas->pointer.y, 1, 1))
908 evas_event_feed_mouse_move(obj->layer->evas, 820 evas_event_feed_mouse_move(obj->layer->evas,
909 obj->layer->evas->pointer.x, 821 obj->layer->evas->pointer.x,
910 obj->layer->evas->pointer.y); 822 obj->layer->evas->pointer.y,
823 NULL);
911} 824}
912 825
913/** 826/**
@@ -942,8 +855,9 @@ evas_object_repeat_events_set(Evas_Object *obj, Evas_Bool repeat)
942 obj->layer->evas->pointer.x, 855 obj->layer->evas->pointer.x,
943 obj->layer->evas->pointer.y, 1, 1)) 856 obj->layer->evas->pointer.y, 1, 1))
944 evas_event_feed_mouse_move(obj->layer->evas, 857 evas_event_feed_mouse_move(obj->layer->evas,
945 obj->layer->evas->pointer.x, 858 obj->layer->evas->pointer.x,
946 obj->layer->evas->pointer.y); 859 obj->layer->evas->pointer.y,
860 NULL);
947} 861}
948 862
949/** 863/**
diff --git a/legacy/evas/src/lib/canvas/evas_layer.c b/legacy/evas/src/lib/canvas/evas_layer.c
index 824ad52..cfc7c1c 100644
--- a/legacy/evas/src/lib/canvas/evas_layer.c
+++ b/legacy/evas/src/lib/canvas/evas_layer.c
@@ -169,7 +169,7 @@ evas_object_layer_set(Evas_Object *obj, int l)
169 obj->layer->evas->pointer.y, 1, 1) && 169 obj->layer->evas->pointer.y, 1, 1) &&
170 obj->cur.visible) 170 obj->cur.visible)
171 if (evas_list_find(obj->layer->evas->pointer.object.in, obj)) 171 if (evas_list_find(obj->layer->evas->pointer.object.in, obj))
172 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); 172 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
173 } 173 }
174 evas_object_inform_call_restack(obj); 174 evas_object_inform_call_restack(obj);
175} 175}
diff --git a/legacy/evas/src/lib/canvas/evas_object_line.c b/legacy/evas/src/lib/canvas/evas_object_line.c
index 1a467e7..add7a12 100644
--- a/legacy/evas/src/lib/canvas/evas_object_line.c
+++ b/legacy/evas/src/lib/canvas/evas_object_line.c
@@ -156,7 +156,8 @@ evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coo
156 if ((is ^ was) && obj->cur.visible) 156 if ((is ^ was) && obj->cur.visible)
157 evas_event_feed_mouse_move(obj->layer->evas, 157 evas_event_feed_mouse_move(obj->layer->evas,
158 obj->layer->evas->pointer.x, 158 obj->layer->evas->pointer.x,
159 obj->layer->evas->pointer.y); 159 obj->layer->evas->pointer.y,
160 NULL);
160 } 161 }
161 evas_object_inform_call_move(obj); 162 evas_object_inform_call_move(obj);
162 evas_object_inform_call_resize(obj); 163 evas_object_inform_call_resize(obj);
diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c
index 695abec..8f46e28 100644
--- a/legacy/evas/src/lib/canvas/evas_object_main.c
+++ b/legacy/evas/src/lib/canvas/evas_object_main.c
@@ -487,7 +487,8 @@ evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
487 if ((is ^ was) && obj->cur.visible) 487 if ((is ^ was) && obj->cur.visible)
488 evas_event_feed_mouse_move(obj->layer->evas, 488 evas_event_feed_mouse_move(obj->layer->evas,
489 obj->layer->evas->pointer.x, 489 obj->layer->evas->pointer.x,
490 obj->layer->evas->pointer.y); 490 obj->layer->evas->pointer.y,
491 NULL);
491 } 492 }
492 } 493 }
493 evas_object_inform_call_move(obj); 494 evas_object_inform_call_move(obj);
@@ -539,9 +540,10 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
539 obj->layer->evas->pointer.x, 540 obj->layer->evas->pointer.x,
540 obj->layer->evas->pointer.y, 1, 1); 541 obj->layer->evas->pointer.y, 1, 1);
541 if ((is ^ was) && (obj->cur.visible)) 542 if ((is ^ was) && (obj->cur.visible))
542 evas_event_feed_mouse_move(obj->layer->evas, 543 evas_event_feed_mouse_move(obj->layer->evas,
543 obj->layer->evas->pointer.x, 544 obj->layer->evas->pointer.x,
544 obj->layer->evas->pointer.y); 545 obj->layer->evas->pointer.y,
546 NULL);
545 } 547 }
546 } 548 }
547 evas_object_inform_call_resize(obj); 549 evas_object_inform_call_resize(obj);
@@ -623,7 +625,8 @@ evas_object_show(Evas_Object *obj)
623 obj->layer->evas->pointer.y, 1, 1)) 625 obj->layer->evas->pointer.y, 1, 1))
624 evas_event_feed_mouse_move(obj->layer->evas, 626 evas_event_feed_mouse_move(obj->layer->evas,
625 obj->layer->evas->pointer.x, 627 obj->layer->evas->pointer.x,
626 obj->layer->evas->pointer.y); 628 obj->layer->evas->pointer.y,
629 NULL);
627 } 630 }
628 } 631 }
629 evas_object_inform_call_show(obj); 632 evas_object_inform_call_show(obj);
@@ -664,7 +667,8 @@ evas_object_hide(Evas_Object *obj)
664 obj->layer->evas->pointer.y, 1, 1)) 667 obj->layer->evas->pointer.y, 1, 1))
665 evas_event_feed_mouse_move(obj->layer->evas, 668 evas_event_feed_mouse_move(obj->layer->evas,
666 obj->layer->evas->pointer.x, 669 obj->layer->evas->pointer.x,
667 obj->layer->evas->pointer.y); 670 obj->layer->evas->pointer.y,
671 NULL);
668 if (obj->mouse_grabbed > 0) 672 if (obj->mouse_grabbed > 0)
669 { 673 {
670 if (obj->layer->evas->pointer.mouse_grabbed > 0) 674 if (obj->layer->evas->pointer.mouse_grabbed > 0)
diff --git a/legacy/evas/src/lib/canvas/evas_object_polygon.c b/legacy/evas/src/lib/canvas/evas_object_polygon.c
index 8ca5311..cc4cbdd 100644
--- a/legacy/evas/src/lib/canvas/evas_object_polygon.c
+++ b/legacy/evas/src/lib/canvas/evas_object_polygon.c
@@ -151,7 +151,8 @@ evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
151 if ((is ^ was) && obj->cur.visible) 151 if ((is ^ was) && obj->cur.visible)
152 evas_event_feed_mouse_move(obj->layer->evas, 152 evas_event_feed_mouse_move(obj->layer->evas,
153 obj->layer->evas->pointer.x, 153 obj->layer->evas->pointer.x,
154 obj->layer->evas->pointer.y); 154 obj->layer->evas->pointer.y,
155 NULL);
155 } 156 }
156 evas_object_inform_call_move(obj); 157 evas_object_inform_call_move(obj);
157 evas_object_inform_call_resize(obj); 158 evas_object_inform_call_resize(obj);
@@ -195,7 +196,8 @@ evas_object_polygon_points_clear(Evas_Object *obj)
195 if ((is || was) && obj->cur.visible) 196 if ((is || was) && obj->cur.visible)
196 evas_event_feed_mouse_move(obj->layer->evas, 197 evas_event_feed_mouse_move(obj->layer->evas,
197 obj->layer->evas->pointer.x, 198 obj->layer->evas->pointer.x,
198 obj->layer->evas->pointer.y); 199 obj->layer->evas->pointer.y,
200 NULL);
199 evas_object_inform_call_move(obj); 201 evas_object_inform_call_move(obj);
200 evas_object_inform_call_resize(obj); 202 evas_object_inform_call_resize(obj);
201} 203}
diff --git a/legacy/evas/src/lib/canvas/evas_object_text.c b/legacy/evas/src/lib/canvas/evas_object_text.c
index 9026951..12e8877 100644
--- a/legacy/evas/src/lib/canvas/evas_object_text.c
+++ b/legacy/evas/src/lib/canvas/evas_object_text.c
@@ -715,7 +715,8 @@ evas_object_text_font_set(Evas_Object *obj, const char *font, Evas_Font_Size siz
715 if ((is ^ was) && obj->cur.visible) 715 if ((is ^ was) && obj->cur.visible)
716 evas_event_feed_mouse_move(obj->layer->evas, 716 evas_event_feed_mouse_move(obj->layer->evas,
717 obj->layer->evas->pointer.x, 717 obj->layer->evas->pointer.x,
718 obj->layer->evas->pointer.y); 718 obj->layer->evas->pointer.y,
719 NULL);
719 } 720 }
720 evas_object_inform_call_resize(obj); 721 evas_object_inform_call_resize(obj);
721} 722}
@@ -801,7 +802,8 @@ evas_object_text_text_set(Evas_Object *obj, const char *text)
801 if ((is || was) && obj->cur.visible) 802 if ((is || was) && obj->cur.visible)
802 evas_event_feed_mouse_move(obj->layer->evas, 803 evas_event_feed_mouse_move(obj->layer->evas,
803 obj->layer->evas->pointer.x, 804 obj->layer->evas->pointer.x,
804 obj->layer->evas->pointer.y); 805 obj->layer->evas->pointer.y,
806 NULL);
805 evas_object_inform_call_resize(obj); 807 evas_object_inform_call_resize(obj);
806} 808}
807 809
diff --git a/legacy/evas/src/lib/canvas/evas_stack.c b/legacy/evas/src/lib/canvas/evas_stack.c
index 04c7a27..abc560e 100644
--- a/legacy/evas/src/lib/canvas/evas_stack.c
+++ b/legacy/evas/src/lib/canvas/evas_stack.c
@@ -81,7 +81,7 @@ evas_object_raise(Evas_Object *obj)
81 obj->layer->evas->pointer.x, 81 obj->layer->evas->pointer.x,
82 obj->layer->evas->pointer.y, 1, 1) && 82 obj->layer->evas->pointer.y, 1, 1) &&
83 obj->cur.visible) 83 obj->cur.visible)
84 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); 84 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
85 } 85 }
86 } 86 }
87 evas_object_inform_call_restack(obj); 87 evas_object_inform_call_restack(obj);
@@ -127,7 +127,7 @@ evas_object_lower(Evas_Object *obj)
127 obj->layer->evas->pointer.x, 127 obj->layer->evas->pointer.x,
128 obj->layer->evas->pointer.y, 1, 1) && 128 obj->layer->evas->pointer.y, 1, 1) &&
129 obj->cur.visible) 129 obj->cur.visible)
130 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); 130 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
131 } 131 }
132 } 132 }
133 evas_object_inform_call_restack(obj); 133 evas_object_inform_call_restack(obj);
@@ -181,7 +181,7 @@ evas_object_stack_above(Evas_Object *obj, Evas_Object *above)
181 obj->layer->evas->pointer.x, 181 obj->layer->evas->pointer.x,
182 obj->layer->evas->pointer.y, 1, 1) && 182 obj->layer->evas->pointer.y, 1, 1) &&
183 obj->cur.visible) 183 obj->cur.visible)
184 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); 184 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
185 } 185 }
186 } 186 }
187 evas_object_inform_call_restack(obj); 187 evas_object_inform_call_restack(obj);
@@ -235,7 +235,7 @@ evas_object_stack_below(Evas_Object *obj, Evas_Object *below)
235 obj->layer->evas->pointer.x, 235 obj->layer->evas->pointer.x,
236 obj->layer->evas->pointer.y, 1, 1) && 236 obj->layer->evas->pointer.y, 1, 1) &&
237 obj->cur.visible) 237 obj->cur.visible)
238 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); 238 evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
239 } 239 }
240 } 240 }
241 evas_object_inform_call_restack(obj); 241 evas_object_inform_call_restack(obj);
diff --git a/legacy/evas/src/lib/include/evas_private.h b/legacy/evas/src/lib/include/evas_private.h
index b460e68..daf8eb1 100644
--- a/legacy/evas/src/lib/include/evas_private.h
+++ b/legacy/evas/src/lib/include/evas_private.h
@@ -38,6 +38,13 @@ typedef enum _Evas_Callback_Type
38 EVAS_CALLBACK_RESTACK 38 EVAS_CALLBACK_RESTACK
39} Evas_Callback_Type; 39} Evas_Callback_Type;
40 40
41typedef enum _Evas_Button_Flags
42{
43 EVAS_BUTTON_NONE = 0,
44 EVAS_BUTTON_DOUBLE_CLICK = (1 << 0),
45 EVAS_BUTTON_TRIPLE_CLICK = (1 << 1)
46} Evas_Button_Flags;
47
41typedef struct _Evas_Rectangle Evas_Rectangle; 48typedef struct _Evas_Rectangle Evas_Rectangle;
42 49
43typedef struct _Evas Evas; 50typedef struct _Evas Evas;