pid_t pid; // pid of process on which gesture took place.
int state; // 0 - begin, 1 - ongoing, 2 - ended, 3 - aborted
int event_time;
+ int resource_id; // unique value identifying the window on which gesture took place in multi-window environment
} Gesture_Info;
typedef void (*GestureCB)(void *data, const Eldbus_Message *msg);
{
DEBUG("START");
AtspiAccessible *obj = NULL;
-
+ // TODO: use info->resource_id instead of (x_beg, y_beg) in order to determine window
_window_at_point_check(nd, info->x_beg, info->y_beg);
if ((nd->last_focus.x == info->x_beg) && (nd->last_focus.y == info->y_beg))
return;
}
- if (!eldbus_message_arguments_get(msg, "iiiiiiu", &g_type, &info->x_beg,
+ if (!eldbus_message_arguments_get(msg, "iiiiiiuu", &g_type, &info->x_beg,
&info->y_beg, &info->x_end, &info->y_end,
- &info->state, &info->event_time)) {
+ &info->state, &info->event_time,
+ &info->resource_id)) {
DEBUG("Getting message arguments failed");
g_free(info);
return;
}
info->type = (Gesture)g_type;
- DEBUG("Incoming gesture name is %s : %d %d %d %d %d", utils_enum_to_string(info->type),
- info->x_beg, info->y_beg, info->x_end, info->y_end, info->state);
+ DEBUG("Incoming gesture name is %s : %d %d %d %d %d %d", utils_enum_to_string(info->type),
+ info->x_beg, info->y_beg, info->x_end, info->y_end, info->state, info->resource_id);
_on_auto_review_stop(nd);