From 6a0b8df83713efd774b608720ffbebee5212fa07 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 14 Dec 2004 03:21:32 +0000 Subject: [PATCH] extend key and mouse events SVN revision: 12457 --- legacy/evas/src/bin/evas_cairo_x11_main.c | 10 +- legacy/evas/src/bin/evas_gl_x11_main.c | 10 +- .../src/bin/evas_software_qtopia_main.cpp | 10 +- legacy/evas/src/bin/evas_software_x11_main.c | 10 +- legacy/evas/src/lib/Evas.h | 48 ++-- legacy/evas/src/lib/canvas/evas_clip.c | 8 +- legacy/evas/src/lib/canvas/evas_events.c | 210 ++++++------------ legacy/evas/src/lib/canvas/evas_layer.c | 2 +- legacy/evas/src/lib/canvas/evas_object_line.c | 3 +- legacy/evas/src/lib/canvas/evas_object_main.c | 14 +- .../evas/src/lib/canvas/evas_object_polygon.c | 6 +- legacy/evas/src/lib/canvas/evas_object_text.c | 6 +- legacy/evas/src/lib/canvas/evas_stack.c | 8 +- legacy/evas/src/lib/include/evas_private.h | 7 + 14 files changed, 148 insertions(+), 204 deletions(-) diff --git a/legacy/evas/src/bin/evas_cairo_x11_main.c b/legacy/evas/src/bin/evas_cairo_x11_main.c index c96d3d22ab..ca6be567d5 100644 --- a/legacy/evas/src/bin/evas_cairo_x11_main.c +++ b/legacy/evas/src/bin/evas_cairo_x11_main.c @@ -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); - evas_event_feed_mouse_down(evas, ev.xbutton.button); + 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); break; case ButtonRelease: - evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); - evas_event_feed_mouse_up(evas, ev.xbutton.button); + 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); break; 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; case Expose: evas_damage_rectangle_add(evas, diff --git a/legacy/evas/src/bin/evas_gl_x11_main.c b/legacy/evas/src/bin/evas_gl_x11_main.c index 001c334861..34c7c7ef22 100644 --- a/legacy/evas/src/bin/evas_gl_x11_main.c +++ b/legacy/evas/src/bin/evas_gl_x11_main.c @@ -101,15 +101,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); - evas_event_feed_mouse_down(evas, ev.xbutton.button); + 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); break; case ButtonRelease: - evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); - evas_event_feed_mouse_up(evas, ev.xbutton.button); + 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); break; 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; case Expose: evas_damage_rectangle_add(evas, diff --git a/legacy/evas/src/bin/evas_software_qtopia_main.cpp b/legacy/evas/src/bin/evas_software_qtopia_main.cpp index 6958b09c7b..95da38f7cb 100644 --- a/legacy/evas/src/bin/evas_software_qtopia_main.cpp +++ b/legacy/evas/src/bin/evas_software_qtopia_main.cpp @@ -37,19 +37,19 @@ void EvasTargetWidget::mousePressEvent(QMouseEvent *e) { if (fullscreen) disableFullscreen(); else enableFullscreen(); - evas_event_feed_mouse_move(evas, e->x(), e->y()); - evas_event_feed_mouse_down(evas, e->button()); + evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL); + evas_event_feed_mouse_down(evas, e->button(), EVAS_BUTTON_NONE, NULL); } void EvasTargetWidget::mouseReleaseEvent(QMouseEvent *e) { - evas_event_feed_mouse_move(evas, e->x(), e->y()); - evas_event_feed_mouse_up(evas, e->button()); + evas_event_feed_mouse_move(evas, e->x(), e->y(), NULL); + evas_event_feed_mouse_up(evas, e->button(). EVAS_BUTTON_NONE, NULL); } 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) diff --git a/legacy/evas/src/bin/evas_software_x11_main.c b/legacy/evas/src/bin/evas_software_x11_main.c index dc9beeb9ea..a8c88b8fea 100644 --- a/legacy/evas/src/bin/evas_software_x11_main.c +++ b/legacy/evas/src/bin/evas_software_x11_main.c @@ -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); - evas_event_feed_mouse_down(evas, ev.xbutton.button); + 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); break; case ButtonRelease: - evas_event_feed_mouse_move(evas, ev.xbutton.x, ev.xbutton.y); - evas_event_feed_mouse_up(evas, ev.xbutton.button); + 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); break; 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; case Expose: evas_damage_rectangle_add(evas, diff --git a/legacy/evas/src/lib/Evas.h b/legacy/evas/src/lib/Evas.h index 8d00bce981..58689bb99b 100644 --- a/legacy/evas/src/lib/Evas.h +++ b/legacy/evas/src/lib/Evas.h @@ -47,6 +47,14 @@ enum _Evas_Callback_Type }; 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_Rectangle Evas_Rectangle; /**< A generic rectangle handle */ 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; Evas_Modifier *modifiers; Evas_Lock *locks; + + Evas_Button_Flags flags; }; struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */ @@ -179,6 +189,8 @@ struct _Evas_Event_Mouse_Up /** Mouse butotn relase event */ void *data; Evas_Modifier *modifiers; Evas_Lock *locks; + + Evas_Button_Flags flags; }; struct _Evas_Event_Mouse_In /** Mouse enter event */ @@ -238,7 +250,7 @@ struct _Evas_Event_Mouse_Wheel /** Wheel event */ Evas_Coord x, y; } canvas; - void *data; + void *data; Evas_Modifier *modifiers; Evas_Lock *locks; }; @@ -249,6 +261,10 @@ struct _Evas_Event_Key_Down /** Key press event */ void *data; Evas_Modifier *modifiers; 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 */ @@ -257,6 +273,10 @@ struct _Evas_Event_Key_Up /** Key release event */ void *data; Evas_Modifier *modifiers; 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 @@ -480,23 +500,15 @@ 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_data (Evas *e, int b, const void *data); - EAPI void evas_event_feed_mouse_up_data (Evas *e, int b, 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_in_data (Evas *e, const void *data); - EAPI void evas_event_feed_mouse_out_data (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_key_down_data (Evas *e, const char *keyname, const void *data); - EAPI void evas_event_feed_key_up_data (Evas *e, const char *keyname, 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_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_object_focus_set (Evas_Object *obj, Evas_Bool focus); EAPI Evas_Bool evas_object_focus_get (Evas_Object *obj); diff --git a/legacy/evas/src/lib/canvas/evas_clip.c b/legacy/evas/src/lib/canvas/evas_clip.c index 35510649a8..753a58240a 100644 --- a/legacy/evas/src/lib/canvas/evas_clip.c +++ b/legacy/evas/src/lib/canvas/evas_clip.c @@ -186,9 +186,10 @@ evas_object_clip_set(Evas_Object *obj, Evas_Object *clip) if (evas_object_is_in_output_rect(obj, obj->layer->evas->pointer.x, 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.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)) evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.y, + NULL); } } diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c index f4a2b194e4..5f6bd8e1fc 100644 --- a/legacy/evas/src/lib/canvas/evas_events.c +++ b/legacy/evas/src/lib/canvas/evas_events.c @@ -153,7 +153,7 @@ evas_event_freeze_get(Evas *e) * */ 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; @@ -185,6 +185,7 @@ evas_event_feed_mouse_down_data(Evas *e, int b, const void *data) ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); + ev.flags = flags; if (!e->events_frozen) 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 -evas_event_feed_mouse_wheel_data(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_up_data(Evas *e, int b, const void *data) +evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, const void *data) { 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.modifiers = &(e->modifiers); ev.locks = &(e->locks); + ev.flags = flags; if (!e->events_frozen) 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 */ e->pointer.object.in = ins; 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 -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; Evas_Coord pcx, pcy; @@ -542,7 +544,7 @@ evas_event_feed_mouse_move_data(Evas *e, int x, int y, const void *data) * */ 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 *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); /* and set up the new one */ 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 -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); return; @@ -644,7 +646,7 @@ evas_event_feed_mouse_out_data(Evas *e, const void *data) * */ 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); return; @@ -660,6 +662,9 @@ evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data) ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); + ev.key = key; + ev.string = string; + ev.compose = compose; if (e->grabs) { Evas_List *l; @@ -722,7 +727,7 @@ evas_event_feed_key_down_data(Evas *e, const char *keyname, const void *data) * */ 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); return; @@ -738,6 +743,9 @@ evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data) ev.data = (void *)data; ev.modifiers = &(e->modifiers); ev.locks = &(e->locks); + ev.key = key; + ev.string = string; + ev.compose = compose; if (e->grabs) { 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. * @@ -907,7 +819,8 @@ evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass) obj->layer->evas->pointer.y, 1, 1)) evas_event_feed_mouse_move(obj->layer->evas, 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.y, 1, 1)) evas_event_feed_mouse_move(obj->layer->evas, - obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.x, + obj->layer->evas->pointer.y, + NULL); } /** diff --git a/legacy/evas/src/lib/canvas/evas_layer.c b/legacy/evas/src/lib/canvas/evas_layer.c index 824ad52ba4..cfc7c1c2cc 100644 --- a/legacy/evas/src/lib/canvas/evas_layer.c +++ b/legacy/evas/src/lib/canvas/evas_layer.c @@ -169,7 +169,7 @@ 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); + 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); } diff --git a/legacy/evas/src/lib/canvas/evas_object_line.c b/legacy/evas/src/lib/canvas/evas_object_line.c index 1a467e7a66..add7a12283 100644 --- a/legacy/evas/src/lib/canvas/evas_object_line.c +++ b/legacy/evas/src/lib/canvas/evas_object_line.c @@ -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) evas_event_feed_mouse_move(obj->layer->evas, 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_resize(obj); diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index 695abec8bf..8f46e28287 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c @@ -487,7 +487,8 @@ evas_object_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) if ((is ^ was) && obj->cur.visible) evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.y, + NULL); } } 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.y, 1, 1); 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.y); + obj->layer->evas->pointer.y, + NULL); } } evas_object_inform_call_resize(obj); @@ -623,7 +625,8 @@ evas_object_show(Evas_Object *obj) obj->layer->evas->pointer.y, 1, 1)) evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.y, + NULL); } } evas_object_inform_call_show(obj); @@ -664,7 +667,8 @@ evas_object_hide(Evas_Object *obj) obj->layer->evas->pointer.y, 1, 1)) evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.y, + NULL); if (obj->mouse_grabbed > 0) { if (obj->layer->evas->pointer.mouse_grabbed > 0) diff --git a/legacy/evas/src/lib/canvas/evas_object_polygon.c b/legacy/evas/src/lib/canvas/evas_object_polygon.c index 8ca53111b0..cc4cbdd871 100644 --- a/legacy/evas/src/lib/canvas/evas_object_polygon.c +++ b/legacy/evas/src/lib/canvas/evas_object_polygon.c @@ -151,7 +151,8 @@ evas_object_polygon_point_add(Evas_Object *obj, Evas_Coord x, Evas_Coord y) if ((is ^ was) && obj->cur.visible) evas_event_feed_mouse_move(obj->layer->evas, 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_resize(obj); @@ -195,7 +196,8 @@ evas_object_polygon_points_clear(Evas_Object *obj) if ((is || was) && obj->cur.visible) evas_event_feed_mouse_move(obj->layer->evas, 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_resize(obj); } diff --git a/legacy/evas/src/lib/canvas/evas_object_text.c b/legacy/evas/src/lib/canvas/evas_object_text.c index 9026951116..12e8877c65 100644 --- a/legacy/evas/src/lib/canvas/evas_object_text.c +++ b/legacy/evas/src/lib/canvas/evas_object_text.c @@ -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) evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.y, + NULL); } 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) evas_event_feed_mouse_move(obj->layer->evas, obj->layer->evas->pointer.x, - obj->layer->evas->pointer.y); + obj->layer->evas->pointer.y, + NULL); evas_object_inform_call_resize(obj); } diff --git a/legacy/evas/src/lib/canvas/evas_stack.c b/legacy/evas/src/lib/canvas/evas_stack.c index 04c7a27b04..abc560ee84 100644 --- a/legacy/evas/src/lib/canvas/evas_stack.c +++ b/legacy/evas/src/lib/canvas/evas_stack.c @@ -81,7 +81,7 @@ 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); + 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); @@ -127,7 +127,7 @@ 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); + 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); @@ -181,7 +181,7 @@ 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); + 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); @@ -235,7 +235,7 @@ 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); + 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); diff --git a/legacy/evas/src/lib/include/evas_private.h b/legacy/evas/src/lib/include/evas_private.h index b460e68da9..daf8eb14e5 100644 --- a/legacy/evas/src/lib/include/evas_private.h +++ b/legacy/evas/src/lib/include/evas_private.h @@ -38,6 +38,13 @@ typedef enum _Evas_Callback_Type EVAS_CALLBACK_RESTACK } 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 Evas;