{
Evas_Coord mx = 0, my = 0, px = 0, py = 0, spx = 0, spy = 0, minx = 0, miny = 0;
Evas_Coord cw = 0, ch = 0, pw = 0, ph = 0;
+ // TIZEN_ONLY(20160624): Overscroll effect
+ Evas_Coord ww = 0, wh = 0;
+ //
double vx, vy;
eo_do(sid->pan_obj, elm_obj_pan_content_size_get(&cw, &ch));
eo_do(sid->pan_obj, elm_obj_pan_pos_get(&px, &py));
evas_object_geometry_get(sid->pan_obj, NULL, NULL, &pw, &ph);
+ // TIZEN_ONLY(20160624): Overscroll effect
+ eo_do(obj, elm_interface_scrollable_content_viewport_geometry_get
+ (NULL, NULL, &ww, &wh));
+ //
if (_paging_is_enabled(sid))
{
if (y < 0) y = ch + (y % ch);
else if (y >= ch) y = (y % ch);
}
-
+ // TIZEN_ONLY(20160624): Overscroll effect
+ if (sig)
+ {
+ if (cw > ww)
+ {
+ if (x < minx)
+ edje_object_signal_emit(sid->edje_obj, "elm,edge,left", "elm");
+ if (!sid->loop_h && (x - minx) > mx)
+ edje_object_signal_emit(sid->edje_obj, "elm,edge,right", "elm");
+ }
+ if (ch > wh)
+ {
+ if (y < miny)
+ edje_object_signal_emit(sid->edje_obj, "elm,edge,top", "elm");
+ if (!sid->loop_v && (y - miny) > my)
+ edje_object_signal_emit(sid->edje_obj, "elm,edge,bottom", "elm");
+ }
+ }
+ //
if (!_elm_config->thumbscroll_bounce_enable)
{
{
if (sid->cb_func.edge_left)
sid->cb_func.edge_left(obj, NULL);
- edje_object_signal_emit(sid->edje_obj, "elm,edge,left", "elm");
+ // TIZEN_ONLY(20160624): Overscroll effect
+ // edje_object_signal_emit(sid->edje_obj, "elm,edge,left", "elm");
}
if (x == (mx + minx))
{
if (sid->cb_func.edge_right)
sid->cb_func.edge_right(obj, NULL);
- edje_object_signal_emit(sid->edje_obj, "elm,edge,right", "elm");
+ // TIZEN_ONLY(20160624): Overscroll effect
+ //edje_object_signal_emit(sid->edje_obj, "elm,edge,right", "elm");
}
}
if (y != py)
{
if (sid->cb_func.edge_top)
sid->cb_func.edge_top(obj, NULL);
- edje_object_signal_emit(sid->edje_obj, "elm,edge,top", "elm");
+ // TIZEN_ONLY(20160624): Overscroll effect
+ //edje_object_signal_emit(sid->edje_obj, "elm,edge,top", "elm");
}
if (y == my + miny)
{
if (sid->cb_func.edge_bottom)
sid->cb_func.edge_bottom(obj, NULL);
- edje_object_signal_emit(sid->edje_obj, "elm,edge,bottom", "elm");
+ // TIZEN_ONLY(20160624): Overscroll effect
+ // edje_object_signal_emit(sid->edje_obj, "elm,edge,bottom", "elm");
}
}
}
sid->wh = h;
if (_elm_scroll_content_region_show_internal(obj, &x, &y, w, h))
{
- eo_do(obj, elm_interface_scrollable_content_pos_set(x, y, EINA_TRUE));
+ // TIZEN_ONLY(20160624): Overscroll effect
+ eo_do(obj, elm_interface_scrollable_content_pos_set(x, y, EINA_FALSE));
+ //
sid->down.sx = x;
sid->down.sy = y;
sid->down.x = sid->down.history[0].x;
if (ev->button == 1)
{
+ // TIZEN_ONLY(20160624): Overscroll effect
+ edje_object_signal_emit(sid->edje_obj, "elm,state,mouse,up", "elm");
+ //
if (sid->down.onhold_animator)
{
ELM_SAFE_FREE(sid->down.onhold_animator, ecore_animator_del);
if (!_elm_config->thumbscroll_enable) return;
+
sid->down.hold = EINA_FALSE;
if ((sid->down.bounce_x_animator) || (sid->down.bounce_y_animator) ||
(sid->down.momentum_animator) || (sid->scrollto.x.animator) ||
}
if (ev->button == 1)
{
+ // TIZEN_ONLY(20160624): Overscroll effect
+ edje_object_signal_emit(sid->edje_obj, "elm,state,mouse,down", "elm");
+ //
sid->down.hist.est_timestamp_diff =
ecore_loop_time_get() - ((double)ev->timestamp / 1000.0);
sid->down.hist.tadd = 0.0;
if (!sid->down.now) return;
+ // TIZEN_ONLY(20160624): Overscroll effect
+ edje_object_signal_emit(sid->edje_obj, "elm,state,mouse,move", "elm");
+ //
if ((sid->scrollto.x.animator) && (!sid->hold) && (!sid->freeze) &&
!(sid->block & ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL))
{