Fix touchscreen scrollbar behaviour when it's on the right.

This was broken since r26922.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27107 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Maurus Cuelenaere 2010-06-24 14:22:36 +00:00
parent 7e37fa926d
commit 3f4838585f

View file

@ -347,24 +347,16 @@ unsigned gui_synclist_do_touchscreen(struct gui_synclist * gui_list)
short x, y;
const int button = action_get_touchscreen_press(&x, &y);
int line;
const int screen = SCREEN_MAIN;
const struct screen *display = &screens[SCREEN_MAIN];
const int screen = display->screen_type;
const int list_start_item = gui_list->start_item[screen];
const struct viewport *list_text_vp = &list_text[screen];
int list_width = list_text_vp->width;
if (global_settings.scrollbar == SCROLLBAR_RIGHT)
list_width += SCROLLBAR_WIDTH;
if (button == BUTTON_NONE)
return ACTION_NONE;
/* make sure it is inside the UI viewport */
if (list_display_title(gui_list, screen) &&
viewport_point_within_vp(&title_text[screen], x, y) &&
button == BUTTON_REL)
return ACTION_STD_CANCEL;
if (!viewport_point_within_vp(list_text_vp, x, y))
if (global_settings.scrollbar == SCROLLBAR_RIGHT &&
x > list_text_vp->x + list_text_vp->width + SCROLLBAR_WIDTH)
/* wider than the list's viewport, ignore it */
return ACTION_NONE;
@ -471,6 +463,9 @@ unsigned gui_synclist_do_touchscreen(struct gui_synclist * gui_list)
else
return ACTION_NONE;
}
/* Everything above the items is cancel */
else if (y < list_text_vp->y && button == BUTTON_REL)
return ACTION_STD_CANCEL;
}
return ACTION_NONE;
}