From 0a6cce196c0692e2c7ef694747dec976dd492cf0 Mon Sep 17 00:00:00 2001 From: Yossi Kantor Date: Thu, 13 Mar 2014 17:10:04 +0200 Subject: [PATCH] Eolian: Integration of Evas Draggable Interface --- src/Makefile_Evas.am | 10 +++-- src/lib/evas/Evas_Eo.h | 48 ++++++++++++----------- src/lib/evas/canvas/common_interfaces.c | 52 ++----------------------- src/lib/evas/canvas/evas_draggable_interface.eo | 14 +++++++ 4 files changed, 49 insertions(+), 75 deletions(-) create mode 100644 src/lib/evas/canvas/evas_draggable_interface.eo diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 8cd3028..1ac31f9 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -33,7 +33,9 @@ BUILT_SOURCES += \ lib/evas/canvas/evas_image.eo.c \ lib/evas/canvas/evas_image.eo.h \ lib/evas/canvas/evas_out.eo.c \ - lib/evas/canvas/evas_out.eo.h + lib/evas/canvas/evas_out.eo.h \ + lib/evas/canvas/evas_draggable_interface.eo.c \ + lib/evas/canvas/evas_draggable_interface.eo.h evaseolianfilesdir = $(datadir)/eolian/include/evas-@VMAJ@ evaseolianfiles_DATA = \ @@ -52,7 +54,8 @@ evaseolianfiles_DATA = \ lib/evas/canvas/evas.eo \ lib/evas/canvas/evas_grid.eo \ lib/evas/canvas/evas_image.eo \ - lib/evas/canvas/evas_out.eo + lib/evas/canvas/evas_out.eo \ + lib/evas/canvas/evas_draggable_interface.eo EXTRA_DIST += \ ${evaseolianfiles_DATA} @@ -86,7 +89,8 @@ nodist_installed_evascanvasheaders_DATA = \ lib/evas/canvas/evas.eo.h \ lib/evas/canvas/evas_grid.eo.h \ lib/evas/canvas/evas_image.eo.h \ - lib/evas/canvas/evas_out.eo.h + lib/evas/canvas/evas_out.eo.h \ + lib/evas/canvas/evas_draggable_interface.eo.h noinst_HEADERS = \ lib/evas/include/evas_inline.x \ diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index c53222e..3321cca 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -2,8 +2,6 @@ # error You shall not include this header directly #endif -#include "canvas/evas_signal_interface.eo.h" - EAPI extern const Eo_Event_Description _EVAS_OBJECT_EVENT_MOUSE_IN; EAPI extern const Eo_Event_Description _EVAS_OBJECT_EVENT_MOUSE_OUT; EAPI extern const Eo_Event_Description _EVAS_OBJECT_EVENT_MOUSE_DOWN; @@ -99,14 +97,14 @@ EAPI extern const Eo_Event_Description _SELECTION_CUT_EVENT; EAPI extern const Eo_Event_Description _SELECTION_START_EVENT; EAPI extern const Eo_Event_Description _SELECTION_CHANGED_EVENT; EAPI extern const Eo_Event_Description _SELECTION_CLEARED_EVENT; -EAPI extern const Eo_Event_Description _DRAG_EVENT; -EAPI extern const Eo_Event_Description _DRAG_START_EVENT; -EAPI extern const Eo_Event_Description _DRAG_STOP_EVENT; -EAPI extern const Eo_Event_Description _DRAG_END_EVENT; -EAPI extern const Eo_Event_Description _DRAG_START_UP_EVENT; -EAPI extern const Eo_Event_Description _DRAG_START_DOWN_EVENT; -EAPI extern const Eo_Event_Description _DRAG_START_RIGHT_EVENT; -EAPI extern const Eo_Event_Description _DRAG_START_LEFT_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_START_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_STOP_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_END_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_START_UP_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_START_DOWN_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_START_RIGHT_EVENT; +//EAPI extern const Eo_Event_Description _DRAG_START_LEFT_EVENT; #define EVAS_SMART_CLICKED_EVENT (&(_CLICKED_EVENT)) #define EVAS_SMART_CLICKED_DOUBLE_EVENT (&(_CLICKED_DOUBLE_EVENT)) @@ -131,28 +129,32 @@ EAPI extern const Eo_Event_Description _DRAG_START_LEFT_EVENT; #define EVAS_SMART_SELECTION_START_EVENT (&(_SELECTION_START_EVENT)) #define EVAS_SMART_SELECTION_CHANGED_EVENT (&(_SELECTION_CHANGED_EVENT)) #define EVAS_SMART_SELECTION_CLEARED_EVENT (&(_SELECTION_CLEARED_EVENT)) -#define EVAS_SMART_DRAG_EVENT (&(_DRAG_EVENT)) -#define EVAS_SMART_DRAG_START_EVENT (&(_DRAG_START_EVENT)) -#define EVAS_SMART_DRAG_STOP_EVENT (&(_DRAG_STOP_EVENT)) -#define EVAS_SMART_DRAG_END_EVENT (&(_DRAG_END_EVENT)) -#define EVAS_SMART_DRAG_START_UP_EVENT (&(_DRAG_START_UP_EVENT)) -#define EVAS_SMART_DRAG_START_DOWN_EVENT (&(_DRAG_START_DOWN_EVENT)) -#define EVAS_SMART_DRAG_START_RIGHT_EVENT (&(_DRAG_START_RIGHT_EVENT)) -#define EVAS_SMART_DRAG_START_LEFT_EVENT (&(_DRAG_START_LEFT_EVENT)) - -const Eo_Class *evas_smart_signal_interface_get(void) EINA_CONST; +//#define EVAS_SMART_DRAG_EVENT (&(_DRAG_EVENT)) +//#define EVAS_SMART_DRAG_START_EVENT (&(_DRAG_START_EVENT)) +//#define EVAS_SMART_DRAG_STOP_EVENT (&(_DRAG_STOP_EVENT)) +//#define EVAS_SMART_DRAG_END_EVENT (&(_DRAG_END_EVENT)) +//#define EVAS_SMART_DRAG_START_UP_EVENT (&(_DRAG_START_UP_EVENT)) +//#define EVAS_SMART_DRAG_START_DOWN_EVENT (&(_DRAG_START_DOWN_EVENT)) +//#define EVAS_SMART_DRAG_START_RIGHT_EVENT (&(_DRAG_START_RIGHT_EVENT)) +//#define EVAS_SMART_DRAG_START_LEFT_EVENT (&(_DRAG_START_LEFT_EVENT)) + + +//const Eo_Class *evas_smart_signal_interface_get(void) EINA_CONST; const Eo_Class *evas_smart_clickable_interface_get(void) EINA_CONST; const Eo_Class *evas_smart_scrollable_interface_get(void) EINA_CONST; const Eo_Class *evas_smart_zoomable_interface_get(void) EINA_CONST; const Eo_Class *evas_smart_selectable_interface_get(void) EINA_CONST; -const Eo_Class *evas_smart_draggable_interface_get(void) EINA_CONST; +//const Eo_Class *evas_smart_draggable_interface_get(void) EINA_CONST; -#define EVAS_SMART_SIGNAL_INTERFACE evas_smart_signal_interface_get() +//#define EVAS_SMART_SIGNAL_INTERFACE evas_smart_signal_interface_get() #define EVAS_SMART_CLICKABLE_INTERFACE evas_smart_clickable_interface_get() #define EVAS_SMART_SCROLLABLE_INTERFACE evas_smart_scrollable_interface_get() #define EVAS_SMART_ZOOMABLE_INTERFACE evas_smart_zoomable_interface_get() #define EVAS_SMART_SELECTABLE_INTERFACE evas_smart_selectable_interface_get() -#define EVAS_SMART_DRAGGABLE_INTERFACE evas_smart_draggable_interface_get() +//#define EVAS_SMART_DRAGGABLE_INTERFACE evas_smart_draggable_interface_get() + +#include "canvas/evas_signal_interface.eo.h" +#include "canvas/evas_draggable_interface.eo.h" #include "canvas/evas.eo.h" #define EVAS_CLASS EVAS_CANVAS_CLASS diff --git a/src/lib/evas/canvas/common_interfaces.c b/src/lib/evas/canvas/common_interfaces.c index bfd530c..638ba6a 100644 --- a/src/lib/evas/canvas/common_interfaces.c +++ b/src/lib/evas/canvas/common_interfaces.c @@ -74,30 +74,6 @@ EAPI const Eo_Event_Description _SELECTION_CHANGED_EVENT = EAPI const Eo_Event_Description _SELECTION_CLEARED_EVENT = EO_EVENT_DESCRIPTION("selection,cleared", ""); -EAPI const Eo_Event_Description _DRAG_EVENT = - EO_EVENT_DESCRIPTION("drag", ""); - -EAPI const Eo_Event_Description _DRAG_START_EVENT = - EO_EVENT_DESCRIPTION("drag,start", ""); - -EAPI const Eo_Event_Description _DRAG_STOP_EVENT = - EO_EVENT_DESCRIPTION("drag,stop", ""); - -EAPI const Eo_Event_Description _DRAG_END_EVENT = - EO_EVENT_DESCRIPTION("drag,end", ""); - -EAPI const Eo_Event_Description _DRAG_START_UP_EVENT = - EO_EVENT_DESCRIPTION("drag,start,up", ""); - -EAPI const Eo_Event_Description _DRAG_START_DOWN_EVENT = - EO_EVENT_DESCRIPTION("drag,start,down", ""); - -EAPI const Eo_Event_Description _DRAG_START_RIGHT_EVENT = - EO_EVENT_DESCRIPTION("drag,start,right", ""); - -EAPI const Eo_Event_Description _DRAG_START_LEFT_EVENT = - EO_EVENT_DESCRIPTION("drag,start,left", ""); - static const Eo_Event_Description *_clickable_events_desc[] = { EVAS_SMART_CLICKED_EVENT, EVAS_SMART_CLICKED_DOUBLE_EVENT, @@ -137,17 +113,7 @@ static const Eo_Event_Description *_selectable_events_desc[] = { NULL }; -static const Eo_Event_Description *_draggable_events_desc[] = { - EVAS_SMART_DRAG_EVENT, - EVAS_SMART_DRAG_START_EVENT, - EVAS_SMART_DRAG_STOP_EVENT, - EVAS_SMART_DRAG_END_EVENT, - EVAS_SMART_DRAG_START_UP_EVENT, - EVAS_SMART_DRAG_START_DOWN_EVENT, - EVAS_SMART_DRAG_START_RIGHT_EVENT, - EVAS_SMART_DRAG_START_LEFT_EVENT, - NULL -}; +static const Eo_Event_Description *_evas_draggable_interface_event_desc[]; #define ADD_SIGNAL(name, event) eina_hash_add(signals_hash_table, name, event) #define ADD_INTERFACE_SIGNALS(events_desc) \ @@ -180,7 +146,7 @@ _evas_signal_interface_class_constructor(Eo_Class *klass EINA_UNUSED) ADD_INTERFACE_SIGNALS(_scrollable_events_desc); ADD_INTERFACE_SIGNALS(_zoomable_events_desc); ADD_INTERFACE_SIGNALS(_selectable_events_desc); - ADD_INTERFACE_SIGNALS(_draggable_events_desc); + ADD_INTERFACE_SIGNALS(_evas_draggable_interface_event_desc); } #undef ADD_INTERFACE_SIGNALS #undef ADD_SIGNAL @@ -243,17 +209,5 @@ static const Eo_Class_Description selectable_interface_desc = { EO_DEFINE_CLASS(evas_smart_selectable_interface_get, &selectable_interface_desc, EVAS_SIGNAL_INTERFACE_CLASS, NULL); -static const Eo_Class_Description draggable_interface_desc = { - EO_VERSION, - "Evas_Draggable_Interface", - EO_CLASS_TYPE_INTERFACE, - EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0), - _draggable_events_desc, - 0, - NULL, - NULL -}; - -EO_DEFINE_CLASS(evas_smart_draggable_interface_get, &draggable_interface_desc, EVAS_SIGNAL_INTERFACE_CLASS, NULL); - #include "canvas/evas_signal_interface.eo.c" +#include "canvas/evas_draggable_interface.eo.c" diff --git a/src/lib/evas/canvas/evas_draggable_interface.eo b/src/lib/evas/canvas/evas_draggable_interface.eo new file mode 100644 index 0000000..54148e7 --- /dev/null +++ b/src/lib/evas/canvas/evas_draggable_interface.eo @@ -0,0 +1,14 @@ +interface Evas_Draggable_Interface (Evas_Signal_Interface) +{ + data: null; + events { + drag; + drag,start; + drag,stop; + drag,end; + drag,start,up; + drag,start,down; + drag,start,right; + drag,start,left; + } +} \ No newline at end of file -- 2.7.4