Out developers continue upgrading the GRUB2 bootloader.
There were 14 patches made and token into the upstream.
Bilinear scaling algorithm was updated to make calculations with more precision. It helps to avoid some artifacts.
Proportional scaling makes it possible to use the background image for displays with different aspect ratio without the distortion of proportions.
Graphical decoration is realized with "boxes", consisting of 9 slices. Corner slices are not scaled.
"North" (upper one) and "south" (bottom one) are scaled horizontally.
"West" (left one) and "east" (right one) are scaled vertically. Center slice is scaled horizontally and vertically.
There can be a graphical decoration of the boot menu. ("menu_pixmap_style"). You can select the slice where the scrollbar will be drawn.
"east" - the same behavior as before, the scrollbar is being drawn in the east slice of the boot menu decoration.
"west" - the scrollbar is being drawn to the left of the boot menu, in the west slice of the boot menu decoration.
The most interesting option is "center". The scrollbar is being drawn in the center slice. Graphical decoration of the boot menu is not necessary. If the scrollbar isn't needed (there are few boot entries) boot entries will be scaled to fit the width of the center slice of the boot menu. (or all the space if there is no menu decoration) If the scrollbar is needed then the width of the boot entries will be decreased. That way we will get common behavior of the boot menu window. Also it simplifies the creation of a new theme for GRUB2.
We can set the scrollbar paddings in pixels.
The scrollbar consists from two graphical decorations: the frame and the thumb. If this option is set to "true", then the central slice of the thumb will be combined with the central slice of the frame and all side slices of the thumb will overlay side slices of the frame. That way we can create more complex scrollbar with the thumb moving from the edge to the edge.
Similar to "scrollbar_overlay" but for the progress bar.
If the width is set to be less then minimal value then the boot menu will be automatically widened. The formula for width calculating was updated.
Progress bar was incorrectly drawn before in case of using all 9 slices of the scrollbar thumb.
If calculated height of the thumb is too low then we need another algorithm to avoid the error.
There were troubles with drawing of the progress bar if the highlight had west / east slices.
Memory leak was found and fixed.
It supports correct behavior in cases of incorrect parameters.
It supports correct behavior in cases of incorrect parameters.
GRUB2 theme syntax documentation was brought to actual state.