[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] fix menu size calculation in presence of selected item pixma
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: [PATCH] fix menu size calculation in presence of selected item pixmap |
Date: |
Mon, 08 Apr 2013 20:51:17 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12 |
On 21.02.2013 18:36, Andrey Borzenkov wrote:
> draw_menu() acconted for upper border of selected item pixmap, but not
> for lower. So it could happen that lower border was visually cut off.
>
> Also various calculations of menu vertical size did not account for
> space for lower border
>
> Signed-off-by: Andrey Borzenkov <address@hidden>
>
> ---
> grub-core/gfxmenu/gui_list.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/grub-core/gfxmenu/gui_list.c b/grub-core/gfxmenu/gui_list.c
> index 1982d9a..5c83383 100644
> --- a/grub-core/gfxmenu/gui_list.c
> +++ b/grub-core/gfxmenu/gui_list.c
> @@ -97,8 +97,14 @@ get_num_shown_items (list_impl_t self)
> grub_gfxmenu_box_t box = self->menu_box;
> int box_top_pad = box->get_top_pad (box);
> int box_bottom_pad = box->get_bottom_pad (box);
> +
> + grub_gfxmenu_box_t selbox = self->selected_item_box;
> + int sel_top_pad = selbox->get_top_pad (selbox);
> + int sel_bottom_pad = selbox->get_bottom_pad (selbox);
> +
>
> return (self->bounds.height + item_vspace - 2 * boxpad
> + - sel_top_pad - sel_bottom_pad
I don't see the logic behind this. item_top in draw_menu doesn't
increase more on selected item than on any other one.
> - box_top_pad - box_bottom_pad) / (item_height + item_vspace);
> }
>
> @@ -392,7 +398,8 @@ list_get_minimal_size (void *vself, unsigned *width,
> unsigned *height)
> unsigned width_s;
>
> grub_gfxmenu_box_t selbox = self->selected_item_box;
> - int sel_toppad = selbox->get_top_pad (selbox);
> + int sel_top_pad = selbox->get_top_pad (selbox);
> + int sel_bottom_pad = selbox->get_bottom_pad (selbox);
>
> *width = grub_font_get_string_width (self->item_font, "Typical OS");
> width_s = grub_font_get_string_width (self->selected_item_font,
> @@ -406,7 +413,7 @@ list_get_minimal_size (void *vself, unsigned *width,
> unsigned *height)
> *height = (item_height * num_items
> + item_vspace * (num_items - 1)
> + 2 * boxpad
> - + box_top_pad + box_bottom_pad + sel_toppad);
> + + box_top_pad + box_bottom_pad + sel_top_pad +
> sel_bottom_pad);
> }
> else
> {
signature.asc
Description: OpenPGP digital signature
- Re: [PATCH] fix menu size calculation in presence of selected item pixmap,
Vladimir 'φ-coder/phcoder' Serbinenko <=