Eolian: Integration of Evas Scrollable Interface

This commit is contained in:
Yossi Kantor 2014-03-13 18:52:07 +02:00 committed by Daniel Zaoui
parent 7c9ce7dcf1
commit 730a403046
4 changed files with 42 additions and 53 deletions

View File

@ -37,7 +37,9 @@ BUILT_SOURCES += \
lib/evas/canvas/evas_draggable_interface.eo.c \
lib/evas/canvas/evas_draggable_interface.eo.h \
lib/evas/canvas/evas_clickable_interface.eo.c \
lib/evas/canvas/evas_clickable_interface.eo.h
lib/evas/canvas/evas_clickable_interface.eo.h \
lib/evas/canvas/evas_scrollable_interface.eo.c \
lib/evas/canvas/evas_scrollable_interface.eo.h
evaseolianfilesdir = $(datadir)/eolian/include/evas-@VMAJ@
evaseolianfiles_DATA = \
@ -58,7 +60,8 @@ evaseolianfiles_DATA = \
lib/evas/canvas/evas_image.eo \
lib/evas/canvas/evas_out.eo \
lib/evas/canvas/evas_draggable_interface.eo \
lib/evas/canvas/evas_clickable_interface.eo
lib/evas/canvas/evas_clickable_interface.eo \
lib/evas/canvas/evas_scrollable_interface.eo
EXTRA_DIST += \
${evaseolianfiles_DATA}
@ -94,7 +97,8 @@ nodist_installed_evascanvasheaders_DATA = \
lib/evas/canvas/evas_image.eo.h \
lib/evas/canvas/evas_out.eo.h \
lib/evas/canvas/evas_draggable_interface.eo.h \
lib/evas/canvas/evas_clickable_interface.eo.h
lib/evas/canvas/evas_clickable_interface.eo.h \
lib/evas/canvas/evas_scrollable_interface.eo.h
noinst_HEADERS = \
lib/evas/include/evas_inline.x \

View File

@ -81,11 +81,11 @@ EAPI extern const Eo_Event_Description _EVAS_CANVAS_EVENT_RENDER_POST;
//EAPI extern const Eo_Event_Description _UNPRESSED_EVENT;
//EAPI extern const Eo_Event_Description _LONGPRESSED_EVENT;
//EAPI extern const Eo_Event_Description _REPEATED_EVENT;
EAPI extern const Eo_Event_Description _SCROLL_EVENT;
EAPI extern const Eo_Event_Description _SCROLL_ANIM_START_EVENT;
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 _SCROLL_EVENT;
//EAPI extern const Eo_Event_Description _SCROLL_ANIM_START_EVENT;
//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;
@ -113,11 +113,11 @@ EAPI extern const Eo_Event_Description _SELECTION_CLEARED_EVENT;
//#define EVAS_SMART_UNPRESSED_EVENT (&(_UNPRESSED_EVENT))
//#define EVAS_SMART_LONGPRESSED_EVENT (&(_LONGPRESSED_EVENT))
//#define EVAS_SMART_REPEATED_EVENT (&(_REPEATED_EVENT))
#define EVAS_SMART_SCROLL_EVENT (&(_SCROLL_EVENT))
#define EVAS_SMART_SCROLL_ANIM_START_EVENT (&(_SCROLL_ANIM_START_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_SCROLL_EVENT (&(_SCROLL_EVENT))
//#define EVAS_SMART_SCROLL_ANIM_START_EVENT (&(_SCROLL_ANIM_START_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))
@ -141,14 +141,14 @@ EAPI extern const Eo_Event_Description _SELECTION_CLEARED_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_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;
//#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_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()
@ -156,6 +156,13 @@ const Eo_Class *evas_smart_selectable_interface_get(void) EINA_CONST;
#include "canvas/evas_signal_interface.eo.h"
#include "canvas/evas_draggable_interface.eo.h"
#include "canvas/evas_clickable_interface.eo.h"
#include "canvas/evas_scrollable_interface.eo.h"
// Interface classes links
#define EVAS_SMART_SIGNAL_INTERFACE EVAS_SIGNAL_INTERFACE_CLASS
#define EVAS_SMART_CLICKABLE_INTERFACE EVAS_CLICKABLE_INTERFACE_CLASS
#define EVAS_SMART_SCROLLABLE_INTERFACE EVAS_SCROLLABLE_INTERFACE_CLASS
#define EVAS_SMART_DRAGGABLE_INTERFACE EVAS_DRAGGABLE_INTERFACE_CLASS
#include "canvas/evas.eo.h"
#define EVAS_CLASS EVAS_CANVAS_CLASS

View File

@ -5,21 +5,6 @@
Eina_Hash* signals_hash_table = NULL;
EAPI const Eo_Event_Description _SCROLL_EVENT =
EO_EVENT_DESCRIPTION("scroll", "");
EAPI const Eo_Event_Description _SCROLL_ANIM_START_EVENT =
EO_EVENT_DESCRIPTION("scroll,anim,start", "");
EAPI const Eo_Event_Description _SCROLL_ANIM_STOP_EVENT =
EO_EVENT_DESCRIPTION("scroll,anim,stop", "");
EAPI const Eo_Event_Description _SCROLL_DRAG_START_EVENT =
EO_EVENT_DESCRIPTION("scroll,drag,start", "");
EAPI const Eo_Event_Description _SCROLL_DRAG_STOP_EVENT =
EO_EVENT_DESCRIPTION("scroll,drag,stop", "");
EAPI const Eo_Event_Description _ZOOM_START_EVENT =
EO_EVENT_DESCRIPTION("zoom,start", "");
@ -54,15 +39,6 @@ EAPI const Eo_Event_Description _SELECTION_CLEARED_EVENT =
EO_EVENT_DESCRIPTION("selection,cleared", "");
static const Eo_Event_Description *_scrollable_events_desc[] = {
EVAS_SMART_SCROLL_EVENT,
EVAS_SMART_SCROLL_ANIM_START_EVENT,
EVAS_SMART_SCROLL_ANIM_STOP_EVENT,
EVAS_SMART_SCROLL_DRAG_START_EVENT,
EVAS_SMART_SCROLL_DRAG_STOP_EVENT,
NULL
};
static const Eo_Event_Description *_zoomable_events_desc[] = {
EVAS_SMART_ZOOM_START_EVENT,
EVAS_SMART_ZOOM_STOP_EVENT,
@ -84,6 +60,7 @@ static const Eo_Event_Description *_selectable_events_desc[] = {
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[];
#define ADD_SIGNAL(name, event) eina_hash_add(signals_hash_table, name, event)
#define ADD_INTERFACE_SIGNALS(events_desc) \
@ -113,7 +90,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(_scrollable_events_desc);
ADD_INTERFACE_SIGNALS(_evas_scrollable_interface_event_desc);
ADD_INTERFACE_SIGNALS(_zoomable_events_desc);
ADD_INTERFACE_SIGNALS(_selectable_events_desc);
ADD_INTERFACE_SIGNALS(_evas_draggable_interface_event_desc);
@ -127,18 +104,6 @@ _evas_signal_interface_class_destructor(Eo_Class *klass EINA_UNUSED)
eina_hash_free(signals_hash_table);
}
static const Eo_Class_Description scrollable_interface_desc = {
EO_VERSION,
"Evas_Scrollable_Interface",
EO_CLASS_TYPE_INTERFACE,
EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
_scrollable_events_desc,
0,
NULL,
NULL
};
EO_DEFINE_CLASS(evas_smart_scrollable_interface_get, &scrollable_interface_desc, EVAS_SIGNAL_INTERFACE_CLASS, NULL);
static const Eo_Class_Description zoomable_interface_desc = {
EO_VERSION,
@ -168,4 +133,5 @@ EO_DEFINE_CLASS(evas_smart_selectable_interface_get, &selectable_interface_desc,
#include "canvas/evas_signal_interface.eo.c"
#include "canvas/evas_draggable_interface.eo.c"
#include "canvas/evas_clickable_interface.eo.c"
#include "canvas/evas_clickable_interface.eo.c"
#include "canvas/evas_scrollable_interface.eo.c"

View File

@ -0,0 +1,12 @@
interface Evas_Scrollable_Interface (Evas_Signal_Interface)
{
data: null;
events {
scroll;
scroll,anim,start;
scroll,anim,stop;
scroll,drag,start;
scroll,drag,stop;
}
}