distinguish touch screen and pointer dnd in client
authorXiong Zhang <xiong.y.zhang@intel.com>
Mon, 25 Nov 2013 10:42:51 +0000 (18:42 +0800)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 26 Nov 2013 00:32:12 +0000 (16:32 -0800)
commitbf3c1c6913cf00e12a579a637abb8c4e68233a8c
tree27f9acb5b25600f48e5d6732904e4ae17593c358
parent853a7799d6a28a7ed1cae76c164dcafb48b6253d
distinguish touch screen and pointer dnd in client

Data device interface in client just handle with pointer's dnd.
If a touch screen trigger dnd, it will use pointer struct like i
nput->sx, input->sy, input->pointer_focus. So if pointer is moving
when touch screen trigeer a dnd, wrong behaviore will occur.
Before touch screen start dnd, system call touch_grab()
to mark the following drag and drop operation is generated by
touch screen.
Defined some common variables in struct input to track dnd.

Note, touch screen and pointer can't generate drag and drop at the
same time, becuae data device protocol can't identify the drag
and drop event is generated by touch screen or pointer.

Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
Reviewed-by: Kristian Hogsberg <hoegsberg@gmail.com>
clients/dnd.c
clients/window.c
clients/window.h