tests: print coords and devices in test-events

Print event coordinates on events other than motion and also track
the device and source device ids in ./tests/interactive/test-events

https://bugzilla.gnome.org/show_bug.cgi?id=684552
This commit is contained in:
Emanuele Aina 2012-09-21 14:44:07 +02:00 committed by Emmanuele Bassi
parent 042677b920
commit d587fa4e28

View File

@ -185,7 +185,14 @@ input_cb (ClutterActor *actor,
{ {
ClutterActor *stage = clutter_actor_get_stage (actor); ClutterActor *stage = clutter_actor_get_stage (actor);
ClutterActor *source_actor = clutter_event_get_source (event); ClutterActor *source_actor = clutter_event_get_source (event);
ClutterPoint position;
gchar keybuf[128]; gchar keybuf[128];
gint device_id;
gint source_device_id = 0;
device_id = clutter_event_get_device_id (event);
if (clutter_event_get_source_device (event) != NULL)
source_device_id = clutter_input_device_get_device_id (clutter_event_get_source_device (event));
switch (event->type) switch (event->type)
{ {
@ -202,38 +209,44 @@ input_cb (ClutterActor *actor,
keybuf); keybuf);
break; break;
case CLUTTER_MOTION: case CLUTTER_MOTION:
{ clutter_event_get_position (event, &position);
ClutterMotionEvent *motion = (ClutterMotionEvent *) event; g_print ("[%s] MOTION (coords:%.02f,%.02f device:%d/%d)",
clutter_actor_get_name (source_actor), position.x, position.y,
g_print ("[%s] MOTION (%.02f,%.02f)", device_id, source_device_id);
clutter_actor_get_name (source_actor), motion->x, motion->y);
}
break; break;
case CLUTTER_ENTER: case CLUTTER_ENTER:
g_print ("[%s] ENTER (from:%s)", g_print ("[%s] ENTER (from:%s device:%d/%d)",
clutter_actor_get_name (source_actor), clutter_actor_get_name (source_actor),
clutter_event_get_related (event) != NULL clutter_event_get_related (event) != NULL
? clutter_actor_get_name (clutter_event_get_related (event)) ? clutter_actor_get_name (clutter_event_get_related (event))
: "<out of stage>"); : "<out of stage>",
device_id, source_device_id);
break; break;
case CLUTTER_LEAVE: case CLUTTER_LEAVE:
g_print ("[%s] LEAVE (to:%s)", g_print ("[%s] LEAVE (to:%s device:%d/%d)",
clutter_actor_get_name (source_actor), clutter_actor_get_name (source_actor),
clutter_event_get_related (event) != NULL clutter_event_get_related (event) != NULL
? clutter_actor_get_name (clutter_event_get_related (event)) ? clutter_actor_get_name (clutter_event_get_related (event))
: "<out of stage>"); : "<out of stage>",
device_id, source_device_id);
break; break;
case CLUTTER_BUTTON_PRESS: case CLUTTER_BUTTON_PRESS:
g_print ("[%s] BUTTON PRESS (button:%i, click count:%i)", clutter_event_get_position (event, &position);
g_print ("[%s] BUTTON PRESS (button:%i, click count:%i coords:%.02f,%.02f device:%d/%d)",
clutter_actor_get_name (source_actor), clutter_actor_get_name (source_actor),
clutter_event_get_button (event), clutter_event_get_button (event),
clutter_event_get_click_count (event)); clutter_event_get_click_count (event),
position.x, position.y,
device_id, source_device_id);
break; break;
case CLUTTER_BUTTON_RELEASE: case CLUTTER_BUTTON_RELEASE:
g_print ("[%s] BUTTON RELEASE (button:%i, click count:%i)", clutter_event_get_position (event, &position);
g_print ("[%s] BUTTON RELEASE (button:%i, click count:%i coords:%.02f,%.02f device:%d/%d)",
clutter_actor_get_name (source_actor), clutter_actor_get_name (source_actor),
clutter_event_get_button (event), clutter_event_get_button (event),
clutter_event_get_click_count (event)); clutter_event_get_click_count (event),
position.x, position.y,
device_id, source_device_id);
if (source_actor == stage) if (source_actor == stage)
clutter_stage_set_key_focus (CLUTTER_STAGE (stage), NULL); clutter_stage_set_key_focus (CLUTTER_STAGE (stage), NULL);
@ -242,16 +255,25 @@ input_cb (ClutterActor *actor,
clutter_stage_set_key_focus (CLUTTER_STAGE (stage), actor); clutter_stage_set_key_focus (CLUTTER_STAGE (stage), actor);
break; break;
case CLUTTER_TOUCH_BEGIN: case CLUTTER_TOUCH_BEGIN:
g_print ("[%s] TOUCH BEGIN", clutter_event_get_position (event, &position);
clutter_actor_get_name (source_actor)); g_print ("[%s] TOUCH BEGIN (coords:%.02f,%.02f device:%d/%d)",
clutter_actor_get_name (source_actor),
position.x, position.y,
device_id, source_device_id);
break; break;
case CLUTTER_TOUCH_UPDATE: case CLUTTER_TOUCH_UPDATE:
g_print ("[%s] TOUCH UPDATE", clutter_event_get_position (event, &position);
clutter_actor_get_name (source_actor)); g_print ("[%s] TOUCH UPDATE (coords:%.02f,%.02f device:%d/%d)",
clutter_actor_get_name (source_actor),
position.x, position.y,
device_id, source_device_id);
break; break;
case CLUTTER_TOUCH_END: case CLUTTER_TOUCH_END:
g_print ("[%s] TOUCH END", clutter_event_get_position (event, &position);
clutter_actor_get_name (source_actor)); g_print ("[%s] TOUCH END (coords:%.02f,%.02f device:%d/%d)",
clutter_actor_get_name (source_actor),
position.x, position.y,
device_id, source_device_id);
break; break;
case CLUTTER_SCROLL: case CLUTTER_SCROLL:
{ {