summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-06-17 11:32:25 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-06-17 11:37:39 +0900
commita50a0f5d76e280456352b380cd4c06fc7cd56e2d (patch)
treeabd9ac7ef26b9168fcd5fa7769d21b41b417ff0a
parentf2fafb8044ff14eb18b39fbb392ba1503a327177 (diff)
downloadefl-a50a0f5d76e280456352b380cd4c06fc7cd56e2d.tar.gz
Evas: Move Object_Pointer_Mode to Efl.Event
-rw-r--r--src/lib/efl/interfaces/efl_event_types.eot26
-rw-r--r--src/lib/evas/Evas_Common.h6
-rw-r--r--src/lib/evas/canvas/evas_object.eo30
-rw-r--r--src/lib/evas/canvas/evas_types.eot24
4 files changed, 44 insertions, 42 deletions
diff --git a/src/lib/efl/interfaces/efl_event_types.eot b/src/lib/efl/interfaces/efl_event_types.eot
index 41a399a81e..2cb1fa7761 100644
--- a/src/lib/efl/interfaces/efl_event_types.eot
+++ b/src/lib/efl/interfaces/efl_event_types.eot
@@ -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
+ ]]
+}
diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h
index a6ccb3f116..296f49f8fa 100644
--- a/src/lib/evas/Evas_Common.h
+++ b/src/lib/evas/Evas_Common.h
@@ -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 */
diff --git a/src/lib/evas/canvas/evas_object.eo b/src/lib/evas/canvas/evas_object.eo
index 6d3fb54d9f..c362bb3920 100644
--- a/src/lib/evas/canvas/evas_object.eo
+++ b/src/lib/evas/canvas/evas_object.eo
@@ -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 {
diff --git a/src/lib/evas/canvas/evas_types.eot b/src/lib/evas/canvas/evas_types.eot
index 9f0db32d6b..ee3cdcc5d7 100644
--- a/src/lib/evas/canvas/evas_types.eot
+++ b/src/lib/evas/canvas/evas_types.eot
@@ -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