summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/elm_interface_scrollable.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/lib/elm_interface_scrollable.c b/src/lib/elm_interface_scrollable.c
index f94f8f817..615c0a990 100644
--- a/src/lib/elm_interface_scrollable.c
+++ b/src/lib/elm_interface_scrollable.c
@@ -932,7 +932,7 @@ static void
932_elm_scroll_scroll_bar_read_and_update( 932_elm_scroll_scroll_bar_read_and_update(
933 Elm_Scrollable_Smart_Interface_Data *sid) 933 Elm_Scrollable_Smart_Interface_Data *sid)
934{ 934{
935 Evas_Coord x, y, mx = 0, my = 0, px = 0, py = 0, minx = 0, miny = 0; 935 Evas_Coord x, y, mx = 0, my = 0, minx = 0, miny = 0;
936 double vx, vy; 936 double vx, vy;
937 937
938 if (!sid->edje_obj || !sid->pan_obj) return; 938 if (!sid->edje_obj || !sid->pan_obj) return;
@@ -949,19 +949,7 @@ _elm_scroll_scroll_bar_read_and_update(
949 eo_do(sid->pan_obj, elm_obj_pan_pos_min_get(&minx, &miny)); 949 eo_do(sid->pan_obj, elm_obj_pan_pos_min_get(&minx, &miny));
950 x = _round(vx * (double)mx + minx, 1); 950 x = _round(vx * (double)mx + minx, 1);
951 y = _round(vy * (double)my + miny, 1); 951 y = _round(vy * (double)my + miny, 1);
952 eo_do(sid->pan_obj, elm_obj_pan_pos_get(&px, &py)); 952 eo_do(sid->obj, elm_scrollable_interface_content_pos_set(x, y, EINA_TRUE));
953
954 if (!sid->freeze && _paging_is_enabled(sid))
955 {
956 x = _elm_scroll_page_x_get(sid, x - px, EINA_FALSE);
957 y = _elm_scroll_page_y_get(sid, y - py, EINA_FALSE);
958 }
959
960 eo_do(sid->pan_obj, elm_obj_pan_pos_set(x, y));
961 if ((px != x) || (py != y))
962 {
963 edje_object_signal_emit(sid->edje_obj, "elm,action,scroll", "elm");
964 }
965} 953}
966 954
967static void 955static void
@@ -1536,6 +1524,8 @@ _elm_scroll_content_pos_set(Eo *obj, void *_pd, va_list *list)
1536 1524
1537 Elm_Scrollable_Smart_Interface_Data *sid = _pd; 1525 Elm_Scrollable_Smart_Interface_Data *sid = _pd;
1538 1526
1527 printf("pos set...\n");
1528
1539 if (!sid->edje_obj || !sid->pan_obj) return; 1529 if (!sid->edje_obj || !sid->pan_obj) return;
1540 1530
1541 // FIXME: allow for bounce outside of range 1531 // FIXME: allow for bounce outside of range
@@ -1606,6 +1596,8 @@ _elm_scroll_content_pos_set(Eo *obj, void *_pd, va_list *list)
1606 (sid->edje_obj, "elm.dragable.vbar", 0.0, vy); 1596 (sid->edje_obj, "elm.dragable.vbar", 0.0, vy);
1607 edje_object_part_drag_value_set 1597 edje_object_part_drag_value_set
1608 (sid->edje_obj, "elm.dragable.hbar", vx, 0.0); 1598 (sid->edje_obj, "elm.dragable.hbar", vx, 0.0);
1599
1600 printf("pos set %i/%i[%i] %i/%i[%i]\n", x, mx + minx, minx, y, my + miny, miny);
1609 1601
1610 if (!sid->down.bounce_x_animator) 1602 if (!sid->down.bounce_x_animator)
1611 { 1603 {