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:
parent
7e37fa926d
commit
3f4838585f
1 changed files with 7 additions and 12 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue