revert that scroll engine stuff... good in theory, but broken.
commit a band-aid fix for FS#9140 which is fine untill someone decides to not use the whole screen for it... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17916 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
d69573e314
commit
144f39b4ea
2 changed files with 5 additions and 29 deletions
|
@ -145,6 +145,7 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message,
|
|||
yn[i].display=&screens[i];
|
||||
yn[i].vp = &vp[i];
|
||||
viewport_set_defaults(yn[i].vp, i);
|
||||
screens[i].stop_scroll();
|
||||
gui_yesno_draw(&(yn[i]));
|
||||
}
|
||||
while (result==-1)
|
||||
|
|
|
@ -84,25 +84,6 @@ void lcd_stop_scroll(void)
|
|||
lcd_scroll_info.lines = 0;
|
||||
}
|
||||
|
||||
/* returns true if the 'line' in 'lines_vp' would scroll into 'othervp' */
|
||||
static bool line_overlaps_viewport(struct viewport *lines_vp, int line,
|
||||
struct viewport *othervp)
|
||||
{
|
||||
#if 0
|
||||
#ifdef HAVE_LCD_BITMAP
|
||||
int y = (font_get(lines_vp->font)->height*line) + lines_vp->y;
|
||||
#else
|
||||
int y = lines_vp->y+line;
|
||||
#endif
|
||||
if (y < othervp->y || y > othervp->y + othervp->height)
|
||||
return false;
|
||||
else if ((lines_vp->x + lines_vp->width < othervp->x) ||
|
||||
(othervp->x + othervp->width < lines_vp->x))
|
||||
return false;
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
/* Stop scrolling line y in the specified viewport, or all lines if y < 0 */
|
||||
void lcd_scroll_stop_line(struct viewport* current_vp, int y)
|
||||
{
|
||||
|
@ -110,11 +91,8 @@ void lcd_scroll_stop_line(struct viewport* current_vp, int y)
|
|||
|
||||
while (i < lcd_scroll_info.lines)
|
||||
{
|
||||
if (((lcd_scroll_info.scroll[i].vp == current_vp) &&
|
||||
((y < 0) || (lcd_scroll_info.scroll[i].y == y))) ||
|
||||
((lcd_scroll_info.scroll[i].vp != current_vp) &&
|
||||
line_overlaps_viewport(lcd_scroll_info.scroll[i].vp,
|
||||
lcd_scroll_info.scroll[i].y, current_vp)))
|
||||
if ((lcd_scroll_info.scroll[i].vp == current_vp) &&
|
||||
((y < 0) || (lcd_scroll_info.scroll[i].y == y)))
|
||||
{
|
||||
/* If i is not the last active line in the array, then move
|
||||
the last item to position i */
|
||||
|
@ -189,11 +167,8 @@ void lcd_remote_scroll_stop_line(struct viewport* current_vp, int y)
|
|||
|
||||
while (i < lcd_remote_scroll_info.lines)
|
||||
{
|
||||
if (((lcd_remote_scroll_info.scroll[i].vp == current_vp) &&
|
||||
((y < 0) || (lcd_remote_scroll_info.scroll[i].y == y))) ||
|
||||
(((lcd_remote_scroll_info.scroll[i].vp != current_vp) &&
|
||||
line_overlaps_viewport(lcd_scroll_info.scroll[i].vp,
|
||||
lcd_scroll_info.scroll[i].y, current_vp))))
|
||||
if ((lcd_remote_scroll_info.scroll[i].vp == current_vp) &&
|
||||
((y < 0) || (lcd_remote_scroll_info.scroll[i].y == y)))
|
||||
{
|
||||
/* If i is not the last active line in the array, then move
|
||||
the last item to position i */
|
||||
|
|
Loading…
Reference in a new issue