psd->wsd->show_item->item->block->calc_done &&
psd->wsd->calc_done)
{
- Evas_Coord x, y;
+ Evas_Coord x, y, w, h;
Elm_Gen_Item *it = psd->wsd->show_item;
psd->wsd->show_item = NULL;
x = it->x + GL_IT(it)->block->x;
y = it->y + GL_IT(it)->block->y;
+ w = ow;
+ h = oh;
switch (psd->wsd->scroll_to_type)
{
case ELM_GENLIST_ITEM_SCROLLTO_IN:
- if ((y >= psd->wsd->pan_y) &&
- ((y + GL_IT(it)->minh) <= (psd->wsd->pan_y + oh)))
- {
- y = psd->wsd->pan_y;
- }
- else if (psd->wsd->pan_y <= y)
- y -= (oh - GL_IT(it)->minh);
+ h = GL_IT(it)->h;
break;
+
case ELM_GENLIST_ITEM_SCROLLTO_MIDDLE:
y = y - (oh / 2) + (GL_IT(it)->h / 2);
break;
break;
}
if (psd->wsd->bring_in)
- eo_do(WIDGET(it), elm_interface_scrollable_region_bring_in(x, y, ow, oh));
+ eo_do(WIDGET(it), elm_interface_scrollable_region_bring_in(x, y, w, h));
else
{
if (psd->wsd->aligned_item && (psd->wsd->aligned_item != psd->wsd->adjusted_item))