extend key and mouse events

SVN revision: 12457
This commit is contained in:
Carsten Haitzler 2004-12-14 03:21:32 +00:00
parent 4536ce128e
commit 6a0b8df837
14 changed files with 148 additions and 204 deletions

View File

@ -98,15 +98,15 @@ main(int argc, char **argv)
pause_me = 2; pause_me = 2;
else else
pause_me = 1; pause_me = 1;
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
evas_event_feed_mouse_down(evas, ev.xbutton.button); evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
break; break;
case ButtonRelease: case ButtonRelease:
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
evas_event_feed_mouse_up(evas, ev.xbutton.button); evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
break; break;
case MotionNotify: case MotionNotify:
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y); evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
break; break;
case Expose: case Expose:
evas_damage_rectangle_add(evas, evas_damage_rectangle_add(evas,

View File

@ -101,15 +101,15 @@ main(int argc, char **argv)
pause_me = 2; pause_me = 2;
else else
pause_me = 1; pause_me = 1;
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
evas_event_feed_mouse_down(evas, ev.xbutton.button); evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
break; break;
case ButtonRelease: case ButtonRelease:
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
evas_event_feed_mouse_up(evas, ev.xbutton.button); evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
break; break;
case MotionNotify: case MotionNotify:
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y); evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
break; break;
case Expose: case Expose:
evas_damage_rectangle_add(evas, evas_damage_rectangle_add(evas,

View File

@ -37,19 +37,19 @@ void EvasTargetWidget::mousePressEvent(QMouseEvent *e)
{ {
if (fullscreen) disableFullscreen(); if (fullscreen) disableFullscreen();
else enableFullscreen(); else enableFullscreen();
evas_event_feed_mouse_move(evas, e->x(), e->y()); evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL);
evas_event_feed_mouse_down(evas, e->button()); evas_event_feed_mouse_down(evas, e->button(), EVAS_BUTTON_NONE, NULL);
} }
void EvasTargetWidget::mouseReleaseEvent(QMouseEvent *e) void EvasTargetWidget::mouseReleaseEvent(QMouseEvent *e)
{ {
evas_event_feed_mouse_move(evas, e->x(), e->y()); evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL);
evas_event_feed_mouse_up(evas, e->button()); evas_event_feed_mouse_up(evas, e->button(). EVAS_BUTTON_NONE, NULL);
} }
void EvasTargetWidget::mouseMoveEvent(QMouseEvent *e) void EvasTargetWidget::mouseMoveEvent(QMouseEvent *e)
{ {
evas_event_feed_mouse_move(evas, e->x(), e->y()); evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL);
} }
void EvasTargetWidget::paintEvent(QPaintEvent *e) void EvasTargetWidget::paintEvent(QPaintEvent *e)

View File

@ -192,15 +192,15 @@ main(int argc, char **argv)
else else
pause_me = 1; pause_me = 1;
#endif #endif
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
evas_event_feed_mouse_down(evas, ev.xbutton.button); evas_event_feed_mouse_down(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
break; break;
case ButtonRelease: case ButtonRelease:
evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y, NULL);
evas_event_feed_mouse_up(evas, ev.xbutton.button); evas_event_feed_mouse_up(evas, ev.xbutton.button, EVAS_BUTTON_NONE, NULL);
break; break;
case MotionNotify: case MotionNotify:
evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y); evas_event_feed_mouse_move(evas, ev.xmotion.x, ev.xmotion.y, NULL);
break; break;
case Expose: case Expose:
evas_damage_rectangle_add(evas, evas_damage_rectangle_add(evas,

View File

@ -47,6 +47,14 @@ enum _Evas_Callback_Type
}; };
typedef enum _Evas_Callback_Type Evas_Callback_Type; /**< The type of event to trigger the callback */ typedef enum _Evas_Callback_Type Evas_Callback_Type; /**< The type of event to trigger the callback */
enum _Evas_Button_Flags
{
EVAS_BUTTON_NONE = 0, /**< No extra mouse button data */
EVAS_BUTTON_DOUBLE_CLICK = (1 << 0), /**< This mouse button press was the 2nd press of a double click */
EVAS_BUTTON_TRIPLE_CLICK = (1 << 1) /**< This mouse button press was the 3rd press of a triple click */
};
typedef enum _Evas_Button_Flags Evas_Button_Flags; /**< Flags for Mouse Button events */
typedef struct _Evas_List Evas_List; /**< A generic linked list node handle */ typedef struct _Evas_List Evas_List; /**< A generic linked list node handle */
typedef struct _Evas_Rectangle Evas_Rectangle; /**< A generic rectangle handle */ typedef struct _Evas_Rectangle Evas_Rectangle; /**< A generic rectangle handle */
typedef struct _Evas_Smart_Class Evas_Smart_Class; /**< A smart object base class */ typedef struct _Evas_Smart_Class Evas_Smart_Class; /**< A smart object base class */
@ -165,6 +173,8 @@ struct _Evas_Event_Mouse_Down /** Mouse button press event */
void *data; void *data;
Evas_Modifier *modifiers; Evas_Modifier *modifiers;
Evas_Lock *locks; Evas_Lock *locks;
Evas_Button_Flags flags;
}; };
struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */ struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */
@ -179,6 +189,8 @@ struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */
void *data; void *data;
Evas_Modifier *modifiers; Evas_Modifier *modifiers;
Evas_Lock *locks; Evas_Lock *locks;
Evas_Button_Flags flags;
}; };
struct _Evas_Event_Mouse_In /** Mouse enter event */ struct _Evas_Event_Mouse_In /** Mouse enter event */
@ -238,7 +250,7 @@ struct _Evas_Event_Mouse_Wheel /** Wheel event */
Evas_Coord x, y; Evas_Coord x, y;
} canvas; } canvas;
void *data; void *data;
Evas_Modifier *modifiers; Evas_Modifier *modifiers;
Evas_Lock *locks; Evas_Lock *locks;
}; };
@ -249,6 +261,10 @@ struct _Evas_Event_Key_Down /** Key press event */
void *data; void *data;
Evas_Modifier *modifiers; Evas_Modifier *modifiers;
Evas_Lock *locks; Evas_Lock *locks;
char *key; /**< The logical key : (eg shift+1 == exclamation) */
char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
}; };
struct _Evas_Event_Key_Up /** Key release event */ struct _Evas_Event_Key_Up /** Key release event */
@ -257,6 +273,10 @@ struct _Evas_Event_Key_Up /** Key release event */
void *data; void *data;
Evas_Modifier *modifiers; Evas_Modifier *modifiers;
Evas_Lock *locks; Evas_Lock *locks;
char *key; /**< The logical key : (eg shift+1 == exclamation) */
char *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
char *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
}; };
#ifdef __cplusplus #ifdef __cplusplus
@ -480,23 +500,15 @@ extern "C" {
EAPI void evas_event_freeze (Evas *e); EAPI void evas_event_freeze (Evas *e);
EAPI void evas_event_thaw (Evas *e); EAPI void evas_event_thaw (Evas *e);
EAPI int evas_event_freeze_get (Evas *e); EAPI int evas_event_freeze_get (Evas *e);
EAPI void evas_event_feed_mouse_down_data (Evas *e, int b, const void *data); 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_data (Evas *e, int b, 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_data (Evas *e, int x, int y, 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_data (Evas *e, const void *data); EAPI void evas_event_feed_mouse_in (Evas *e, const void *data);
EAPI void evas_event_feed_mouse_out_data (Evas *e, const void *data); EAPI void evas_event_feed_mouse_out (Evas *e, const void *data);
EAPI void evas_event_feed_mouse_wheel_data (Evas *e, int direction, int z, 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_data (Evas *e, const char *keyname, 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_data (Evas *e, const char *keyname, 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);
EAPI void evas_event_feed_mouse_up (Evas *e, int b);
EAPI void evas_event_feed_mouse_move (Evas *e, int x, int y);
EAPI void evas_event_feed_mouse_in (Evas *e);
EAPI void evas_event_feed_mouse_out (Evas *e);
EAPI void evas_event_feed_mouse_wheel (Evas *e, int direction, int z);
EAPI void evas_event_feed_key_down (Evas *e, const char *keyname);
EAPI void evas_event_feed_key_up (Evas *e, const char *keyname);
EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus); EAPI void evas_object_focus_set (Evas_Object *obj, Evas_Bool focus);
EAPI Evas_Bool evas_object_focus_get (Evas_Object *obj); EAPI Evas_Bool evas_object_focus_get (Evas_Object *obj);

View File

@ -186,9 +186,10 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip)
if (evas_object_is_in_output_rect(obj, if (evas_object_is_in_output_rect(obj,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1)) obj->layer->evas->pointer.y, 1, 1))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
} }
@ -273,7 +274,8 @@ evas_object_clip_unset(Evas_Object *obj)
obj->layer->evas->pointer.y, 1, 1)) obj->layer->evas->pointer.y, 1, 1))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
} }

View File

@ -153,7 +153,7 @@ evas_event_freeze_get(Evas *e)
* *
*/ */
void void
evas_event_feed_mouse_down_data(Evas *e, int b, const void *data) evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, const void *data)
{ {
Evas_List *l, *copy; Evas_List *l, *copy;
@ -185,6 +185,7 @@ evas_event_feed_mouse_down_data(Evas *e, int b, const void *data)
ev.data = (void *)data; ev.data = (void *)data;
ev.modifiers = &(e->modifiers); ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks); ev.locks = &(e->locks);
ev.flags = flags;
if (!e->events_frozen) if (!e->events_frozen)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev); evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev);
} }
@ -198,47 +199,7 @@ evas_event_feed_mouse_down_data(Evas *e, int b, const void *data)
* *
*/ */
void void
evas_event_feed_mouse_wheel_data(Evas *e, int direction, int z, const void *data) evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *data)
{
Evas_List *l, *copy;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return;
MAGIC_CHECK_END();
if (e->events_frozen > 0) return;
copy = evas_event_list_copy(e->pointer.object.in);
for (l = copy; l; l = l->next)
{
Evas_Event_Mouse_Wheel ev;
Evas_Object *obj = l->data;
ev.direction = direction;
ev.z = z;
ev.output.x = e->pointer.x;
ev.output.y = e->pointer.y;
ev.canvas.x = e->pointer.canvas_x;
ev.canvas.y = e->pointer.canvas_y;
ev.data = (void *) data;
ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks);
if (!e->events_frozen)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev);
}
return;
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
{ {
Evas_List *l, *copy; Evas_List *l, *copy;
@ -269,6 +230,7 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
ev.data = (void *)data; ev.data = (void *)data;
ev.modifiers = &(e->modifiers); ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks); ev.locks = &(e->locks);
ev.flags = flags;
if (!e->events_frozen) if (!e->events_frozen)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev); evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev);
} }
@ -341,7 +303,7 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
/* and set up the new one */ /* and set up the new one */
e->pointer.object.in = ins; e->pointer.object.in = ins;
if (e->pointer.inside) if (e->pointer.inside)
evas_event_feed_mouse_move_data(e, e->pointer.x, e->pointer.y, data); evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, data);
} }
} }
@ -352,7 +314,47 @@ evas_event_feed_mouse_up_data(Evas *e, int b, const void *data)
* *
*/ */
void void
evas_event_feed_mouse_move_data(Evas *e, int x, int y, const void *data) evas_event_feed_mouse_wheel(Evas *e, int direction, int z, const void *data)
{
Evas_List *l, *copy;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return;
MAGIC_CHECK_END();
if (e->events_frozen > 0) return;
copy = evas_event_list_copy(e->pointer.object.in);
for (l = copy; l; l = l->next)
{
Evas_Event_Mouse_Wheel ev;
Evas_Object *obj = l->data;
ev.direction = direction;
ev.z = z;
ev.output.x = e->pointer.x;
ev.output.y = e->pointer.y;
ev.canvas.x = e->pointer.canvas_x;
ev.canvas.y = e->pointer.canvas_y;
ev.data = (void *) data;
ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks);
if (!e->events_frozen)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev);
}
return;
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_move(Evas *e, int x, int y, const void *data)
{ {
int px, py; int px, py;
Evas_Coord pcx, pcy; Evas_Coord pcx, pcy;
@ -542,7 +544,7 @@ evas_event_feed_mouse_move_data(Evas *e, int x, int y, const void *data)
* *
*/ */
void void
evas_event_feed_mouse_in_data(Evas *e, const void *data) evas_event_feed_mouse_in(Evas *e, const void *data)
{ {
Evas_List *ins; Evas_List *ins;
Evas_List *l; Evas_List *l;
@ -585,7 +587,7 @@ evas_event_feed_mouse_in_data(Evas *e, const void *data)
e->pointer.object.in = evas_list_free(e->pointer.object.in); e->pointer.object.in = evas_list_free(e->pointer.object.in);
/* and set up the new one */ /* and set up the new one */
e->pointer.object.in = ins; e->pointer.object.in = ins;
evas_event_feed_mouse_move_data(e, e->pointer.x, e->pointer.y, data); evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, data);
} }
/** /**
@ -595,7 +597,7 @@ evas_event_feed_mouse_in_data(Evas *e, const void *data)
* *
*/ */
void void
evas_event_feed_mouse_out_data(Evas *e, const void *data) evas_event_feed_mouse_out(Evas *e, const void *data)
{ {
MAGIC_CHECK(e, Evas, MAGIC_EVAS); MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return; return;
@ -644,7 +646,7 @@ evas_event_feed_mouse_out_data(Evas *e, const void *data)
* *
*/ */
void void
evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data) evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data)
{ {
MAGIC_CHECK(e, Evas, MAGIC_EVAS); MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return; return;
@ -660,6 +662,9 @@ evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data)
ev.data = (void *)data; ev.data = (void *)data;
ev.modifiers = &(e->modifiers); ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks); ev.locks = &(e->locks);
ev.key = key;
ev.string = string;
ev.compose = compose;
if (e->grabs) if (e->grabs)
{ {
Evas_List *l; Evas_List *l;
@ -722,7 +727,7 @@ evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data)
* *
*/ */
void void
evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data) evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, const void *data)
{ {
MAGIC_CHECK(e, Evas, MAGIC_EVAS); MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return; return;
@ -738,6 +743,9 @@ evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data)
ev.data = (void *)data; ev.data = (void *)data;
ev.modifiers = &(e->modifiers); ev.modifiers = &(e->modifiers);
ev.locks = &(e->locks); ev.locks = &(e->locks);
ev.key = key;
ev.string = string;
ev.compose = compose;
if (e->grabs) if (e->grabs)
{ {
Evas_List *l; Evas_List *l;
@ -793,102 +801,6 @@ evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data)
} }
} }
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_down(Evas *e, int b)
{
evas_event_feed_mouse_down_data(e, b, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_up(Evas *e, int b)
{
evas_event_feed_mouse_up_data(e, b, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_move(Evas *e, int x, int y)
{
evas_event_feed_mouse_move_data(e, x, y, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_in(Evas *e)
{
evas_event_feed_mouse_in_data(e, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_out(Evas *e)
{
evas_event_feed_mouse_out_data(e, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_mouse_wheel(Evas *e, int direction, int z)
{
evas_event_feed_mouse_wheel_data(e, direction, z, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_key_down(Evas *e, const char *keyname)
{
evas_event_feed_key_down_data(e, keyname, NULL);
}
/**
* To be documented.
*
* FIXME: To be fixed.
*
*/
void
evas_event_feed_key_up(Evas *e, const char *keyname)
{
evas_event_feed_key_up_data(e, keyname, NULL);
}
/** /**
* To be documented. * To be documented.
* *
@ -907,7 +819,8 @@ evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
obj->layer->evas->pointer.y, 1, 1)) obj->layer->evas->pointer.y, 1, 1))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
/** /**
@ -942,8 +855,9 @@ evas_object_repeat_events_set(Evas_Object *obj, Evas_Bool repeat)
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1)) obj->layer->evas->pointer.y, 1, 1))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
/** /**

View File

@ -169,7 +169,7 @@ evas_object_layer_set(Evas_Object *obj, int l)
obj->layer->evas->pointer.y, 1, 1) && obj->layer->evas->pointer.y, 1, 1) &&
obj->cur.visible) obj->cur.visible)
if (evas_list_find(obj->layer->evas->pointer.object.in, obj)) 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); evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
} }
evas_object_inform_call_restack(obj); evas_object_inform_call_restack(obj);
} }

View File

@ -156,7 +156,8 @@ evas_object_line_xy_set(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coo
if ((is ^ was) && obj->cur.visible) if ((is ^ was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
evas_object_inform_call_move(obj); evas_object_inform_call_move(obj);
evas_object_inform_call_resize(obj); evas_object_inform_call_resize(obj);

View File

@ -487,7 +487,8 @@ evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
if ((is ^ was) && obj->cur.visible) if ((is ^ was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
} }
evas_object_inform_call_move(obj); evas_object_inform_call_move(obj);
@ -539,9 +540,10 @@ evas_object_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1); obj->layer->evas->pointer.y, 1, 1);
if ((is ^ was) && (obj->cur.visible)) if ((is ^ was) && (obj->cur.visible))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
} }
evas_object_inform_call_resize(obj); evas_object_inform_call_resize(obj);
@ -623,7 +625,8 @@ evas_object_show(Evas_Object *obj)
obj->layer->evas->pointer.y, 1, 1)) obj->layer->evas->pointer.y, 1, 1))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
} }
evas_object_inform_call_show(obj); evas_object_inform_call_show(obj);
@ -664,7 +667,8 @@ evas_object_hide(Evas_Object *obj)
obj->layer->evas->pointer.y, 1, 1)) obj->layer->evas->pointer.y, 1, 1))
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
if (obj->mouse_grabbed > 0) if (obj->mouse_grabbed > 0)
{ {
if (obj->layer->evas->pointer.mouse_grabbed > 0) if (obj->layer->evas->pointer.mouse_grabbed > 0)

View File

@ -151,7 +151,8 @@ evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y)
if ((is ^ was) && obj->cur.visible) if ((is ^ was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
evas_object_inform_call_move(obj); evas_object_inform_call_move(obj);
evas_object_inform_call_resize(obj); evas_object_inform_call_resize(obj);
@ -195,7 +196,8 @@ evas_object_polygon_points_clear(Evas_Object *obj)
if ((is || was) && obj->cur.visible) if ((is || was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
evas_object_inform_call_move(obj); evas_object_inform_call_move(obj);
evas_object_inform_call_resize(obj); evas_object_inform_call_resize(obj);
} }

View File

@ -715,7 +715,8 @@ evas_object_text_font_set(Evas_Object *obj, const char *font, Evas_Font_Size siz
if ((is ^ was) && obj->cur.visible) if ((is ^ was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
} }
evas_object_inform_call_resize(obj); evas_object_inform_call_resize(obj);
} }
@ -801,7 +802,8 @@ evas_object_text_text_set(Evas_Object *obj, const char *text)
if ((is || was) && obj->cur.visible) if ((is || was) && obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, evas_event_feed_mouse_move(obj->layer->evas,
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y); obj->layer->evas->pointer.y,
NULL);
evas_object_inform_call_resize(obj); evas_object_inform_call_resize(obj);
} }

View File

@ -81,7 +81,7 @@ evas_object_raise(Evas_Object *obj)
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1) && obj->layer->evas->pointer.y, 1, 1) &&
obj->cur.visible) obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
} }
} }
evas_object_inform_call_restack(obj); evas_object_inform_call_restack(obj);
@ -127,7 +127,7 @@ evas_object_lower(Evas_Object *obj)
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1) && obj->layer->evas->pointer.y, 1, 1) &&
obj->cur.visible) obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
} }
} }
evas_object_inform_call_restack(obj); evas_object_inform_call_restack(obj);
@ -181,7 +181,7 @@ evas_object_stack_above(Evas_Object *obj, Evas_Object *above)
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1) && obj->layer->evas->pointer.y, 1, 1) &&
obj->cur.visible) obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
} }
} }
evas_object_inform_call_restack(obj); evas_object_inform_call_restack(obj);
@ -235,7 +235,7 @@ evas_object_stack_below(Evas_Object *obj, Evas_Object *below)
obj->layer->evas->pointer.x, obj->layer->evas->pointer.x,
obj->layer->evas->pointer.y, 1, 1) && obj->layer->evas->pointer.y, 1, 1) &&
obj->cur.visible) obj->cur.visible)
evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y); evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, obj->layer->evas->pointer.y, NULL);
} }
} }
evas_object_inform_call_restack(obj); evas_object_inform_call_restack(obj);

View File

@ -38,6 +38,13 @@ typedef enum _Evas_Callback_Type
EVAS_CALLBACK_RESTACK EVAS_CALLBACK_RESTACK
} Evas_Callback_Type; } Evas_Callback_Type;
typedef enum _Evas_Button_Flags
{
EVAS_BUTTON_NONE = 0,
EVAS_BUTTON_DOUBLE_CLICK = (1 << 0),
EVAS_BUTTON_TRIPLE_CLICK = (1 << 1)
} Evas_Button_Flags;
typedef struct _Evas_Rectangle Evas_Rectangle; typedef struct _Evas_Rectangle Evas_Rectangle;
typedef struct _Evas Evas; typedef struct _Evas Evas;