Important speedup by not redrawing too much

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2009-11-24 07:17:18 +01:00
parent 4545f150f3
commit 947fa16c8b
11 changed files with 221 additions and 73 deletions

View file

@ -311,16 +311,18 @@ draw_menu (list_impl_t self)
}
static void
list_paint (void *vself)
list_paint (void *vself, const grub_video_rect_t *region)
{
list_impl_t self = vself;
grub_video_rect_t vpsave;
if (! self->visible)
return;
if (!grub_video_have_common_points (region, &self->bounds))
return;
check_boxes (self);
grub_video_rect_t vpsave;
grub_gui_set_viewport (&self->bounds, &vpsave);
draw_menu (self);
grub_gui_restore_viewport (&vpsave);