grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] grub-core/gfxmenu/widget-box.c - bugfix: incorrect drawing i


From: Vladimir Testov
Subject: Re: [PATCH] grub-core/gfxmenu/widget-box.c - bugfix: incorrect drawing in cases of NULL center slice
Date: Mon, 22 Jul 2013 11:36:11 +0400
User-agent: KMail/4.10.4 (Linux/3.8.0-26-generic; KDE/4.10.4; x86_64; ; )

On Saturday, July 20, 2013 06:18:04 PM Andrey Borzenkov wrote:
> В Wed, 17 Jul 2013 21:55:58 +0400
> 
> Vladimir Testov <address@hidden> пишет:
> > See screenshots included.
> > 
> > If the center slice is NULL then west or north slice is also NULL
> 
> Why? As far as I can tell code is supposed to scale all parts of
> bitmap. What triggers this problem?

Code is supposed to scale all parts of a bitmap. Yes.

It does actually. But if the bitmap's size is zero then scaled bitmap won't be 
created.

There are two arrays of bitmaps: original and scaled. Some of the scaled 
bitmaps can be non-existent. And for correct drawing of the styled box with 
some zero sizes (e.g. very short scrollbar thumb, it's west slice will have 
zero height) will be drawn incorrectly because the west SCALED bitmap wasn't 
created. The west slice is scaled horizontally. It's width should be always 
the same as the ORIGINAL west slice's width.

So if we would like to draw a styled box correctly we should take original 
west slice's width. (of height of the north slice).

> >                                                                    so the
> > 
> > height_n or width_w is also NULL. We can count these values from raw (non-
> > scaled) bitmaps. The values will be the same as before for common cases.
> > And the bug will be fixed.


> 
> This looks more like a workaround for some other problem. Also while
> currently width (for W) or height (for N) does not change, it may be
> reimplemented in the future. In this case this patch will create hard
> to spot bug.

No, this is not a workaround for some other problem.
As I understand, it's the idea of the styled box - make corner slices be 
constant and others to be correspondingly scaled. And sizes of the bitmaps 
should be correct. (e.g. widths of W, NW, SW are the same)

If this conception is about to change then themes written before won't be 
corrcectly shown. I mean loosing of backward compatibility.

I don't see how the styled box concepts are going to change... Could you 
please give an example of the concept?

I still think this patch is needed and that it's correct.

Maybe it should be modified to correspond some ideas.

And maybe the styled box algorithms should be updated. :)


Thanks for the reply!

-- 
With best regards,
_______________________________
Vladimir Testov, ROSA Laboratory.
www.rosalab.ru



reply via email to

[Prev in Thread] Current Thread [Next in Thread]