evas_object_move(sd->start_handler, hx, hy);
}
// TIZEN ONLY (20150901): Show start sel handler on top by default
- if (ent_y + sy - hh < layrect.y)
+ Evas_Coord handler_width;
+ edje_object_part_geometry_get(sd->start_handler, "handle",
+ NULL, NULL, &handler_width, NULL);
+ if (ent_y + sy - hh < layrect.y || ent_y + sy < rect->y)
{
hy--;
- edje_object_signal_emit(sd->start_handler, "elm,state,bottom", "elm");
+ if ((hx + sw <= layrect.x + handler_width) && (hx + sw <= rect->x + handler_width))
+ {
+ edje_object_signal_emit(sd->start_handler, "elm,state,bottom,reversed", "elm");
+ }
+ else
+ {
+ edje_object_signal_emit(sd->start_handler, "elm,state,bottom", "elm");
+ }
}
else
{
- edje_object_signal_emit(sd->start_handler, "elm,state,top", "elm");
- hy = hy - sh;
+ if ((hx + ew <= layrect.x + handler_width) && (hx + ew <= rect->x + handler_width))
+ {
+ edje_object_signal_emit(sd->start_handler, "elm,state,top,reversed", "elm");
+ }
+ else
+ {
+ edje_object_signal_emit(sd->start_handler, "elm,state,top", "elm");
+ }
+ if (start_pos < end_pos)
+ {
+ hy = hy - sh;
+ }
+ else
+ {
+ hy = hy - eh;
+ }
evas_object_move(sd->start_handler, hx, hy);
}
edje_object_message_signal_process(sd->start_handler);
evas_object_move(sd->end_handler, hx, hy);
}
// TIZEN ONLY (20150723): Show sel handler on top
+ edje_object_part_geometry_get(sd->end_handler, "handle",
+ NULL, NULL, &handler_width, NULL);
if (hy + hh > layrect.y + layrect.h)
{
- edje_object_signal_emit(sd->end_handler, "elm,state,top", "elm");
- hy = hy - sh;
+ if ((hx + ew >= layrect.x + layrect.w - handler_width) &&
+ (hx +ew >= rect->x + rect->w - handler_width))
+ {
+ edje_object_signal_emit(sd->end_handler, "elm,state,top,reversed", "elm");
+ }
+ else
+ {
+ edje_object_signal_emit(sd->end_handler, "elm,state,top", "elm");
+ }
+ if (start_pos < end_pos)
+ {
+ hy = hy - eh;
+ }
+ else
+ {
+ hy = hy - sh;
+ }
evas_object_move(sd->end_handler, hx, hy);
}
else
{
hy--;
- edje_object_signal_emit(sd->end_handler, "elm,state,bottom", "elm");
+ if ((hx + sw >= layrect.x + layrect.w - handler_width) &&
+ (hx + sw >= rect->x + rect->w - handler_width))
+ {
+ edje_object_signal_emit(sd->end_handler, "elm,state,bottom,reversed", "elm");
+ }
+ else
+ {
+ edje_object_signal_emit(sd->end_handler, "elm,state,bottom", "elm");
+ }
}
edje_object_message_signal_process(sd->end_handler);
//