add a cancel to all mouse butotn presses

SVN revision: 34607
This commit is contained in:
Carsten Haitzler 2008-05-19 04:15:22 +00:00
parent cd0fd38a9c
commit 906040dab0
2 changed files with 27 additions and 0 deletions

View File

@ -800,6 +800,7 @@ extern "C" {
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_cancel (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);

View File

@ -424,6 +424,32 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t
_evas_unwalk(e);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
EAPI void
evas_event_feed_mouse_cancel(Evas *e, unsigned int timestamp, const void *data)
{
int i;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return;
MAGIC_CHECK_END();
if (e->events_frozen > 0) return;
_evas_walk(e);
for (i = 0; i < 32; i++)
{
if ((e->pointer.button & (1 << i)))
evas_event_feed_mouse_up(e, i + 1, 0, timestamp, data);
}
_evas_unwalk(e);
}
/**
* To be documented.
*