Eolian: Integration of Evas Zoomable Interface
authorYossi Kantor <yossi.kantor@samsung.com>
Thu, 13 Mar 2014 17:24:06 +0000 (19:24 +0200)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Sun, 16 Mar 2014 07:24:05 +0000 (09:24 +0200)
src/Makefile_Evas.am
src/lib/evas/Evas_Eo.h
src/lib/evas/canvas/common_interfaces.c
src/lib/evas/canvas/evas_zoomable_interface.eo [new file with mode: 0644]

index 8abdfb5..a916d31 100644 (file)
@@ -41,7 +41,9 @@ BUILT_SOURCES += \
                  lib/evas/canvas/evas_scrollable_interface.eo.c \
                  lib/evas/canvas/evas_scrollable_interface.eo.h \
                  lib/evas/canvas/evas_selectable_interface.eo.c \
-                 lib/evas/canvas/evas_selectable_interface.eo.h
+                 lib/evas/canvas/evas_selectable_interface.eo.h \
+                 lib/evas/canvas/evas_zoomable_interface.eo.c \
+                 lib/evas/canvas/evas_zoomable_interface.eo.h
 
 evaseolianfilesdir = $(datadir)/eolian/include/evas-@VMAJ@
 evaseolianfiles_DATA = \
@@ -64,8 +66,9 @@ evaseolianfiles_DATA = \
               lib/evas/canvas/evas_draggable_interface.eo \
               lib/evas/canvas/evas_clickable_interface.eo \
               lib/evas/canvas/evas_scrollable_interface.eo \
-              lib/evas/canvas/evas_selectable_interface.eo
-
+              lib/evas/canvas/evas_selectable_interface.eo \
+              lib/evas/canvas/evas_zoomable_interface.eo
+              
 EXTRA_DIST += \
               ${evaseolianfiles_DATA}
 
@@ -102,7 +105,8 @@ nodist_installed_evascanvasheaders_DATA = \
                                         lib/evas/canvas/evas_draggable_interface.eo.h \
                                         lib/evas/canvas/evas_clickable_interface.eo.h \
                                         lib/evas/canvas/evas_scrollable_interface.eo.h \
-                                        lib/evas/canvas/evas_selectable_interface.eo.h
+                                        lib/evas/canvas/evas_selectable_interface.eo.h \
+                                        lib/evas/canvas/evas_zoomable_interface.eo.h
 
 noinst_HEADERS = \
 lib/evas/include/evas_inline.x \
index dc2d3b1..de03c72 100644 (file)
@@ -86,9 +86,9 @@ EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_RENDER_POST;
 //EAPI extern const Eo_Event_Description _SCROLL_ANIM_STOP_EVENT;
 //EAPI extern const Eo_Event_Description _SCROLL_DRAG_START_EVENT;
 //EAPI extern const Eo_Event_Description _SCROLL_DRAG_STOP_EVENT;
-EAPI extern const Eo_Event_Description _ZOOM_START_EVENT;
-EAPI extern const Eo_Event_Description _ZOOM_STOP_EVENT;
-EAPI extern const Eo_Event_Description _ZOOM_CHANGE_EVENT;
+//EAPI extern const Eo_Event_Description _ZOOM_START_EVENT;
+//EAPI extern const Eo_Event_Description _ZOOM_STOP_EVENT;
+//EAPI extern const Eo_Event_Description _ZOOM_CHANGE_EVENT;
 //EAPI extern const Eo_Event_Description _SELECTED_EVENT;
 //EAPI extern const Eo_Event_Description _UNSELECTED_EVENT;
 //EAPI extern const Eo_Event_Description _SELECTION_PASTE_EVENT;
@@ -118,9 +118,9 @@ EAPI extern const Eo_Event_Description _ZOOM_CHANGE_EVENT;
 //#define EVAS_SMART_SCROLL_ANIM_STOP_EVENT (&(_SCROLL_ANIM_STOP_EVENT))
 //#define EVAS_SMART_SCROLL_DRAG_START_EVENT (&(_SCROLL_DRAG_START_EVENT))
 //#define EVAS_SMART_SCROLL_DRAG_STOP_EVENT (&(_SCROLL_DRAG_STOP_EVENT))
-#define EVAS_SMART_ZOOM_START_EVENT (&(_ZOOM_START_EVENT))
-#define EVAS_SMART_ZOOM_STOP_EVENT (&(_ZOOM_STOP_EVENT))
-#define EVAS_SMART_ZOOM_CHANGE_EVENT (&(_ZOOM_CHANGE_EVENT))
+//#define EVAS_SMART_ZOOM_START_EVENT (&(_ZOOM_START_EVENT))
+//#define EVAS_SMART_ZOOM_STOP_EVENT (&(_ZOOM_STOP_EVENT))
+//#define EVAS_SMART_ZOOM_CHANGE_EVENT (&(_ZOOM_CHANGE_EVENT))
 //#define EVAS_SMART_SELECTED_EVENT (&(_SELECTED_EVENT))
 //#define EVAS_SMART_UNSELECTED_EVENT (&(_UNSELECTED_EVENT))
 //#define EVAS_SMART_SELECTION_PASTE_EVENT (&(_SELECTION_PASTE_EVENT))
@@ -138,18 +138,17 @@ EAPI extern const Eo_Event_Description _ZOOM_CHANGE_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_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;
 
 //#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_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()
 
@@ -158,6 +157,7 @@ const Eo_Class *evas_smart_zoomable_interface_get(void) EINA_CONST;
 #include "canvas/evas_clickable_interface.eo.h"
 #include "canvas/evas_scrollable_interface.eo.h"
 #include "canvas/evas_selectable_interface.eo.h"
+#include "canvas/evas_zoomable_interface.eo.h"
 
 // Interface classes links
 #define EVAS_SMART_SIGNAL_INTERFACE     EVAS_SIGNAL_INTERFACE_CLASS
@@ -165,6 +165,7 @@ const Eo_Class *evas_smart_zoomable_interface_get(void) EINA_CONST;
 #define EVAS_SMART_SCROLLABLE_INTERFACE EVAS_SCROLLABLE_INTERFACE_CLASS
 #define EVAS_SMART_DRAGGABLE_INTERFACE  EVAS_DRAGGABLE_INTERFACE_CLASS
 #define EVAS_SMART_SELECTABLE_INTERFACE EVAS_SELECTABLE_INTERFACE_CLASS
+#define EVAS_SMART_ZOOMABLE_INTERFACE   EVAS_ZOOMABLE_INTERFACE_CLASS
 
 #include "canvas/evas.eo.h"
 #define EVAS_CLASS EVAS_CANVAS_CLASS
index af8ef33..df9d721 100644 (file)
@@ -5,26 +5,11 @@
 
 Eina_Hash* signals_hash_table = NULL;
 
-EAPI const Eo_Event_Description _ZOOM_START_EVENT =
-   EO_EVENT_DESCRIPTION("zoom,start", "");
-
-EAPI const Eo_Event_Description _ZOOM_STOP_EVENT =
-   EO_EVENT_DESCRIPTION("zoom,stop", "");
-
-EAPI const Eo_Event_Description _ZOOM_CHANGE_EVENT =
-   EO_EVENT_DESCRIPTION("zoom,changed", "");
-
-static const Eo_Event_Description *_zoomable_events_desc[] = {
-     EVAS_SMART_ZOOM_START_EVENT,
-     EVAS_SMART_ZOOM_STOP_EVENT,
-     EVAS_SMART_ZOOM_CHANGE_EVENT,
-     NULL
-};
-
 static const Eo_Event_Description *_evas_clickable_interface_event_desc[]; 
 static const Eo_Event_Description *_evas_draggable_interface_event_desc[];
 static const Eo_Event_Description *_evas_scrollable_interface_event_desc[];
 static const Eo_Event_Description *_evas_selectable_interface_event_desc[];
+static const Eo_Event_Description *_evas_zoomable_interface_event_desc[];
 
 #define ADD_SIGNAL(name, event) eina_hash_add(signals_hash_table, name, event)
 #define ADD_INTERFACE_SIGNALS(events_desc) \
@@ -55,7 +40,7 @@ _evas_signal_interface_class_constructor(Eo_Class *klass EINA_UNUSED)
    signals_hash_table = eina_hash_string_superfast_new(_signal_interface_del);
    ADD_INTERFACE_SIGNALS(_evas_draggable_interface_event_desc);
    ADD_INTERFACE_SIGNALS(_evas_scrollable_interface_event_desc);
-   ADD_INTERFACE_SIGNALS(_zoomable_events_desc);
+   ADD_INTERFACE_SIGNALS(_evas_zoomable_interface_event_desc);
    ADD_INTERFACE_SIGNALS(_evas_selectable_interface_event_desc);
    ADD_INTERFACE_SIGNALS(_evas_draggable_interface_event_desc);
 }
@@ -68,21 +53,9 @@ _evas_signal_interface_class_destructor(Eo_Class *klass EINA_UNUSED)
    eina_hash_free(signals_hash_table);
 }
 
-static const Eo_Class_Description zoomable_interface_desc = {
-     EO_VERSION,
-     "Evas_Zoomable_Interface",
-     EO_CLASS_TYPE_INTERFACE,
-     EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
-     _zoomable_events_desc,
-     0,
-     NULL,
-     NULL
-};
-
-EO_DEFINE_CLASS(evas_smart_zoomable_interface_get, &zoomable_interface_desc, EVAS_SIGNAL_INTERFACE_CLASS, NULL);
-
 #include "canvas/evas_signal_interface.eo.c"
 #include "canvas/evas_draggable_interface.eo.c"
 #include "canvas/evas_clickable_interface.eo.c"
 #include "canvas/evas_scrollable_interface.eo.c"
-#include "canvas/evas_selectable_interface.eo.c"
\ No newline at end of file
+#include "canvas/evas_selectable_interface.eo.c"
+#include "canvas/evas_zoomable_interface.eo.c"
\ No newline at end of file
diff --git a/src/lib/evas/canvas/evas_zoomable_interface.eo b/src/lib/evas/canvas/evas_zoomable_interface.eo
new file mode 100644 (file)
index 0000000..cbcd880
--- /dev/null
@@ -0,0 +1,9 @@
+interface Evas_Zoomable_Interface (Evas_Signal_Interface)
+{
+   data: null;
+   events {
+      zoom,start;
+      zoom,stop;
+      zoom,changed;
+   }
+}