Take into account the decorations the computing menu entry width.

* grub-core/gfxmenu/widget-box.c (get_border_width): New function.
	(grub_gfxmenu_create_box): Register get_border_width.
	* grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
	if available.
	* include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
	get_border_width.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-04-19 00:44:53 +02:00
parent e74b3947af
commit abc474ef4b
4 changed files with 25 additions and 2 deletions

View file

@ -178,6 +178,13 @@ set_content_size (grub_gfxmenu_box_t self,
return;
}
static int
get_border_width (grub_gfxmenu_box_t self)
{
return (get_width (self->raw_pixmaps[BOX_PIXMAP_E])
+ get_width (self->raw_pixmaps[BOX_PIXMAP_W]));
}
static int
get_left_pad (grub_gfxmenu_box_t self)
{
@ -288,6 +295,8 @@ grub_gfxmenu_create_box (const char *pixmaps_prefix,
box->draw = draw;
box->set_content_size = set_content_size;
box->get_border_width = get_border_width;
box->get_left_pad = get_left_pad;
box->get_top_pad = get_top_pad;
box->get_right_pad = get_right_pad;