jaehwan pushed a commit to branch master.

commit d8838cf44e4190c469c8ab2c74784ebca3780287
Author: Jaehwan Kim <[email protected]>
Date:   Mon Apr 8 13:44:39 2013 +0900

    Fix the scroller show by a page if the page size is set and the 
region_bring_in or region_show is called.
---
 ChangeLog                          |  4 ++++
 NEWS                               |  1 +
 src/lib/elm_interface_scrollable.c | 17 +++++++++++++++--
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 89177ed..9736dc1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1212,3 +1212,7 @@
 2013-04-08  Jaehwan Kim
 
         * Quit the scroll animator if the scroller don't have a bounce and 
reach a edge.
+
+2013-04-08  Jaehwan Kim
+
+        * Fix the scroller show by a page if the page size is set and the 
region_bring_in or region_show is called.
diff --git a/NEWS b/NEWS
index 1d909ab..b0cc27f 100644
--- a/NEWS
+++ b/NEWS
@@ -199,6 +199,7 @@ Fixes:
    * Fix box layout bug when items with max size force sizes below minimum.
    * Fix ctxpopup geometry when parent is an elm_win.
    * Quit the scroll animator if the scroller don't have a bounce and reach a 
edge.
+   * Fix the scroller show by a page if the page size is set and the 
region_bring_in or region_show is called.
 
 Removals:
 
diff --git a/src/lib/elm_interface_scrollable.c 
b/src/lib/elm_interface_scrollable.c
index b582b9a..757b72b 100644
--- a/src/lib/elm_interface_scrollable.c
+++ b/src/lib/elm_interface_scrollable.c
@@ -33,6 +33,11 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
 };
 
 static void _elm_pan_content_set(Evas_Object *, Evas_Object *);
+static Eina_Bool _paging_is_enabled(Elm_Scrollable_Smart_Interface_Data *sid);
+static Evas_Coord
+_elm_scroll_page_x_get(Elm_Scrollable_Smart_Interface_Data *sid, int offset);
+static Evas_Coord
+_elm_scroll_page_y_get(Elm_Scrollable_Smart_Interface_Data *sid, int offset);
 
 static void
 _elm_pan_update(Elm_Pan_Smart_Data *psd)
@@ -1702,10 +1707,18 @@ _elm_scroll_content_region_show_internal(Evas_Object 
*obj,
           _elm_scroll_wanted_region_set(sid->obj);
      }
 
-   x = nx;
+   if (_paging_is_enabled(sid))
+     {
+        x = _elm_scroll_page_x_get(sid, nx - px);
+        y = _elm_scroll_page_y_get(sid, ny - py);
+     }
+   else
+     {
+        x = nx;
+        y = ny;
+     }
    if ((x + pw) > cw) x = cw - pw;
    if (x < minx) x = minx;
-   y = ny;
    if ((y + ph) > ch) y = ch - ph;
    if (y < miny) y = miny;
 

-- 

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html

Reply via email to