evas: Move event feed and input to legacy
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 11 May 2016 07:21:49 +0000 (16:21 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Tue, 31 May 2016 10:03:04 +0000 (19:03 +0900)
src/lib/ecore_evas/ecore_evas.c
src/lib/evas/Evas_Legacy.h
src/lib/evas/canvas/evas_canvas.eo
src/lib/evas/canvas/evas_events.c

index 499add6..4fc6130 100644 (file)
@@ -4353,7 +4353,7 @@ _direct_mouse_updown(Ecore_Evas *ee, const Ecore_Event_Mouse_Button *info, Efl_P
 
    eo_event_callback_call(e, EVAS_CANVAS_EVENT_POINTER, evt);
    processed = ev->evas_done;
-   eo_del(evt);
+   eo_unref(evt);
 
    return processed;
 }
index c1354e5..9932774 100644 (file)
@@ -408,6 +408,146 @@ EAPI void             evas_event_feed_mouse_down(Evas *obj, int b, Evas_Button_F
 EAPI void             evas_event_feed_mouse_wheel(Evas *obj, int direction, int z, unsigned int timestamp, const void *data);
 
 /**
+ * @brief Mouse in event feed.
+ *
+ * This function will set some evas properties that is necessary when the mouse
+ * in event happens. It prepares information to be treated by the callback
+ * function.
+ *
+ * @param[in] data The data for canvas.
+ */
+EAPI void             evas_event_feed_mouse_in(Evas *obj, unsigned int timestamp, const void *data);
+
+/**
+ * @brief Mouse out event feed.
+ *
+ * This function will set some evas properties that is necessar when the mouse
+ * out event happens. It prepares information to be treated by the callback
+ * function.
+ *
+ * @param[in] data The data for canvas.
+ */
+EAPI void             evas_event_feed_mouse_out(Evas *obj, unsigned int timestamp, const void *data);
+
+/**
+ * @brief Mouse cancel event feed.
+ *
+ * This function will call generate a mouse up event.
+ *
+ * @param[in] data The data for canvas.
+ */
+EAPI void             evas_event_feed_mouse_cancel(Evas *obj, unsigned int timestamp, const void *data);
+
+/* multi touch events - no doc */
+EAPI void             evas_event_input_multi_down(Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Efl_Pointer_Button_Flags flags, unsigned int timestamp, const void *data);
+EAPI void             evas_event_input_multi_move(Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data);
+EAPI void             evas_event_input_multi_up(Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Efl_Pointer_Button_Flags flags, unsigned int timestamp, const void *data);
+EAPI void             evas_event_feed_multi_down(Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Efl_Pointer_Button_Flags flags, unsigned int timestamp, const void *data);
+EAPI void             evas_event_feed_multi_move(Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data);
+EAPI void             evas_event_feed_multi_up(Evas *obj, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Efl_Pointer_Button_Flags flags, unsigned int timestamp, const void *data);
+
+/**
+ * @brief Key down event feed.
+ *
+ * This function will set some evas properties that is necessary when a key is
+ * pressed. It prepares information to be treated by the callback function.
+ *
+ * @param[in] key The key pressed.
+ * @param[in] string A string.
+ * @param[in] compose The compose string.
+ * @param[in] timestamp Timestamp of the mouse up event.
+ * @param[in] data Data for canvas.
+ */
+EAPI void             evas_event_feed_key_down(Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
+
+/**
+ * @brief Key up event feed.
+ *
+ * This function will set some evas properties that is necessary when a key is
+ * released. It prepares information to be treated by the callback function.
+ *
+ * @param[in] key The key released.
+ * @param[in] string A string.
+ * @param[in] compose Compose.
+ * @param[in] timestamp Timestamp of the mouse up event.
+ * @param[in] data Data for canvas.
+ */
+EAPI void             evas_event_feed_key_up(Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data);
+
+/**
+ * @brief Key down event feed with keycode.
+ *
+ * This function will set some evas properties that is necessary when a key is
+ * pressed. It prepares information to be treated by the callback function.
+ *
+ * @param[in] key The key released.
+ * @param[in] string A string.
+ * @param[in] compose Compose.
+ * @param[in] timestamp Timestamp of the mouse up event.
+ * @param[in] data Data for canvas.
+ * @param[in] keycode Key scan code numeric value for canvas.
+ *
+ * @since 1.10
+ */
+EAPI void             evas_event_feed_key_down_with_keycode(Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode);
+
+/**
+ * @brief Key up event feed with keycode.
+ *
+ * This function will set some evas properties that is necessary when a key is
+ * released. It prepares information to be treated by the callback function.
+ *
+ * @param[in] key The key released.
+ * @param[in] string A string.
+ * @param[in] compose Compose.
+ * @param[in] timestamp Timestamp of the mouse up event.
+ * @param[in] data Data for canvas.
+ * @param[in] keycode Key scan code numeric value for canvas.
+ *
+ * @since 1.10
+ */
+EAPI void             evas_event_feed_key_up_with_keycode(Evas *obj, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode);
+
+/**
+ * @brief Input device axis update event feed.
+ *
+ * This function will set some evas properties that is necessary when an e.g.
+ * stylus axis is updated. It prepares information to be treated by the
+ * callback function.
+ *
+ * @param[in] device System-provided device identifier.
+ * @param[in] toolid Type of tool currently being used.
+ * @param[in] naxes Number of elements in the \p axis array.
+ * @param[in] axis Array containing the current value of all updated axes.
+ * @param[in] data Data for canvas.
+ *
+ * @since 1.13
+ */
+EAPI void             evas_event_feed_axis_update(Evas *obj, unsigned int timestamp, int device, int toolid, int naxes, const Evas_Axis *axis, const void *data);
+
+/**
+ * @brief Hold event feed.
+ *
+ * This function makes the object to stop sending events.
+ *
+ * @param[in] timestamp The timestamp of the mouse up event.
+ * @param[in] data The data for canvas.
+ */
+EAPI void             evas_event_feed_hold(Evas *obj, int hold, unsigned int timestamp, const void *data);
+
+/**
+ * @brief Re feed event.
+ *
+ * This function re-feeds the event pointed by event_copy.
+ *
+ * This function call evas_event_feed_* functions, so it can cause havoc if not
+ * used wisely. Please use it responsibly.
+ *
+ * @param[in] event_type Event type.
+ */
+EAPI void             evas_event_refeed_event(Evas *obj, void *event_copy, Evas_Callback_Type event_type);
+
+/**
  * @}
  */
 
index 8bcf38c..16673ec 100644 (file)
@@ -410,8 +410,8 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
               canvas.
 
               When this function is called it will return a value of either
-              $false or $true, depending on if $event_feed_mouse_in or
-              $event_feed_mouse_out have been called to feed in a  mouse
+              $false or $true, depending on if event_feed_mouse_in or
+              event_feed_mouse_out have been called to feed in a  mouse
               enter event into the canvas.
 
               A return value of $true indicates the mouse is logically
@@ -504,7 +504,7 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
               any host system's pointing device abilities.
 
               A canvas by default begins with no mouse buttons being
-              pressed and only calls to $event_feed can alter that.
+              pressed and only pointer move events can alter that.
 
               The least significant bit corresponds to the first mouse
               button (button 1) and the most significant bit corresponds
@@ -561,22 +561,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
             @in keyname: const(char)* @nonull; [[The name of the lock to enable.]]
          }
       }
-      event_feed_key_down {
-         [[Key down event feed.
-
-           This function will set some evas properties that is necessary
-           when a key is pressed. It prepares information to be treated
-           by the callback function.
-         ]]
-         params {
-            @in keyname: const(char)*; [[Name of the key.]]
-            @in key: const(char)*; [[The key pressed.]]
-            @in string: const(char)*; [[A string.]]
-            @in compose: const(char)*; [[The compose string.]]
-            @in timestamp: uint; [[Timestamp of the mouse up event.]]
-            @in data: const(void)*; [[Data for canvas.]]
-         }
-      }
       key_modifier_mask_get @const {
          [[Creates a bit mask from the $keyname modifier key. Values
            returned from different calls to it may be ORed together,
@@ -636,61 +620,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
             @in keyname: const(char)* @nonull; [[The name of the modifier to disable.]]
          }
       }
-      event_feed_hold {
-         [[Hold event feed.
-
-           This function makes the object to stop sending events.
-         ]]
-         params {
-            @in hold: int; [[The hold.]]
-            @in timestamp: uint; [[The timestamp of the mouse up event.]]
-            @in data: const(void)*; [[The data for canvas.]]
-         }
-      }
-      event_feed_key_up {
-         [[Key up event feed.
-
-           This function will set some evas properties that is necessary
-           when a key is released. It prepares information to be treated
-           by the callback function.
-         ]]
-         params {
-            @in keyname: const(char)*; [[Name of the key.]]
-            @in key: const(char)*; [[The key released.]]
-            @in string: const(char)*; [[A string.]]
-            @in compose: const(char)*; [[Compose.]]
-            @in timestamp: uint; [[Timestamp of the mouse up event.]]
-            @in data: const(void)*; [[Data for canvas.]]
-         }
-      }
-      event_feed_mouse_out {
-         [[Mouse out event feed.
-
-           This function will set some evas properties that is necessar
-           when the mouse out event happens. It prepares information to
-           be treated by the callback function.
-         ]]
-         params {
-            @in timestamp: uint; [[Timestamp of the mouse up event.]]
-            @in data: const(void)*; [[The data for canvas.]]
-         }
-      }
-      event_input_multi_move {
-         params {
-            @in d: int;
-            @in x: int;
-            @in y: int;
-            @in rad: double;
-            @in radx: double;
-            @in rady: double;
-            @in pres: double;
-            @in ang: double;
-            @in fx: double;
-            @in fy: double;
-            @in timestamp: uint;
-            @in data: const(void)*;
-         }
-      }
       objects_at_xy_get @const {
          [[Retrieve a list of Evas objects lying over a given position in
            a canvas.
@@ -720,40 +649,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
             ]]
          }
       }
-      event_input_multi_up {
-         params {
-            @in d: int;
-            @in x: int;
-            @in y: int;
-            @in rad: double;
-            @in radx: double;
-            @in rady: double;
-            @in pres: double;
-            @in ang: double;
-            @in fx: double;
-            @in fy: double;
-            @in flags: Efl.Pointer.Button_Flags;
-            @in timestamp: uint;
-            @in data: const(void)*;
-         }
-      }
-      event_feed_multi_down {
-         params {
-            @in d: int;
-            @in x: int;
-            @in y: int;
-            @in rad: double;
-            @in radx: double;
-            @in rady: double;
-            @in pres: double;
-            @in ang: double;
-            @in fx: double;
-            @in fy: double;
-            @in flags: Efl.Pointer.Button_Flags;
-            @in timestamp: uint;
-            @in data: const(void)*;
-         }
-      }
       render_async {
          [[Render the given Evas canvas asynchronously.
 
@@ -833,23 +728,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
          */
          return: uint; [[The number of touched point on the evas.]]
       }
-      event_input_multi_down {
-         params {
-            @in d: int;
-            @in x: int;
-            @in y: int;
-            @in rad: double;
-            @in radx: double;
-            @in rady: double;
-            @in pres: double;
-            @in ang: double;
-            @in fx: double;
-            @in fy: double;
-            @in flags: Efl.Pointer.Button_Flags;
-            @in timestamp: uint;
-            @in data: const(void)*;
-         }
-      }
       nochange_pop {
          [[Pop the nochange flag down 1.
 
@@ -938,19 +816,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
             @in keyname: const(char)* @nonull; [[The name of the modifier to enable.]]
          }
       }
-      event_refeed_event {
-         [[Re feed event.
-
-           This function re-feeds the event pointed by event_copy.
-
-           This function call evas_event_feed_* functions, so it can
-           cause havoc if not used wisely. Please use it responsibly.
-         ]]
-         params {
-            @in event_copy: void *; [[The event to refeed.]]
-            @in event_type: Evas.Callback_Type; [[Event type.]]
-         }
-      }
       font_available_list @const {
          [[List of available font descriptions known or found by this evas.
 
@@ -1121,22 +986,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
             @in x: Evas.Coord; [[The canvas x coordinate.]]
          }
       }
-      event_feed_multi_move {
-         params {
-            @in d: int;
-            @in x: int;
-            @in y: int;
-            @in rad: double;
-            @in radx: double;
-            @in rady: double;
-            @in pres: double;
-            @in ang: double;
-            @in fx: double;
-            @in fy: double;
-            @in timestamp: uint;
-            @in data: const(void)*;
-         }
-      }
       render_updates {
          [[Force immediate renderization of the given Evas canvas.
 
@@ -1304,18 +1153,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
            @.render_idle_flush might discard too.
          ]]
       }
-      event_feed_mouse_in {
-         [[Mouse in event feed.
-
-           This function will set some evas properties that is necessary
-           when the mouse in event happens. It prepares information to be
-           treated by the callback function.
-         ]]
-         params {
-            @in timestamp: uint; [[The timestamp of the mouse up event.]]
-            @in data: const(void)*; [[The data for canvas.]]
-         }
-      }
       object_top_in_rectangle_get @const {
          [[Retrieve the Evas object stacked at the top of a given
            rectangular region in a canvas
@@ -1359,23 +1196,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
          [[Force renderization of the given canvas.]]
 
       }
-      event_feed_multi_up {
-         params {
-            @in d: int;
-            @in x: int;
-            @in y: int;
-            @in rad: double;
-            @in radx: double;
-            @in rady: double;
-            @in pres: double;
-            @in ang: double;
-            @in fx: double;
-            @in fy: double;
-            @in flags: Efl.Pointer.Button_Flags;
-            @in timestamp: uint;
-            @in data: const(void)*;
-         }
-      }
       font_path_prepend {
          [[Prepends a font path to the list of font paths used by the
            given evas.
@@ -1401,16 +1221,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
            @.damage_rectangle_add).
          ]]
       }
-      event_feed_mouse_cancel {
-         [[Mouse cancel event feed.
-
-           This function will call generate a mouse up event.
-         ]]
-         params {
-            @in timestamp: uint; [[The timestamp of the mouse up event.]]
-            @in data: const(void)*; [[The data for canvas.]]
-         }
-      }
       coord_screen_x_to_world @const {
          [[Convert/scale an output screen coordinate into canvas
            coordinates.
@@ -1497,62 +1307,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface, Efl.Animator)
             @in y: Evas.Coord; [[The canvas y coordinate.]]
          }
       }
-      event_feed_key_down_with_keycode {
-         [[Key down event feed with keycode.
-
-           This function will set some evas properties that is necessary
-           when a key is pressed. It prepares information to be treated
-           by the callback function.
-
-           @since 1.10
-         ]]
-         params {
-            @in keyname: const(char)*; [[Name of the key.]]
-            @in key: const(char)*; [[The key released.]]
-            @in string: const(char)*; [[A string.]]
-            @in compose: const(char)*; [[Compose.]]
-            @in timestamp: uint; [[Timestamp of the mouse up event.]]
-            @in data: const(void)*; [[Data for canvas.]]
-            @in keycode: uint; [[Key scan code numeric value for canvas.]]
-         }
-      }
-      event_feed_key_up_with_keycode {
-         [[Key up event feed with keycode.
-
-           This function will set some evas properties that is necessary
-           when a key is released. It prepares information to be treated
-           by the callback function.
-
-           @since 1.10
-         ]]
-         params {
-            @in keyname: const(char)*; [[Name of the key.]]
-            @in key: const(char)*; [[The key released.]]
-            @in string: const(char)*; [[A string.]]
-            @in compose: const(char)*; [[Compose.]]
-            @in timestamp: uint; [[Timestamp of the mouse up event.]]
-            @in data: const(void)*; [[Data for canvas.]]
-            @in keycode: uint; [[Key scan code numeric value for canvas.]]
-         }
-      }
-      event_feed_axis_update {
-         [[Input device axis update event feed.
-
-           This function will set some evas properties that is necessary
-           when an e.g. stylus axis is updated. It prepares information
-           to be treated by the callback function.
-
-           @since 1.13
-         ]]
-         params {
-            @in timestamp: uint; [[Timestamp of the axis event.]]
-            @in device: int; [[System-provided device identifier.]]
-            @in toolid: int; [[Type of tool currently being used.]]
-            @in naxes: int; [[Number of elements in the \p axis array.]]
-            @in axis: const(Evas.Axis)*; [[Array containing the current value of all updated axes.]]
-            @in data: const(void)*; [[Data for canvas.]]
-         }
-      }
    }
    implements {
       Eo.Base.constructor;
index 6fd112c..c4eb793 100644 (file)
@@ -1333,9 +1333,10 @@ evas_event_feed_mouse_up(Eo *eo_e, int b, Evas_Button_Flags flags, unsigned int
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_mouse_cancel(Eo *eo_e, Evas_Public_Data *e, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_mouse_cancel(Eo *eo_e, unsigned int timestamp, const void *data)
 {
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    Evas_Coord_Touch_Point *point;
    Eina_List *l, *ll;
    Evas_Event_Flags flags;
@@ -1923,10 +1924,10 @@ evas_event_feed_mouse_move(Eo *eo_e, int x, int y, unsigned int timestamp, const
    _canvas_event_feed_mouse_move_internal(eo_e, e, x, y, timestamp, data);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_mouse_in(Eo *eo_e, Evas_Public_Data *e, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_mouse_in(Eo *eo_e, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    Eina_List *ins;
    Eina_List *l;
    Evas_Event_Mouse_In ev;
@@ -1988,9 +1989,10 @@ _evas_canvas_event_feed_mouse_in(Eo *eo_e, Evas_Public_Data *e, unsigned int tim
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_mouse_out(Eo *eo_e, Evas_Public_Data *e, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_mouse_out(Eo *eo_e, unsigned int timestamp, const void *data)
 {
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    Evas_Event_Mouse_Out ev;
    int event_id = 0;
 
@@ -2142,10 +2144,10 @@ _canvas_event_feed_multi_down_internal(Evas *eo_e, void *_pd,
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_input_multi_down(Eo *eo_e, Evas_Public_Data *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_input_multi_down(Eo *eo_e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_multi_down_internal(eo_e, e, d,
                                           x - e->framespace.x,
                                           y - e->framespace.y,
@@ -2153,10 +2155,10 @@ _evas_canvas_event_input_multi_down(Eo *eo_e, Evas_Public_Data *e, int d, int x,
                                           fx, fy, flags, timestamp, data);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_multi_down(Eo *eo_e, Evas_Public_Data *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_multi_down(Eo *eo_e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_multi_down_internal(eo_e, e,
                                           d, x, y, rad, radx, rady, pres, ang,
                                           fx, fy, flags, timestamp, data);
@@ -2246,10 +2248,10 @@ _canvas_event_feed_multi_up_internal(Evas *eo_e, void *_pd,
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_input_multi_up(Eo *eo_e, Evas_Public_Data *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_input_multi_up(Eo *eo_e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_multi_up_internal(eo_e, e, d,
                                         x - e->framespace.x,
                                         y - e->framespace.y,
@@ -2258,10 +2260,10 @@ _evas_canvas_event_input_multi_up(Eo *eo_e, Evas_Public_Data *e, int d, int x, i
                                         data);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_multi_up(Eo *eo_e, Evas_Public_Data *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_multi_up(Eo *eo_e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_multi_up_internal(eo_e, e, d, x, y, rad, radx, rady,
                                         pres, ang, fx, fy, flags, timestamp, data);
 }
@@ -2438,20 +2440,20 @@ _canvas_event_feed_multi_move_internal(Eo *eo_e, void *_pd, int d, int x,
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_input_multi_move(Eo *eo_e, Evas_Public_Data *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_input_multi_move(Eo *eo_e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_multi_move_internal(eo_e, e, d,
                                           x - e->framespace.x, y - e->framespace.y,
                                           rad, radx, rady,
                                           pres, ang, fx, fy, timestamp, data);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_multi_move(Eo *eo_e, Evas_Public_Data *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_multi_move(Eo *eo_e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_multi_move_internal(eo_e, e, d, x, y, rad, radx, rady,
                                           pres, ang, fx, fy, timestamp, data);
 }
@@ -2667,38 +2669,42 @@ _canvas_event_feed_key_up_internal(Eo *eo_e,
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_key_down(Eo *eo_e, Evas_Public_Data *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_key_down(Eo *eo_e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)
 {
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_key_down_internal(eo_e, e, keyname, key, string,
                                         compose, timestamp, data, 0);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_key_up(Eo *eo_e, Evas_Public_Data *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_key_up(Eo *eo_e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)
 {
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_key_up_internal(eo_e, e, keyname, key, string,
                                       compose, timestamp, data, 0);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_key_down_with_keycode(Eo *eo_e, Evas_Public_Data *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode)
+EAPI void
+evas_event_feed_key_down_with_keycode(Eo *eo_e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode)
 {
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_key_down_internal(eo_e, e, keyname, key, string,
                                         compose, timestamp, data, keycode);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_key_up_with_keycode(Eo *eo_e, Evas_Public_Data *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode)
+EAPI void
+evas_event_feed_key_up_with_keycode(Eo *eo_e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data, unsigned int keycode)
 {
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    _canvas_event_feed_key_up_internal(eo_e, e, keyname, key, string,
                                       compose, timestamp, data, keycode);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_hold(Eo *eo_e, Evas_Public_Data *e, int hold, unsigned int timestamp, const void *data)
+EAPI void
+evas_event_feed_hold(Eo *eo_e, int hold, unsigned int timestamp, const void *data)
 {
-
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
    Eina_List *l, *copy;
    Evas_Event_Hold ev;
    Evas_Object *eo_obj;
@@ -2781,10 +2787,11 @@ _canvas_event_feed_axis_update_internal(Evas *eo_e, Evas_Public_Data *e, unsigne
    _evas_unwalk(e);
 }
 
-EOLIAN void
-_evas_canvas_event_feed_axis_update(Evas *eo_e, Evas_Public_Data *pd, unsigned int timestamp, int device, int toolid, int naxis, const Evas_Axis *axis, const void *data)
+EAPI void
+evas_event_feed_axis_update(Evas *eo_e, unsigned int timestamp, int device, int toolid, int naxis, const Evas_Axis *axis, const void *data)
 {
-   _canvas_event_feed_axis_update_internal(eo_e, pd, timestamp, device, toolid, naxis, axis, data);
+   Evas_Public_Data *e = eo_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+   _canvas_event_feed_axis_update_internal(eo_e, e, timestamp, device, toolid, naxis, axis, data);
 }
 
 static void
@@ -2941,10 +2948,9 @@ _evas_object_pointer_mode_get(Eo *eo_obj EINA_UNUSED, Evas_Object_Protected_Data
    return obj->pointer_mode;
 }
 
-EOLIAN void
-_evas_canvas_event_refeed_event(Eo *eo_e, Evas_Public_Data *e EINA_UNUSED, void *event_copy, Evas_Callback_Type event_type)
+EAPI void
+evas_event_refeed_event(Eo *eo_e, void *event_copy, Evas_Callback_Type event_type)
 {
-
    if (!event_copy) return;
 
    switch (event_type)