Evas: Move Object_Pointer_Mode to Efl.Event
authorJean-Philippe Andre <jp.andre@samsung.com>
Fri, 17 Jun 2016 02:32:25 +0000 (11:32 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Fri, 17 Jun 2016 02:37:39 +0000 (11:37 +0900)
src/lib/efl/interfaces/efl_event_types.eot
src/lib/evas/Evas_Common.h
src/lib/evas/canvas/evas_object.eo
src/lib/evas/canvas/evas_types.eot

index 41a399a..2cb1fa7 100644 (file)
@@ -15,7 +15,7 @@ enum Efl.Pointer.Action
    in,     [[Mouse or pointer entered the object.]]
    out,    [[Mouse or pointer exited the object.]]
    wheel,  [[Mouse wheel scroll, horizontally or vertically.]]
-   axis,   [[Joystick event.]]
+   axis,   [[Axis event (pen, stick, ...).]]
 }
 
 enum Efl.Pointer.Flags
@@ -41,3 +41,27 @@ enum Efl.Event.Flags
                            purposes and maybe some indications visually, but not
                            actually perform anything.]]
 }
+
+enum Efl.Event.Object_Pointer_Mode {
+   [[How the mouse pointer should be handled by EFL.
+
+     In the mode $autograb, when a mouse button is pressed down over an
+     object and held down, with the mouse pointer being moved outside of it,
+     the pointer still behaves as being bound to that object, albeit out
+     of its drawing region. When the button is released, the event will
+     be fed to the object, that may check if the final position is over it
+     or not and do something about it.
+
+     In the mode $nograb, the pointer will always be bound to the object
+     right below it.
+   ]]
+   auto_grab, [[Default, X11-like.]]
+   no_grab,   [[Pointer always bound to the object right below it.]]
+   no_grab_no_repeat_updown [[Useful on object with "repeat events" enabled,
+                              where mouse/touch up and down events WON'T be
+                              repeated to objects and these objects wont be
+                              auto-grabbed.
+
+                              @since 1.2
+                            ]]
+}
index a6ccb3f..296f49f 100644 (file)
@@ -371,6 +371,12 @@ typedef Efl_Text_Bidirectional_Type        Evas_BiDi_Direction;
 #define EVAS_BIDI_DIRECTION_RTL            EFL_TEXT_BIDIRECTIONAL_TYPE_RTL
 #define EVAS_BIDI_DIRECTION_INHERIT        EFL_TEXT_BIDIRECTIONAL_TYPE_INHERIT
 
+typedef Efl_Event_Object_Pointer_Mode      Evas_Object_Pointer_Mode;
+
+#define EVAS_OBJECT_POINTER_MODE_AUTOGRAB EFL_EVENT_OBJECT_POINTER_MODE_AUTO_GRAB
+#define EVAS_OBJECT_POINTER_MODE_NOGRAB   EFL_EVENT_OBJECT_POINTER_MODE_NO_GRAB
+#define EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN EFL_EVENT_OBJECT_POINTER_MODE_NO_GRAB_NO_REPEAT_UPDOWN
+
 struct _Evas_Engine_Info /** Generic engine information. Generic info is useless */
 {
    int magic; /**< Magic number */
index 6d3fb54..c362bb3 100644 (file)
@@ -22,28 +22,24 @@ abstract Evas.Object (Eo.Base, Evas.Common_Interface, Efl.Gfx, Efl.Gfx.Stack,
          }
       }
       @property pointer_mode {
-         set {
-            [[Set pointer behavior.
+         [[Low-level pointer behaviour.
 
-              This function has direct effect on event callbacks related to
-              mouse.
+           This function has a direct effect on event callbacks related to
+           pointers (mouse, ...).
 
-              If $setting is EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when
-              mouse is down at this object, events will be restricted to
-              it as source, mouse moves, for example, will be emitted even
-              if outside this object area.
+           If the value is @Efl.Event.Object_Pointer_Mode.auto_grab (default),
+           then when mouse is pressed down over this object, events will be
+           restricted to it as source, mouse moves, for example, will be
+           emitted even when the pointer goes outside this objects
+           geometry.
 
-              If $setting is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events
-              will be emitted just when inside this object area.
+           If the value is @Efl.Event.Object_Pointer_Mode.no_grab, then events
+           will be emitted just when inside this object area.
 
-              The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB.
-            ]]
-         }
-         get {
-            [[Determine how pointer will behave.]]
-         }
+           The default value is @Efl.Event.Object_Pointer_Mode.auto_grab.
+         ]]
          values {
-            pointer_mode: Evas.Object_Pointer_Mode; [[Desired behavior.]]
+            pointer_mode: Efl.Event.Object_Pointer_Mode;
          }
       }
       @property render_op {
index 9f0db32..ee3cdcc 100644 (file)
@@ -4,30 +4,6 @@ struct @extern Evas.Video_Surface; /* FIXME: The structure is full of the unsupp
 type Evas.Modifier_Mask: ullong;  [[An Evas modifier mask type]]
 type Evas.Coord: int; [[A type for coordinates]]
 
-enum Evas.Object_Pointer_Mode {
-   [[How the mouse pointer should be handled by Evas.
-
-     In the mode #EVAS_OBJECT_POINTER_MODE_AUTOGRAB, when a mouse button
-     is pressed down over an object and held, with the mouse pointer
-     being moved outside of it, the pointer still behaves as being bound
-     to that object, albeit out of its drawing region. When the button
-     is released, the event will be fed to the object, that may check if
-     the final position is over it or not and do something about it.
-
-     In the mode #EVAS_OBJECT_POINTER_MODE_NOGRAB, the pointer will
-     always be bound to the object right below it.
-   ]]
-   autograb, [[default, X11-like]]
-   nograb, [[pointer always bound to the object right below it]]
-   nograb_no_repeat_updown [[useful on object with "repeat events" enabled,
-                             where mouse/touch up and down events WONT be
-                             repeated to objects and these objects wont be
-                             auto-grabbed.
-
-                             @since 1.2
-                           ]]
-}
-
 enum Evas.Display_Mode {
    none = 0, [[Default mode]]
    compress = 1, [[Use this mode when you want to give compress display mode