* gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
* term/gfxterm.c (real_scroll): Likewise.
This commit is contained in:
parent
9a25f885d3
commit
5f2316c1fe
3 changed files with 25 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
|
||||||
|
* term/gfxterm.c (real_scroll): Likewise.
|
||||||
|
|
||||||
2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
|
2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
|
* kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
|
||||||
|
|
|
@ -110,6 +110,13 @@ grub_gfxmenu_try (int entry, grub_menu_t menu, int nested)
|
||||||
view->nested = nested;
|
view->nested = nested;
|
||||||
view->first_timeout = -1;
|
view->first_timeout = -1;
|
||||||
|
|
||||||
|
grub_video_set_viewport (0, 0, mode_info.width, mode_info.height);
|
||||||
|
if (view->double_repaint)
|
||||||
|
{
|
||||||
|
grub_video_swap_buffers ();
|
||||||
|
grub_video_set_viewport (0, 0, mode_info.width, mode_info.height);
|
||||||
|
}
|
||||||
|
|
||||||
grub_gfxmenu_view_draw (view);
|
grub_gfxmenu_view_draw (view);
|
||||||
|
|
||||||
instance->data = view;
|
instance->data = view;
|
||||||
|
|
|
@ -707,12 +707,6 @@ real_scroll (void)
|
||||||
draw_cursor (0);
|
draw_cursor (0);
|
||||||
|
|
||||||
grub_video_set_active_render_target (render_target);
|
grub_video_set_active_render_target (render_target);
|
||||||
/* Save viewport and set it to our window. */
|
|
||||||
grub_video_get_viewport ((unsigned *) &saved_view.x,
|
|
||||||
(unsigned *) &saved_view.y,
|
|
||||||
(unsigned *) &saved_view.width,
|
|
||||||
(unsigned *) &saved_view.height);
|
|
||||||
grub_video_set_viewport (window.x, window.y, window.width, window.height);
|
|
||||||
|
|
||||||
i = window.double_repaint ? 2 : 1;
|
i = window.double_repaint ? 2 : 1;
|
||||||
|
|
||||||
|
@ -720,6 +714,15 @@ real_scroll (void)
|
||||||
|
|
||||||
while (i--)
|
while (i--)
|
||||||
{
|
{
|
||||||
|
/* Save viewport and set it to our window. */
|
||||||
|
grub_video_get_viewport ((unsigned *) &saved_view.x,
|
||||||
|
(unsigned *) &saved_view.y,
|
||||||
|
(unsigned *) &saved_view.width,
|
||||||
|
(unsigned *) &saved_view.height);
|
||||||
|
|
||||||
|
grub_video_set_viewport (window.x, window.y, window.width,
|
||||||
|
window.height);
|
||||||
|
|
||||||
/* Clear new border area. */
|
/* Clear new border area. */
|
||||||
grub_video_fill_rect (color,
|
grub_video_fill_rect (color,
|
||||||
virtual_screen.offset_x,
|
virtual_screen.offset_x,
|
||||||
|
@ -735,6 +738,10 @@ real_scroll (void)
|
||||||
grub_video_scroll (color, 0, -virtual_screen.normal_char_height
|
grub_video_scroll (color, 0, -virtual_screen.normal_char_height
|
||||||
* virtual_screen.total_scroll);
|
* virtual_screen.total_scroll);
|
||||||
|
|
||||||
|
/* Restore saved viewport. */
|
||||||
|
grub_video_set_viewport (saved_view.x, saved_view.y,
|
||||||
|
saved_view.width, saved_view.height);
|
||||||
|
|
||||||
if (i)
|
if (i)
|
||||||
grub_video_swap_buffers ();
|
grub_video_swap_buffers ();
|
||||||
}
|
}
|
||||||
|
@ -746,9 +753,6 @@ real_scroll (void)
|
||||||
grub_video_scroll (color, 0, -virtual_screen.normal_char_height
|
grub_video_scroll (color, 0, -virtual_screen.normal_char_height
|
||||||
* virtual_screen.total_scroll);
|
* virtual_screen.total_scroll);
|
||||||
|
|
||||||
/* Restore saved viewport. */
|
|
||||||
grub_video_set_viewport (saved_view.x, saved_view.y,
|
|
||||||
saved_view.width, saved_view.height);
|
|
||||||
grub_video_set_active_render_target (render_target);
|
grub_video_set_active_render_target (render_target);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue