I somehow messed up the previous commit, undo the unrelated changes.
Also, r26922 wasn't the culprit but r27004. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27108 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3f4838585f
commit
5da84ec4da
1 changed files with 12 additions and 8 deletions
|
@ -347,19 +347,26 @@ unsigned gui_synclist_do_touchscreen(struct gui_synclist * gui_list)
|
||||||
short x, y;
|
short x, y;
|
||||||
const int button = action_get_touchscreen_press(&x, &y);
|
const int button = action_get_touchscreen_press(&x, &y);
|
||||||
int line;
|
int line;
|
||||||
const struct screen *display = &screens[SCREEN_MAIN];
|
const int screen = SCREEN_MAIN;
|
||||||
const int screen = display->screen_type;
|
|
||||||
const int list_start_item = gui_list->start_item[screen];
|
const int list_start_item = gui_list->start_item[screen];
|
||||||
const struct viewport *list_text_vp = &list_text[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)
|
if (button == BUTTON_NONE)
|
||||||
return ACTION_NONE;
|
return ACTION_NONE;
|
||||||
|
|
||||||
if (global_settings.scrollbar == SCROLLBAR_RIGHT &&
|
if (x > list_text_vp->x + list_width)
|
||||||
x > list_text_vp->x + list_text_vp->width + SCROLLBAR_WIDTH)
|
|
||||||
/* wider than the list's viewport, ignore it */
|
|
||||||
return ACTION_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 (x < list_text_vp->x)
|
if (x < list_text_vp->x)
|
||||||
{
|
{
|
||||||
/* Top left corner is GO_TO_ROOT */
|
/* Top left corner is GO_TO_ROOT */
|
||||||
|
@ -463,9 +470,6 @@ unsigned gui_synclist_do_touchscreen(struct gui_synclist * gui_list)
|
||||||
else
|
else
|
||||||
return ACTION_NONE;
|
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;
|
return ACTION_NONE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue