forked from len0rd/rockbox
FS#9051 - remove LCD margins... use viewports if you need them...
NOTE to WPS people.... %m has been removed, but (i think) because of the other %m tags it wont fail if you try loading a wps with %m|..|, it will just be ignored. Also note that if the statusbar is enabled the default viewport is 8 pixels shorter than when its not, i.e (0,0) is really (0,8) if the statusbar is shown... I dont think this will be a major issue because almost no WPS show the bar and use bitmaps... text only WPS shouldnt be affected. Please report problem screens in http://forums.rockbox.org/index.php?topic=17358.0 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17763 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
c1b8df05e1
commit
bdbdb97f19
38 changed files with 145 additions and 418 deletions
|
|
@ -61,8 +61,6 @@ static struct viewport default_vp =
|
|||
.height = LCD_HEIGHT,
|
||||
.font = FONT_SYSFIXED,
|
||||
.drawmode = DRMODE_SOLID,
|
||||
.xmargin = 0,
|
||||
.ymargin = 0,
|
||||
.fg_pattern = LCD_DEFAULT_FG,
|
||||
.bg_pattern = LCD_DEFAULT_BG,
|
||||
.lss_pattern = LCD_DEFAULT_BG,
|
||||
|
|
@ -180,12 +178,6 @@ void lcd_set_drawinfo(int mode, unsigned fg_color, unsigned bg_color)
|
|||
current_vp->bg_pattern = bg_color;
|
||||
}
|
||||
|
||||
void lcd_setmargins(int x, int y)
|
||||
{
|
||||
current_vp->xmargin = x;
|
||||
current_vp->ymargin = y;
|
||||
}
|
||||
|
||||
int lcd_getwidth(void)
|
||||
{
|
||||
return current_vp->width;
|
||||
|
|
@ -196,16 +188,6 @@ int lcd_getheight(void)
|
|||
return current_vp->height;
|
||||
}
|
||||
|
||||
int lcd_getxmargin(void)
|
||||
{
|
||||
return current_vp->xmargin;
|
||||
}
|
||||
|
||||
int lcd_getymargin(void)
|
||||
{
|
||||
return current_vp->ymargin;
|
||||
}
|
||||
|
||||
void lcd_setfont(int newfont)
|
||||
{
|
||||
current_vp->font = newfont;
|
||||
|
|
@ -1005,8 +987,8 @@ void lcd_puts_style_offset(int x, int y, const unsigned char *str, int style,
|
|||
return;
|
||||
|
||||
lcd_getstringsize(str, &w, &h);
|
||||
xpos = current_vp->xmargin + x*w / utf8length(str);
|
||||
ypos = current_vp->ymargin + y*h;
|
||||
xpos = x*w / utf8length(str);
|
||||
ypos = y*h;
|
||||
current_vp->drawmode = (style & STYLE_INVERT) ?
|
||||
(DRMODE_SOLID|DRMODE_INVERSEVID) : DRMODE_SOLID;
|
||||
if (style & STYLE_COLORED) {
|
||||
|
|
@ -1081,7 +1063,7 @@ void lcd_puts_scroll_style_offset(int x, int y, const unsigned char *string,
|
|||
|
||||
lcd_getstringsize(string, &w, &h);
|
||||
|
||||
if (current_vp->width - x * 8 - current_vp->xmargin < w) {
|
||||
if (current_vp->width - x * 8 < w) {
|
||||
/* prepare scroll line */
|
||||
char *end;
|
||||
|
||||
|
|
@ -1094,7 +1076,7 @@ void lcd_puts_scroll_style_offset(int x, int y, const unsigned char *string,
|
|||
/* scroll bidirectional or forward only depending on the string
|
||||
width */
|
||||
if ( lcd_scroll_info.bidir_limit ) {
|
||||
s->bidir = s->width < (current_vp->width - current_vp->xmargin) *
|
||||
s->bidir = s->width < (current_vp->width) *
|
||||
(100 + lcd_scroll_info.bidir_limit) / 100;
|
||||
}
|
||||
else
|
||||
|
|
@ -1113,7 +1095,7 @@ void lcd_puts_scroll_style_offset(int x, int y, const unsigned char *string,
|
|||
s->y = y;
|
||||
s->len = utf8length(string);
|
||||
s->offset = offset;
|
||||
s->startx = current_vp->xmargin + x * s->width / s->len;
|
||||
s->startx = x * s->width / s->len;
|
||||
s->backward = false;
|
||||
lcd_scroll_info.lines++;
|
||||
}
|
||||
|
|
@ -1159,7 +1141,7 @@ void lcd_scroll_fn(void)
|
|||
|
||||
pf = font_get(current_vp->font);
|
||||
xpos = s->startx;
|
||||
ypos = current_vp->ymargin + s->y * pf->height;
|
||||
ypos = s->y * pf->height;
|
||||
|
||||
if (s->bidir) { /* scroll bidirectional */
|
||||
if (s->offset <= 0) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue