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,
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,
{
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)
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,
};
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 */
void *data;
Evas_Modifier *modifiers;
Evas_Lock *locks;
+
+ Evas_Button_Flags flags;
};
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 */
Evas_Coord x, y;
} canvas;
- void *data;
+ void *data;
Evas_Modifier *modifiers;
Evas_Lock *locks;
};
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 */
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
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);
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);
}
}
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);
}
}
*
*/
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;
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);
}
*
*/
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;
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);
}
/* 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);
}
}
*
*/
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;
*
*/
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;
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);
}
/**
*
*/
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;
*
*/
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;
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;
*
*/
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;
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;
*
*/
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.
- *
- * FIXME: To be fixed.
- *
- */
-void
evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
{
MAGIC_CHECK(obj, Evas_Object, MAGIC_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);
}
/**
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);
}
/**
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);
}
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);
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);
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);
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);
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)
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);
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);
}
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);
}
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);
}
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);
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);
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);
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);
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;