1
0
Fork 0
forked from len0rd/rockbox

Fine tuning of gui elements positioning in RTL mode

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22976 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Tomer Shalev 2009-10-05 23:41:59 +00:00
parent fa69df3324
commit 6a12b82a85
2 changed files with 12 additions and 6 deletions

View file

@ -85,8 +85,7 @@ static bool draw_title(struct screen *display, struct gui_synclist *list)
title_icon.width = get_icon_width(screen) + ICON_PADDING * 2;
if (IS_RTL(&title_icon))
{
title_icon.x = title_text_vp->width - ICON_PADDING -
get_icon_width(screen);
title_icon.x = title_text_vp->width - title_icon.width;
}
else
{
@ -156,18 +155,22 @@ void list_draw(struct screen *display, struct gui_synclist *list)
else
vp.x += list_text_vp->width;
display->set_viewport(&vp);
gui_scrollbar_draw(display, 0, 0, SCROLLBAR_WIDTH-1, vp.height,
gui_scrollbar_draw(display, IS_RTL(&vp) ? 1 : 0, 0, SCROLLBAR_WIDTH-1, vp.height,
list->nb_items, list_start_item, list_start_item + end-start,
VERTICAL);
}
else if (show_title)
{
/* shift everything a bit in relation to the title... */
if (scrollbar_in_left)
if (!IS_RTL(list_text_vp) && scrollbar_in_left)
{
list_text_vp->width -= SCROLLBAR_WIDTH;
list_text_vp->x += SCROLLBAR_WIDTH;
}
else if (IS_RTL(list_text_vp) && !scrollbar_in_left)
{
list_text_vp->width -= SCROLLBAR_WIDTH;
}
}
/* setup icon placement */
@ -181,7 +184,7 @@ void list_draw(struct screen *display, struct gui_synclist *list)
list_icons.width = icon_width * icon_count;
list_text_vp->width -= list_icons.width + ICON_PADDING;
if (IS_RTL(&list_icons))
list_icons.x += list_text_vp->width;
list_icons.x += list_text_vp->width + ICON_PADDING;
else
list_text_vp->x += list_icons.width + ICON_PADDING;
}