Send mouse move event before mouse down event in ecore_extn.

SVN revision: 70906
This commit is contained in:
Jiyoun Park 2012-05-10 09:04:44 +00:00
parent 273885aa95
commit 5cad9b9417
3 changed files with 28 additions and 7 deletions

View File

@ -636,3 +636,7 @@
2012-05-10 Cedric Bail
* Reduce rounding error in ecore_animator_pos_map.
2012-05-10 Jiyoun Park
* Send mouse move event before mouse down event in ecore_extn

View File

@ -6,6 +6,7 @@ Fixes:
* ecore
- Prevent running out of fd when cycling ecore_init/ecore_shutdown.
- Reduce rounding error in ecore_animator_pos_map.
- Send mouse move event before mouse down event in ecore_extn
Ecore 1.2.0

View File

@ -672,14 +672,30 @@ _ecore_evas_extn_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj
if (!extn) return;
if (extn->ipc.server)
{
Ipc_Data_Ev_Mouse_Down ipc;
/* We have send mouse move event before mouse down event */
{
Ipc_Data_Ev_Mouse_Move ipc_move;
Evas_Coord x, y;
ipc.b = ev->button;
ipc.flags = ev->flags;
ipc.timestamp = ev->timestamp;
ipc.mask = _ecore_evas_modifiers_locks_mask_get(ee->evas);
ipc.event_flags = ev->event_flags;
ecore_ipc_server_send(extn->ipc.server, MAJOR, OP_EV_MOUSE_DOWN, 0, 0, 0, &ipc, sizeof(ipc));
x = ev->canvas.x;
y = ev->canvas.y;
_ecore_evas_extn_coord_translate(ee, &x, &y);
ipc_move.x = x;
ipc_move.y = y;
ipc_move.timestamp = ev->timestamp;
ipc_move.mask = _ecore_evas_modifiers_locks_mask_get(ee->evas);
ipc_move.event_flags = ev->event_flags;
ecore_ipc_server_send(extn->ipc.server, MAJOR, OP_EV_MOUSE_MOVE, 0, 0, 0, &ipc_move, sizeof(ipc_move));
}
{
Ipc_Data_Ev_Mouse_Down ipc;
ipc.b = ev->button;
ipc.flags = ev->flags;
ipc.timestamp = ev->timestamp;
ipc.mask = _ecore_evas_modifiers_locks_mask_get(ee->evas);
ipc.event_flags = ev->event_flags;
ecore_ipc_server_send(extn->ipc.server, MAJOR, OP_EV_MOUSE_DOWN, 0, 0, 0, &ipc, sizeof(ipc));
}
}
}