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

@ -79,7 +79,7 @@ canvas_is_instance (void *vself __attribute__((unused)), const char *type)
}
static void
canvas_paint (void *vself)
canvas_paint (void *vself, const grub_video_rect_t *region)
{
grub_gui_canvas_t self = vself;
struct component_node *cur;
@ -106,7 +106,8 @@ canvas_paint (void *vself)
}
/* Paint the child. */
comp->ops->paint (comp);
if (grub_video_have_common_points (region, &r))
comp->ops->paint (comp, region);
}
grub_gui_restore_viewport (&vpsave);
}