ecore-wl2: Add start of code for pointer button event

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-09-10 13:39:25 -04:00
parent 1f4b386664
commit 4731bb6eed
1 changed files with 27 additions and 3 deletions

View File

@ -54,6 +54,7 @@ static void
_pointer_cb_motion(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned int timestamp, wl_fixed_t sx, wl_fixed_t sy)
{
Ecore_Wl2_Input *input;
Ecore_Wl2_Window *window;
input = data;
if (!input) return;
@ -62,9 +63,6 @@ _pointer_cb_motion(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned
window = input->focus.pointer;
if (!window) return;
/* trap for a surface that was just destroyed */
if (!surface) return;
input->pointer.sx = wl_fixed_to_double(sx);
input->pointer.sy = wl_fixed_to_double(sy);
@ -83,6 +81,32 @@ _pointer_cb_button(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned
input = data;
if (!input) return;
if (state == WL_POINTER_BUTTON_STATE_PRESSED)
{
if ((input->focus.pointer) && (!input->grab.window))
{
/* TODO: issue input grab */
input->grab.timestamp = timestamp;
}
if (input->focus.pointer)
{
/* TODO: send mouse down event */
}
}
else
{
if (input->focus.pointer)
{
/* TODO: send mouse up event */
}
if ((input->grab.window) && (input->grab.button == button))
{
/* TODO: issue input ungrab */
}
}
}
static void