extend key and mouse events
authorCarsten Haitzler <raster@rasterman.com>
Tue, 14 Dec 2004 03:21:32 +0000 (03:21 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Tue, 14 Dec 2004 03:21:32 +0000 (03:21 +0000)
SVN revision: 12457

14 files changed:
legacy/evas/src/bin/evas_cairo_x11_main.c
legacy/evas/src/bin/evas_gl_x11_main.c
legacy/evas/src/bin/evas_software_qtopia_main.cpp
legacy/evas/src/bin/evas_software_x11_main.c
legacy/evas/src/lib/Evas.h
legacy/evas/src/lib/canvas/evas_clip.c
legacy/evas/src/lib/canvas/evas_events.c
legacy/evas/src/lib/canvas/evas_layer.c
legacy/evas/src/lib/canvas/evas_object_line.c
legacy/evas/src/lib/canvas/evas_object_main.c
legacy/evas/src/lib/canvas/evas_object_polygon.c
legacy/evas/src/lib/canvas/evas_object_text.c
legacy/evas/src/lib/canvas/evas_stack.c
legacy/evas/src/lib/include/evas_private.h

index c96d3d2..ca6be56 100644 (file)
@@ -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,
index 001c334..34c7c7e 100644 (file)
@@ -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,
index 6958b09..95da38f 100644 (file)
@@ -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)
index dc9beeb..a8c88b8 100644 (file)
@@ -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,
index 8d00bce..58689bb 100644 (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 */
 
+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);
 
index 3551064..753a582 100644 (file)
@@ -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);
      }
 }
 
index f4a2b19..5f6bd8e 100644 (file)
@@ -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;
@@ -800,102 +808,6 @@ evas_event_feed_key_up_data(Evas *e, const char *keyname, const void *data)
  * 
  */
 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);
@@ -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);
 }
 
 /**
index 824ad52..cfc7c1c 100644 (file)
@@ -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);
 }
index 1a467e7..add7a12 100644 (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)
          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);
index 695abec..8f46e28 100644 (file)
@@ -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)
index 8ca5311..cc4cbdd 100644 (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)
          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);
 }
index 9026951..12e8877 100644 (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)
          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);
 }
 
index 04c7a27..abc560e 100644 (file)
@@ -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);
index b460e68..daf8eb1 100644 (file)
@@ -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;