forked from enlightenment/efl
one way or the other i'm forced to add timestamps to events - i cant avoid it
anymore. sorry guys. really no way around it. :( SVN revision: 15891
This commit is contained in:
parent
b474b11ac2
commit
a1a07c06c3
|
@ -12,11 +12,11 @@ static int _ecore_evas_fps_debug = 0;
|
|||
static Ecore_Evas *ecore_evases = NULL;
|
||||
|
||||
static void
|
||||
_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y)
|
||||
_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
|
||||
{
|
||||
ee->mouse.x = x;
|
||||
ee->mouse.y = y;
|
||||
evas_event_feed_mouse_move(ee->evas, x, y, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -162,18 +162,22 @@ static void
|
|||
_ecore_evas_buffer_cb_mouse_in(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Ecore_Evas *ee;
|
||||
Evas_Event_Mouse_In *ev;
|
||||
|
||||
ee = data;
|
||||
evas_event_feed_mouse_in(ee->evas, NULL);
|
||||
ev = event_info;
|
||||
evas_event_feed_mouse_in(ee->evas, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_ecore_evas_buffer_cb_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Ecore_Evas *ee;
|
||||
Evas_Event_Mouse_Out *ev;
|
||||
|
||||
ee = data;
|
||||
evas_event_feed_mouse_out(ee->evas, NULL);
|
||||
ev = event_info;
|
||||
evas_event_feed_mouse_out(ee->evas, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -184,7 +188,7 @@ _ecore_evas_buffer_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *ob
|
|||
|
||||
ee = data;
|
||||
ev = event_info;
|
||||
evas_event_feed_mouse_down(ee->evas, ev->button, ev->flags, NULL);
|
||||
evas_event_feed_mouse_down(ee->evas, ev->button, ev->flags, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -195,7 +199,7 @@ _ecore_evas_buffer_cb_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj
|
|||
|
||||
ee = data;
|
||||
ev = event_info;
|
||||
evas_event_feed_mouse_up(ee->evas, ev->button, ev->flags, NULL);
|
||||
evas_event_feed_mouse_up(ee->evas, ev->button, ev->flags, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -210,7 +214,7 @@ _ecore_evas_buffer_cb_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *ob
|
|||
x = ev->cur.canvas.x;
|
||||
y = ev->cur.canvas.y;
|
||||
_ecore_evas_buffer_coord_translate(ee, &x, &y);
|
||||
_ecore_evas_mouse_move_process(ee, x, y);
|
||||
_ecore_evas_mouse_move_process(ee, x, y, ev->timestamp);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -221,7 +225,7 @@ _ecore_evas_buffer_cb_mouse_wheel(void *data, Evas *e __UNUSED__, Evas_Object *o
|
|||
|
||||
ee = data;
|
||||
ev = event_info;
|
||||
evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, NULL);
|
||||
evas_event_feed_mouse_wheel(ee->evas, ev->direction, ev->z, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -278,7 +282,7 @@ _ecore_evas_buffer_cb_key_down(void *data, Evas *e, Evas_Object *obj __UNUSED__,
|
|||
evas_key_lock_on(e, "Caps_Lock");
|
||||
else
|
||||
evas_key_lock_off(e, "Caps_Lock");
|
||||
evas_event_feed_key_down(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, NULL);
|
||||
evas_event_feed_key_down(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -325,7 +329,7 @@ _ecore_evas_buffer_cb_key_up(void *data, Evas *e, Evas_Object *obj __UNUSED__, v
|
|||
evas_key_lock_on(e, "Caps_Lock");
|
||||
else
|
||||
evas_key_lock_off(e, "Caps_Lock");
|
||||
evas_event_feed_key_up(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, NULL);
|
||||
evas_event_feed_key_up(ee->evas, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -486,7 +490,7 @@ ecore_evas_buffer_new(int w, int h)
|
|||
evas_key_lock_add(ee->evas, "Num_Lock");
|
||||
evas_key_lock_add(ee->evas, "Scroll_Lock");
|
||||
|
||||
evas_event_feed_mouse_in(ee->evas, NULL);
|
||||
evas_event_feed_mouse_in(ee->evas, 0, NULL);
|
||||
|
||||
ecore_evases = _ecore_list_prepend(ecore_evases, ee);
|
||||
return ee;
|
||||
|
|
|
@ -17,7 +17,7 @@ static Ecore_Event_Handler *ecore_evas_event_handlers[5];
|
|||
static Ecore_Idle_Enterer *ecore_evas_idle_enterer = NULL;
|
||||
|
||||
static void
|
||||
_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y)
|
||||
_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
|
||||
{
|
||||
int fbw, fbh;
|
||||
|
||||
|
@ -45,13 +45,13 @@ _ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y)
|
|||
(fbw - ee->w) + ee->w - x - 1 - ee->prop.cursor.hot.y);
|
||||
}
|
||||
if (ee->rotation == 0)
|
||||
evas_event_feed_mouse_move(ee->evas, x, y, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
|
||||
else if (ee->rotation == 90)
|
||||
evas_event_feed_mouse_move(ee->evas, (fbh - ee->h) + ee->h - y - 1, x, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, (fbh - ee->h) + ee->h - y - 1, x, timestamp, NULL);
|
||||
else if (ee->rotation == 180)
|
||||
evas_event_feed_mouse_move(ee->evas, (fbw - ee->w) + ee->w - x - 1, (fbh - ee->h) + ee->h - y - 1, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, (fbw - ee->w) + ee->w - x - 1, (fbh - ee->h) + ee->h - y - 1, timestamp, NULL);
|
||||
else if (ee->rotation == 270)
|
||||
evas_event_feed_mouse_move(ee->evas, y, (fbw - ee->w) + ee->w - x - 1, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, y, (fbw - ee->w) + ee->w - x - 1, timestamp, NULL);
|
||||
}
|
||||
|
||||
static Ecore_Evas *
|
||||
|
@ -107,7 +107,7 @@ _ecore_evas_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *eve
|
|||
e = event;
|
||||
ee = _ecore_evas_fb_match();
|
||||
if (!ee) return 1; /* pass on event */
|
||||
evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, NULL);
|
||||
evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
||||
return 0; /* dont pass it on */
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ _ecore_evas_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
e = event;
|
||||
ee = _ecore_evas_fb_match();
|
||||
if (!ee) return 1; /* pass on event */
|
||||
evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, NULL);
|
||||
evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
||||
return 0; /* dont pass it on */
|
||||
}
|
||||
|
||||
|
@ -134,10 +134,10 @@ _ecore_evas_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__,
|
|||
e = event;
|
||||
ee = _ecore_evas_fb_match();
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y);
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
|
||||
if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
|
||||
if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
|
||||
evas_event_feed_mouse_down(ee->evas, e->button, flags, NULL);
|
||||
evas_event_feed_mouse_down(ee->evas, e->button, flags, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
||||
return 0; /* dont pass it on */
|
||||
}
|
||||
|
||||
|
@ -150,8 +150,8 @@ _ecore_evas_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, vo
|
|||
e = event;
|
||||
ee = _ecore_evas_fb_match();
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y);
|
||||
evas_event_feed_mouse_up(ee->evas, e->button, EVAS_BUTTON_NONE, NULL);
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
|
||||
evas_event_feed_mouse_up(ee->evas, e->button, EVAS_BUTTON_NONE, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
||||
return 0; /* dont pass it on */
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,7 @@ _ecore_evas_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *e
|
|||
e = event;
|
||||
ee = _ecore_evas_fb_match();
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y);
|
||||
_ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
|
||||
return 0; /* dont pass it on */
|
||||
}
|
||||
|
||||
|
@ -311,7 +311,7 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation)
|
|||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
|
||||
else
|
||||
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
|
||||
_ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y);
|
||||
_ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
|
||||
if (ee->func.fn_resize) ee->func.fn_resize(ee);
|
||||
}
|
||||
|
||||
|
@ -532,7 +532,7 @@ ecore_evas_fb_new(char *disp_name, int rotation, int w, int h)
|
|||
evas_key_lock_add(ee->evas, "Num_Lock");
|
||||
evas_key_lock_add(ee->evas, "Scroll_Lock");
|
||||
|
||||
evas_event_feed_mouse_in(ee->evas, NULL);
|
||||
evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
|
||||
|
||||
ecore_evases = _ecore_list_prepend(ecore_evases, ee);
|
||||
return ee;
|
||||
|
|
|
@ -193,7 +193,7 @@ _ecore_evas_x_render(Ecore_Evas *ee)
|
|||
}
|
||||
|
||||
static void
|
||||
_ecore_evas_x_mouse_move_process(Ecore_Evas *ee, int x, int y)
|
||||
_ecore_evas_x_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
|
||||
{
|
||||
ee->mouse.x = x;
|
||||
ee->mouse.y = y;
|
||||
|
@ -218,13 +218,13 @@ _ecore_evas_x_mouse_move_process(Ecore_Evas *ee, int x, int y)
|
|||
ee->w - x - 1 - ee->prop.cursor.hot.y);
|
||||
}
|
||||
if (ee->rotation == 0)
|
||||
evas_event_feed_mouse_move(ee->evas, x, y, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
|
||||
else if (ee->rotation == 90)
|
||||
evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, timestamp, NULL);
|
||||
else if (ee->rotation == 180)
|
||||
evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, timestamp, NULL);
|
||||
else if (ee->rotation == 270)
|
||||
evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, NULL);
|
||||
evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
|
||||
}
|
||||
|
||||
static char *
|
||||
|
@ -329,7 +329,7 @@ _ecore_evas_x_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *e
|
|||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, NULL);
|
||||
evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, e->time, NULL);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -343,7 +343,7 @@ _ecore_evas_x_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *eve
|
|||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, NULL);
|
||||
evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, e->time, NULL);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -358,10 +358,10 @@ _ecore_evas_x_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__
|
|||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
|
||||
if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
|
||||
if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
|
||||
evas_event_feed_mouse_down(ee->evas, e->button, flags, NULL);
|
||||
evas_event_feed_mouse_down(ee->evas, e->button, flags, e->time, NULL);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -375,8 +375,8 @@ _ecore_evas_x_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__,
|
|||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y);
|
||||
evas_event_feed_mouse_up(ee->evas, e->button, EVAS_BUTTON_NONE, NULL);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
|
||||
evas_event_feed_mouse_up(ee->evas, e->button, EVAS_BUTTON_NONE, e->time, NULL);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -393,8 +393,8 @@ _ecore_evas_x_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void
|
|||
return 1; /* pass on event */
|
||||
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y);
|
||||
evas_event_feed_mouse_wheel(ee->evas, e->direction, e->z, NULL);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
|
||||
evas_event_feed_mouse_wheel(ee->evas, e->direction, e->z, e->time, NULL);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ _ecore_evas_x_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void
|
|||
ee = _ecore_evas_x_match(e->win);
|
||||
if (!ee) return 1; /* pass on event */
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -426,8 +426,8 @@ _ecore_evas_x_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *e
|
|||
/* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
|
||||
if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
evas_event_feed_mouse_in(ee->evas, NULL);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y);
|
||||
evas_event_feed_mouse_in(ee->evas, e->time, NULL);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -443,8 +443,8 @@ _ecore_evas_x_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *
|
|||
if (e->event_win == ee->engine.x.win_container) return 0;
|
||||
/* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
|
||||
_ecore_evas_x_modifier_locks_update(ee, e->modifiers);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y);
|
||||
evas_event_feed_mouse_out(ee->evas, NULL);
|
||||
_ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
|
||||
evas_event_feed_mouse_out(ee->evas, e->time, NULL);
|
||||
if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
|
||||
if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
|
||||
return 1;
|
||||
|
@ -596,7 +596,8 @@ _ecore_evas_x_event_window_configure(void *data __UNUSED__, int type __UNUSED__,
|
|||
{
|
||||
if ((ee->expecting_resize.w == ee->w) &&
|
||||
(ee->expecting_resize.h == ee->h))
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y);
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
|
||||
ecore_x_current_time_get());
|
||||
ee->expecting_resize.w = 0;
|
||||
ee->expecting_resize.h = 0;
|
||||
}
|
||||
|
@ -1013,14 +1014,16 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
|
|||
ecore_evas_size_max_set(ee, maxh, maxw);
|
||||
ecore_evas_size_base_set(ee, baseh, basew);
|
||||
ecore_evas_size_step_set(ee, steph, stepw);
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y);
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
|
||||
ecore_x_current_time_get());
|
||||
}
|
||||
else
|
||||
{
|
||||
einfo->info.rotation = rotation;
|
||||
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
|
||||
ee->rotation = rotation;
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y);
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
|
||||
ecore_x_current_time_get());
|
||||
if (ee->func.fn_resize) ee->func.fn_resize(ee);
|
||||
}
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
|
@ -1432,7 +1435,8 @@ _ecore_evas_x_fullscreen_set(Ecore_Evas *ee, int on)
|
|||
{
|
||||
if ((ee->expecting_resize.w == ee->w) &&
|
||||
(ee->expecting_resize.h == ee->h))
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y);
|
||||
_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
|
||||
ecore_x_current_time_get());
|
||||
ee->expecting_resize.w = 0;
|
||||
ee->expecting_resize.h = 0;
|
||||
}
|
||||
|
|
|
@ -98,15 +98,15 @@ main(int argc, char **argv)
|
|||
pause_me = 2;
|
||||
else
|
||||
pause_me = 1;
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
case ButtonRelease:
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
case MotionNotify:
|
||||
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL);
|
||||
break;
|
||||
case Expose:
|
||||
evas_damage_rectangle_add(evas,
|
||||
|
|
|
@ -100,15 +100,15 @@ main(int argc, char **argv)
|
|||
pause_me = 2;
|
||||
else
|
||||
pause_me = 1;
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
case ButtonRelease:
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
case MotionNotify:
|
||||
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL);
|
||||
break;
|
||||
case Expose:
|
||||
evas_damage_rectangle_add(evas,
|
||||
|
|
|
@ -192,15 +192,15 @@ main(int argc, char **argv)
|
|||
else
|
||||
pause_me = 1;
|
||||
#endif
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
case ButtonRelease:
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, 0, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
case MotionNotify:
|
||||
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, 0, NULL);
|
||||
break;
|
||||
case Expose:
|
||||
evas_damage_rectangle_add(evas,
|
||||
|
|
|
@ -249,21 +249,21 @@ main(int argc, char **argv)
|
|||
else
|
||||
pause_me = 1;
|
||||
#endif
|
||||
evas_event_feed_mouse_move(evas, ev->event_x, ev->event_y, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev->state, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev->event_x, ev->event_y, 0, NULL);
|
||||
evas_event_feed_mouse_down(evas, ev->state, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
}
|
||||
case XCBButtonRelease: {
|
||||
XCBButtonReleaseEvent *ev = (XCBButtonReleaseEvent *)e;
|
||||
|
||||
evas_event_feed_mouse_move(evas, ev->event_x, ev->event_y, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev->state, EVAS_BUTTON_NONE, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev->event_x, ev->event_y, 0, NULL);
|
||||
evas_event_feed_mouse_up(evas, ev->state, EVAS_BUTTON_NONE, 0, NULL);
|
||||
break;
|
||||
}
|
||||
case XCBMotionNotify: {
|
||||
XCBMotionNotifyEvent *ev = (XCBMotionNotifyEvent *)e;
|
||||
|
||||
evas_event_feed_mouse_move(evas, ev->event_x, ev->event_y, NULL);
|
||||
evas_event_feed_mouse_move(evas, ev->event_x, ev->event_y, 0, NULL);
|
||||
break;
|
||||
}
|
||||
case Expose: {
|
||||
|
|
|
@ -162,6 +162,7 @@ struct _Evas_Event_Mouse_Down /** Mouse button press event */
|
|||
Evas_Lock *locks;
|
||||
|
||||
Evas_Button_Flags flags;
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */
|
||||
|
@ -178,6 +179,7 @@ struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */
|
|||
Evas_Lock *locks;
|
||||
|
||||
Evas_Button_Flags flags;
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Mouse_In /** Mouse enter event */
|
||||
|
@ -192,6 +194,7 @@ struct _Evas_Event_Mouse_In /** Mouse enter event */
|
|||
void *data;
|
||||
Evas_Modifier *modifiers;
|
||||
Evas_Lock *locks;
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Mouse_Out /** Mouse leave event */
|
||||
|
@ -206,6 +209,7 @@ struct _Evas_Event_Mouse_Out /** Mouse leave event */
|
|||
void *data;
|
||||
Evas_Modifier *modifiers;
|
||||
Evas_Lock *locks;
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Mouse_Move /** Mouse button down event */
|
||||
|
@ -222,6 +226,7 @@ struct _Evas_Event_Mouse_Move /** Mouse button down event */
|
|||
void *data;
|
||||
Evas_Modifier *modifiers;
|
||||
Evas_Lock *locks;
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Mouse_Wheel /** Wheel event */
|
||||
|
@ -240,6 +245,7 @@ struct _Evas_Event_Mouse_Wheel /** Wheel event */
|
|||
void *data;
|
||||
Evas_Modifier *modifiers;
|
||||
Evas_Lock *locks;
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Key_Down /** Key press event */
|
||||
|
@ -252,6 +258,7 @@ struct _Evas_Event_Key_Down /** Key press event */
|
|||
const char *key; /**< The logical key : (eg shift+1 == exclamation) */
|
||||
const char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
|
||||
const char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Event_Key_Up /** Key release event */
|
||||
|
@ -264,6 +271,7 @@ struct _Evas_Event_Key_Up /** Key release event */
|
|||
const char *key; /**< The logical key : (eg shift+1 == exclamation) */
|
||||
const char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
|
||||
const char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
|
||||
unsigned int timestamp;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -518,14 +526,14 @@ extern "C" {
|
|||
EAPI void evas_event_freeze (Evas *e);
|
||||
EAPI void evas_event_thaw (Evas *e);
|
||||
EAPI int evas_event_freeze_get (Evas *e);
|
||||
EAPI void evas_event_feed_mouse_down (Evas *e, int b, Evas_Button_Flags flags, const void *data);
|
||||
EAPI void evas_event_feed_mouse_up (Evas *e, int b, Evas_Button_Flags flags, const void *data);
|
||||
EAPI void evas_event_feed_mouse_move (Evas *e, int x, int y, const void *data);
|
||||
EAPI void evas_event_feed_mouse_in (Evas *e, const void *data);
|
||||
EAPI void evas_event_feed_mouse_out (Evas *e, const void *data);
|
||||
EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z, const void *data);
|
||||
EAPI void evas_event_feed_key_down (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data);
|
||||
EAPI void evas_event_feed_key_up (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data);
|
||||
EAPI void evas_event_feed_mouse_down (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_mouse_up (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_mouse_move (Evas *e, int x, int y, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_mouse_in (Evas *e, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_mouse_out (Evas *e, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_key_down (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
|
||||
EAPI void evas_event_feed_key_up (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
|
||||
|
||||
EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus);
|
||||
EAPI Evas_Bool evas_object_focus_get (Evas_Object *obj);
|
||||
|
|
|
@ -202,6 +202,7 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
@ -289,6 +290,7 @@ evas_object_clip_unset(Evas_Object *obj)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -183,7 +183,7 @@ evas_event_freeze_get(Evas *e)
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, const void *data)
|
||||
evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
|
||||
{
|
||||
Evas_List *l, *copy;
|
||||
|
||||
|
@ -196,6 +196,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, const void *
|
|||
e->pointer.button |= (1 << (b - 1));
|
||||
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
for (l = copy; l; l = l->next)
|
||||
|
@ -216,6 +217,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, const void *
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.flags = flags;
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev);
|
||||
}
|
||||
|
@ -229,7 +231,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, const void *
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *data)
|
||||
evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
|
||||
{
|
||||
Evas_List *l, *copy;
|
||||
|
||||
|
@ -242,6 +244,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *da
|
|||
e->pointer.button &= ~(1 << (b - 1));
|
||||
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
for (l = copy; l; l = l->next)
|
||||
|
@ -261,6 +264,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *da
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.flags = flags;
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev);
|
||||
}
|
||||
|
@ -293,6 +297,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *da
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
|
||||
}
|
||||
|
@ -319,6 +324,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *da
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
|
||||
}
|
||||
|
@ -333,7 +339,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *da
|
|||
/* and set up the new one */
|
||||
e->pointer.object.in = ins;
|
||||
if (e->pointer.inside)
|
||||
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, data);
|
||||
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, timestamp, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -344,7 +350,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *da
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_mouse_wheel(Evas *e, int direction, int z, const void *data)
|
||||
evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestamp, const void *data)
|
||||
{
|
||||
Evas_List *l, *copy;
|
||||
|
||||
|
@ -353,6 +359,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, const void *data)
|
|||
MAGIC_CHECK_END();
|
||||
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
|
||||
|
@ -370,6 +377,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, const void *data)
|
|||
ev.data = (void *) data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev);
|
||||
}
|
||||
|
@ -385,7 +393,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, const void *data)
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
||||
evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const void *data)
|
||||
{
|
||||
int px, py;
|
||||
Evas_Coord pcx, pcy;
|
||||
|
@ -400,6 +408,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
pcy = e->pointer.canvas_y;
|
||||
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
|
||||
e->pointer.x = x;
|
||||
e->pointer.y = y;
|
||||
|
@ -441,6 +450,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, &ev);
|
||||
}
|
||||
|
@ -470,6 +480,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
|
||||
}
|
||||
|
@ -518,6 +529,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, &ev);
|
||||
}
|
||||
|
@ -536,6 +548,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
|
||||
}
|
||||
|
@ -561,6 +574,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
|
||||
}
|
||||
|
@ -579,7 +593,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_mouse_in(Evas *e, const void *data)
|
||||
evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data)
|
||||
{
|
||||
Evas_List *ins;
|
||||
Evas_List *l;
|
||||
|
@ -590,6 +604,7 @@ evas_event_feed_mouse_in(Evas *e, const void *data)
|
|||
e->pointer.inside = 1;
|
||||
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
|
||||
if (e->pointer.mouse_grabbed != 0) return;
|
||||
|
||||
|
@ -614,6 +629,7 @@ evas_event_feed_mouse_in(Evas *e, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
|
||||
}
|
||||
|
@ -622,7 +638,7 @@ evas_event_feed_mouse_in(Evas *e, const void *data)
|
|||
e->pointer.object.in = evas_list_free(e->pointer.object.in);
|
||||
/* and set up the new one */
|
||||
e->pointer.object.in = ins;
|
||||
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, data);
|
||||
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, timestamp, data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -632,7 +648,7 @@ evas_event_feed_mouse_in(Evas *e, const void *data)
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_mouse_out(Evas *e, const void *data)
|
||||
evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
|
@ -640,6 +656,7 @@ evas_event_feed_mouse_out(Evas *e, const void *data)
|
|||
e->pointer.inside = 0;
|
||||
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
|
||||
/* if our mouse button is grabbed to any objects */
|
||||
if (e->pointer.mouse_grabbed == 0)
|
||||
|
@ -665,6 +682,7 @@ evas_event_feed_mouse_out(Evas *e, const void *data)
|
|||
ev.data = (void *)data;
|
||||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
if (!e->events_frozen)
|
||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
|
||||
}
|
||||
|
@ -682,13 +700,14 @@ evas_event_feed_mouse_out(Evas *e, const void *data)
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data)
|
||||
evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
if (!keyname) return;
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
{
|
||||
Evas_Event_Key_Down ev;
|
||||
int exclusive;
|
||||
|
@ -701,6 +720,7 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch
|
|||
ev.key = key;
|
||||
ev.string = string;
|
||||
ev.compose = compose;
|
||||
ev.timestamp = timestamp;
|
||||
if (e->grabs)
|
||||
{
|
||||
Evas_List *l;
|
||||
|
@ -763,13 +783,14 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch
|
|||
*
|
||||
*/
|
||||
void
|
||||
evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data)
|
||||
evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
if (!keyname) return;
|
||||
if (e->events_frozen > 0) return;
|
||||
e->last_timestamp = timestamp;
|
||||
{
|
||||
Evas_Event_Key_Up ev;
|
||||
int exclusive;
|
||||
|
@ -782,6 +803,7 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char
|
|||
ev.key = key;
|
||||
ev.string = string;
|
||||
ev.compose = compose;
|
||||
ev.timestamp = timestamp;
|
||||
if (e->grabs)
|
||||
{
|
||||
Evas_List *l;
|
||||
|
@ -857,6 +879,7 @@ evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
@ -894,6 +917,7 @@ evas_object_repeat_events_set(Evas_Object *obj, Evas_Bool repeat)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -168,7 +168,11 @@ evas_object_layer_set(Evas_Object *obj, int l)
|
|||
obj->layer->evas->pointer.y, 1, 1) &&
|
||||
obj->cur.visible)
|
||||
if (evas_list_find(obj->layer->evas->pointer.object.in, obj))
|
||||
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
|
||||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
evas_object_inform_call_restack(obj);
|
||||
}
|
||||
|
|
|
@ -161,6 +161,7 @@ evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coo
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -494,6 +494,7 @@ evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
@ -558,6 +559,7 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
@ -645,6 +647,7 @@ evas_object_show(Evas_Object *obj)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
@ -691,6 +694,7 @@ evas_object_hide(Evas_Object *obj)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
if (obj->mouse_grabbed > 0)
|
||||
{
|
||||
|
|
|
@ -156,6 +156,7 @@ evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
@ -202,6 +203,7 @@ evas_object_polygon_points_clear(Evas_Object *obj)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
evas_object_inform_call_move(obj);
|
||||
evas_object_inform_call_resize(obj);
|
||||
|
|
|
@ -233,6 +233,7 @@ evas_object_text_font_set(Evas_Object *obj, const char *font, Evas_Font_Size siz
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
@ -321,6 +322,7 @@ evas_object_text_text_set(Evas_Object *obj, const char *text)
|
|||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
evas_object_inform_call_resize(obj);
|
||||
}
|
||||
|
|
|
@ -82,7 +82,11 @@ evas_object_raise(Evas_Object *obj)
|
|||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y, 1, 1) &&
|
||||
obj->cur.visible)
|
||||
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
|
||||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -131,7 +135,11 @@ evas_object_lower(Evas_Object *obj)
|
|||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y, 1, 1) &&
|
||||
obj->cur.visible)
|
||||
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
|
||||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -188,7 +196,11 @@ evas_object_stack_above(Evas_Object *obj, Evas_Object *above)
|
|||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y, 1, 1) &&
|
||||
obj->cur.visible)
|
||||
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
|
||||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -245,7 +257,11 @@ evas_object_stack_below(Evas_Object *obj, Evas_Object *below)
|
|||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y, 1, 1) &&
|
||||
obj->cur.visible)
|
||||
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
|
||||
evas_event_feed_mouse_move(obj->layer->evas,
|
||||
obj->layer->evas->pointer.x,
|
||||
obj->layer->evas->pointer.y,
|
||||
obj->layer->evas->last_timestamp,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -295,6 +295,7 @@ struct _Evas
|
|||
Evas_Object *focused;
|
||||
Evas_Modifier modifiers;
|
||||
Evas_Lock locks;
|
||||
unsigned int last_timestamp;
|
||||
};
|
||||
|
||||
struct _Evas_Layer
|
||||
|
|
Loading…
Reference in New Issue