Sat 02 May 2015 02:51:03 AM UTC, original submission:
Hi!
While playing with a theme I noticed that changing item selection triggers drawing bugs with (selected_)item_pixmap_style images making use an alpha channel (i.e. partial or full transparency.
In the screenshots attached you can see a simple theme right after loading and after a few keypresses changing selection (<down>, <down>, <up> to be precise).
The screenshots show that the current rendering behavior does paint the (selected_)item_pixmap_style images on top of whatever was there before rather than re-painting that area from the ground up. (Any ideas why only part looks broken while the leftmost third remains looking sane?) The rendering order needed for both the item obtaining selection and the item losing selection in my eyes would be:
Background color
then background image
then (selected_)item_pixmap_style images
then text
I'll also attach the related theme.txt.
For the selected_item_pixmap_style, center/north/south are 30% opaque white, the others 100% opaque.
For the item_pixmap_style, all of them are 0% opaque.
Version of GRUB is 2.02~beta2.
I'm not sure if that's related but I noticed that function canvas_paint reads
if (canvas_area_status == GRUB_VIDEO_AREA_ENABLED)
grub_video_set_area_status (GRUB_VIDEO_AREA_ENABLED);
in Git. It looks to me like one of those should be _DISABLED, instead. True?
Would be cool to hear from you.
Best, Sebastian
|