jackdanielz pushed a commit to branch master.

commit 798541da705c1a41db424c94fe3bb268fedd3b16
Author: Daniel Zaoui <[email protected]>
Date:   Fri May 24 16:23:28 2013 +0300

    Elementary: Fix scroller APIs to be usable by all the widgets using the
    scrollable interface.
---
 src/lib/elm_interface_scrollable.c | 30 ++++++++++++++++++++++++++
 src/lib/elm_interface_scrollable.h | 28 ++++++++++++++++++++++++
 src/lib/elm_scroller.c             | 42 ++----------------------------------
 src/lib/elm_scroller_eo.h          | 44 --------------------------------------
 4 files changed, 60 insertions(+), 84 deletions(-)

diff --git a/src/lib/elm_interface_scrollable.c 
b/src/lib/elm_interface_scrollable.c
index 0c0b871..e34f17f 100644
--- a/src/lib/elm_interface_scrollable.c
+++ b/src/lib/elm_interface_scrollable.c
@@ -1801,6 +1801,18 @@ _elm_scroll_content_region_show_internal(Evas_Object 
*obj,
    return EINA_TRUE;
 }
 
+static void
+_elm_scroll_content_region_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   Evas_Coord *x = va_arg(*list, Evas_Coord *);
+   Evas_Coord *y = va_arg(*list, Evas_Coord *);
+   Evas_Coord *w = va_arg(*list, Evas_Coord *);
+   Evas_Coord *h = va_arg(*list, Evas_Coord *);
+
+   eo_do(obj, elm_scrollable_interface_content_pos_get(x, y));
+   eo_do(obj, elm_scrollable_interface_content_viewport_size_get(w, h));
+}
+
 /* Set should be used for calculated positions, for example, when we move
  * because of an animation or because this is the correct position after
  * constraints. */
@@ -4213,6 +4225,19 @@ _elm_scroll_paging_get(Eo *obj EINA_UNUSED, void *_pd, 
va_list *list)
 }
 
 static void
+_elm_scroll_page_relative_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
+{
+   Evas_Coord pagesize_h, pagesize_v;
+
+   double h_pagerel = va_arg(*list, double);
+   double v_pagerel = va_arg(*list, double);
+
+   eo_do(obj, elm_scrollable_interface_paging_get(NULL, NULL, &pagesize_h, 
&pagesize_v));
+
+   eo_do(obj, elm_scrollable_interface_paging_set(h_pagerel, v_pagerel, 
pagesize_h, pagesize_v));
+}
+
+static void
 _elm_scroll_page_scroll_limit_set(Eo *obj EINA_UNUSED, void *_pd, va_list 
*list)
 {
    Elm_Scrollable_Smart_Interface_Data *sid = _pd;
@@ -4505,6 +4530,7 @@ _elm_scrollable_interface_constructor(Eo_Class *klass)
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_POS_GET),
 _elm_scroll_content_pos_get),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SHOW),
 _elm_scroll_content_region_show),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SET),
 _elm_scroll_content_region_set),
+           
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_GET),
 _elm_scroll_content_region_get),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_SIZE_GET),
 _elm_scroll_content_size_get),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_VIEWPORT_SIZE_GET),
 _elm_scroll_content_viewport_size_get),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_MIN_LIMIT),
 _elm_scroll_content_min_limit),
@@ -4527,6 +4553,7 @@ _elm_scrollable_interface_constructor(Eo_Class *klass)
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_BOUNCE_ALLOW_GET),
 _elm_scroll_bounce_allow_get),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGING_SET),
 _elm_scroll_paging_set),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGING_GET),
 _elm_scroll_paging_get),
+           
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_RELATIVE_SET),
 _elm_scroll_page_relative_set),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SCROLL_LIMIT_SET),
 _elm_scroll_page_scroll_limit_set),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SCROLL_LIMIT_GET),
 _elm_scroll_page_scroll_limit_get),
            
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CURRENT_PAGE_GET),
 _elm_scroll_current_page_get),
@@ -4581,6 +4608,7 @@ static const Eo_Op_Description op_desc[] = {
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_POS_GET, 
"description here"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SHOW, 
"description here"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SET, 
"description here"),
+     EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_GET, 
"Get the currently visible content region."),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_SIZE_GET, 
"description here"),
      
EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_VIEWPORT_SIZE_GET, 
"description here"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_MIN_LIMIT, 
"description here"),
@@ -4607,6 +4635,8 @@ static const Eo_Op_Description op_desc[] = {
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_BOUNCE_ALLOW_GET, 
"description here"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGING_SET, 
"description here"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGING_GET, 
"description here"),
+     EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_RELATIVE_SET,
+           "Set scroll page size relative to viewport size."),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SCROLL_LIMIT_SET, 
"Set the maxium of the movable page at a flicking"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SCROLL_LIMIT_GET, 
"Get the maxium of the movable page at a flicking"),
      EO_OP_DESCRIPTION(ELM_SCROLLABLE_INTERFACE_SUB_ID_CURRENT_PAGE_GET, 
"description here"),
diff --git a/src/lib/elm_interface_scrollable.h 
b/src/lib/elm_interface_scrollable.h
index f5a83e9..a0c3821 100644
--- a/src/lib/elm_interface_scrollable.h
+++ b/src/lib/elm_interface_scrollable.h
@@ -176,6 +176,7 @@ enum
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_POS_GET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SHOW,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SET,
+   ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_GET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_SIZE_GET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_VIEWPORT_SIZE_GET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_MIN_LIMIT,
@@ -198,6 +199,7 @@ enum
    ELM_SCROLLABLE_INTERFACE_SUB_ID_BOUNCE_ALLOW_GET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGING_SET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGING_GET,
+   ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_RELATIVE_SET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SCROLL_LIMIT_SET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SCROLL_LIMIT_GET,
    ELM_SCROLLABLE_INTERFACE_SUB_ID_CURRENT_PAGE_GET,
@@ -530,6 +532,20 @@ enum
 #define elm_scrollable_interface_content_region_set(x, y, w, h) 
ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_SET),
 EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), 
EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
 
 /**
+ * @def elm_scrollable_interface_content_region_get
+ * @since 1.8
+ *
+ * No description supplied by the EAPI.
+ *
+ * @param[out] x
+ * @param[out] y
+ * @param[out] w
+ * @param[out] h
+ *
+ */
+#define elm_scrollable_interface_content_region_get(x, y, w, h) 
ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_CONTENT_REGION_GET),
 EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), 
EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
+
+/**
  * @def elm_scrollable_interface_content_size_get
  * @since 1.8
  *
@@ -614,6 +630,18 @@ enum
 #define elm_scrollable_interface_page_size_get(x, y) 
ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SIZE_GET), 
EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y)
 
 /**
+ * @def elm_scrollable_interface_page_relative_set
+ * @since 1.8
+ *
+ * @brief Set scroll page size relative to viewport size.
+ *
+ * @param[in] h_pagerel
+ * @param[in] v_pagerel
+ *
+ */
+#define elm_scrollable_interface_page_relative_set(h_pagerel, v_pagerel) 
ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_RELATIVE_SET), 
EO_TYPECHECK(double, h_pagerel), EO_TYPECHECK(double, v_pagerel)
+
+/**
  * @def elm_scrollable_interface_policy_set
  * @since 1.8
  *
diff --git a/src/lib/elm_scroller.c b/src/lib/elm_scroller.c
index 4b69e79..99d843e 100644
--- a/src/lib/elm_scroller.c
+++ b/src/lib/elm_scroller.c
@@ -988,19 +988,7 @@ elm_scroller_region_get(const Evas_Object *obj,
                         Evas_Coord *h)
 {
    ELM_SCROLLABLE_CHECK(obj);
-   eo_do((Eo *) obj, elm_obj_scroller_region_get(x, y, w, h));
-}
-
-static void
-_region_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
-   Evas_Coord *x = va_arg(*list, Evas_Coord *);
-   Evas_Coord *y = va_arg(*list, Evas_Coord *);
-   Evas_Coord *w = va_arg(*list, Evas_Coord *);
-   Evas_Coord *h = va_arg(*list, Evas_Coord *);
-
-   if ((x) || (y)) eo_do((Eo *) obj, 
elm_scrollable_interface_content_pos_get(x, y));
-   if ((w) || (h)) eo_do((Eo *) obj, 
elm_scrollable_interface_content_viewport_size_get(w, h));
+   eo_do((Eo *) obj, elm_scrollable_interface_content_region_get(x, y, w, h));
 }
 
 EAPI void
@@ -1009,14 +997,6 @@ elm_scroller_child_size_get(const Evas_Object *obj,
                             Evas_Coord *h)
 {
    ELM_SCROLLABLE_CHECK(obj);
-   eo_do((Eo *) obj, elm_obj_scroller_child_size_get(w, h));
-}
-
-static void
-_child_size_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
-   Evas_Coord *w = va_arg(*list, Evas_Coord *);
-   Evas_Coord *h = va_arg(*list, Evas_Coord *);
 
    eo_do((Eo *) obj, elm_scrollable_interface_content_size_get(w, h));
 }
@@ -1069,20 +1049,8 @@ elm_scroller_page_relative_set(Evas_Object *obj,
                                double v_pagerel)
 {
    ELM_SCROLLABLE_CHECK(obj);
-   eo_do(obj, elm_obj_scroller_page_relative_set(h_pagerel, v_pagerel));
-}
-
-static void
-_page_relative_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
-{
-   Evas_Coord pagesize_h, pagesize_v;
-
-   double h_pagerel = va_arg(*list, double);
-   double v_pagerel = va_arg(*list, double);
-
-   eo_do(obj, elm_scrollable_interface_paging_get(NULL, NULL, &pagesize_h, 
&pagesize_v));
 
-   eo_do(obj, elm_scrollable_interface_paging_set(h_pagerel, v_pagerel, 
pagesize_h, pagesize_v));
+   eo_do((Eo *)obj, elm_scrollable_interface_page_relative_set(h_pagerel, 
v_pagerel));
 }
 
 EAPI void
@@ -1331,9 +1299,6 @@ _class_constructor(Eo_Class *klass)
         
EO_OP_FUNC(ELM_SCROLLABLE_INTERFACE_ID(ELM_SCROLLABLE_INTERFACE_SUB_ID_PAGE_SIZE_SET),
 _page_size_set),
 
         
EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_CUSTOM_WIDGET_BASE_THEME_SET),
 _custom_widget_base_theme_set),
-        EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_REGION_GET), 
_region_get),
-        
EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_CHILD_SIZE_GET), 
_child_size_get),
-        
EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_PAGE_RELATIVE_SET), 
_page_relative_set),
         
EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_PAGE_SCROLL_LIMIT_SET), 
_page_scroll_limit_set),
         
EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_PAGE_SCROLL_LIMIT_GET), 
_page_scroll_limit_get),
         
EO_OP_FUNC(ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_PROPAGATE_EVENTS_SET), 
_propagate_events_set),
@@ -1347,9 +1312,6 @@ _class_constructor(Eo_Class *klass)
 
 static const Eo_Op_Description op_desc[] = {
      EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_CUSTOM_WIDGET_BASE_THEME_SET, 
"DEPRECATED: Set custom theme elements for the scroller"),
-     EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_REGION_GET, "Get the currently 
visible content region."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_CHILD_SIZE_GET, "Get the size 
of the content object."),
-     EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_PAGE_RELATIVE_SET, "Set scroll 
page size relative to viewport size."),
      EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_PAGE_SCROLL_LIMIT_SET, "Set the 
maxium of the movable page at a flicking."),
      EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_PAGE_SCROLL_LIMIT_GET, "Get the 
maxium of the movable page at a flicking."),
      EO_OP_DESCRIPTION(ELM_OBJ_SCROLLER_SUB_ID_PROPAGATE_EVENTS_SET, "Set 
event propagation on a scroller."),
diff --git a/src/lib/elm_scroller_eo.h b/src/lib/elm_scroller_eo.h
index 18e84fc..ac701c2 100644
--- a/src/lib/elm_scroller_eo.h
+++ b/src/lib/elm_scroller_eo.h
@@ -12,9 +12,6 @@ extern EAPI Eo_Op ELM_OBJ_SCROLLER_BASE_ID;
 enum
 {
    ELM_OBJ_SCROLLER_SUB_ID_CUSTOM_WIDGET_BASE_THEME_SET,
-   ELM_OBJ_SCROLLER_SUB_ID_REGION_GET,
-   ELM_OBJ_SCROLLER_SUB_ID_CHILD_SIZE_GET,
-   ELM_OBJ_SCROLLER_SUB_ID_PAGE_RELATIVE_SET,
    ELM_OBJ_SCROLLER_SUB_ID_PAGE_SCROLL_LIMIT_SET,
    ELM_OBJ_SCROLLER_SUB_ID_PAGE_SCROLL_LIMIT_GET,
    ELM_OBJ_SCROLLER_SUB_ID_PROPAGATE_EVENTS_SET,
@@ -39,47 +36,6 @@ enum
 #define elm_obj_scroller_custom_widget_base_theme_set(klass, group) 
ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_CUSTOM_WIDGET_BASE_THEME_SET), 
EO_TYPECHECK(const char *, klass), EO_TYPECHECK(const char *, group)
 
 /**
- * @def elm_obj_scroller_region_get
- * @since 1.8
- *
- * @brief Get the currently visible content region
- *
- * @param[out] x
- * @param[out] y
- * @param[out] w
- * @param[out] h
- *
- * @see elm_scroller_region_get
- */
-#define elm_obj_scroller_region_get(x, y, w, h) 
ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_REGION_GET), 
EO_TYPECHECK(Evas_Coord *, x), EO_TYPECHECK(Evas_Coord *, y), 
EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
-
-/**
- * @def elm_obj_scroller_child_size_get
- * @since 1.8
- *
- * @brief Get the size of the content object
- *
- * @param[out] w
- * @param[out] h
- *
- * @see elm_scroller_child_size_get
- */
-#define elm_obj_scroller_child_size_get(w, h) 
ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_CHILD_SIZE_GET), 
EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
-
-/**
- * @def elm_obj_scroller_page_relative_set
- * @since 1.8
- *
- * @brief Set scroll page size relative to viewport size.
- *
- * @param[in] h_pagerel
- * @param[in] v_pagerel
- *
- * @see elm_scroller_page_relative_set
- */
-#define elm_obj_scroller_page_relative_set(h_pagerel, v_pagerel) 
ELM_OBJ_SCROLLER_ID(ELM_OBJ_SCROLLER_SUB_ID_PAGE_RELATIVE_SET), 
EO_TYPECHECK(double, h_pagerel), EO_TYPECHECK(double, v_pagerel)
-
-/**
  * @def elm_obj_scroller_page_scroll_limit_set
  * @since 1.8
  *

-- 

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may

Reply via email to