Ряд улучшений и багфиксов для GRUB2

Материал из Rosalab Wiki
Перейти к: навигация, поиск
м (Новый функционал: пропорциональное масштабирование фонового изображения)
м (Новая опция scrollbar_overlay)
 
(не показана 1 промежуточная версия 1 участника)
Строка 6: Строка 6:
  
 
== Улучшено билинейное масштабирование ==
 
== Улучшено билинейное масштабирование ==
 +
[[Image:grub2-bilinear-before.png|center|framed|Было]]
 +
 
Улучшена реализация алгоритма билинейного масштабирования. Новый алгоритм позволяет избежать артефактов при масштабировании изображения.
 
Улучшена реализация алгоритма билинейного масштабирования. Новый алгоритм позволяет избежать артефактов при масштабировании изображения.
  
[[Image:grub2-bilinear-before.png|center]]
+
 
[[Image:grub2-bilinear-after.png|center]]
+
[[Image:grub2-bilinear-after.png|center|framed|Стало]]
  
 
== Новый функционал: пропорциональное масштабирование фонового изображения ==
 
== Новый функционал: пропорциональное масштабирование фонового изображения ==
 +
 +
[[Image: 2013_10_21-grub2-example2-ru.png|center|framed|Было]]
 +
 
Пропорциональное масштабирование позволяет использовать изображения для мониторов с любым соотношением сторон без искажения пропорций (как обычно, либо с обрезанием, либо с заполнением черным).
 
Пропорциональное масштабирование позволяет использовать изображения для мониторов с любым соотношением сторон без искажения пропорций (как обычно, либо с обрезанием, либо с заполнением черным).
  
[[Image: 2013_10_21-grub2-example2-ru.png|center]]
 
  
[[Image: 2013_10_21-grub2-example1-ru.png|center]]
+
[[Image: 2013_10_21-grub2-example1-ru.png|center|framed|Стало]]
  
 
== Новая опция '''scrollbar-slice''' ==
 
== Новая опция '''scrollbar-slice''' ==
 
В GRUB графическое оформление реализовано в виде «коробок», состоящих из 9 областей. Угловые области не масштабируются,
 
В GRUB графическое оформление реализовано в виде «коробок», состоящих из 9 областей. Угловые области не масштабируются,
  
«северная» (верхняя) и «южная» (нижняя) масштабируются по горизонтали,
+
* «северная» (верхняя) и «южная» (нижняя) масштабируются по горизонтали,
 
+
* «западная» (левая) и «восточная» (правая) — по вертикали,
«западная» (левая) и «восточная» (правая) — по вертикали, центральная — по горизонтали и по вертикали.
+
* центральная — по горизонтали и по вертикали.
  
  
 
Есть элемент графического оформления меню загрузки («menu_pixmap_style»). Можно выбрать, в какой области будет нарисована полоса прокрутки.
 
Есть элемент графического оформления меню загрузки («menu_pixmap_style»). Можно выбрать, в какой области будет нарисована полоса прокрутки.
  
«east», восточная — так же, как было раньше, полоса прокрутки рисуется в восточной части оформления меню.
+
* «east», восточная — так же, как было раньше, полоса прокрутки рисуется в восточной части оформления меню.
 +
* «west», западная — полоса прокрутки рисуется слева от меню, в западной части оформления меню.
  
«west», западная — полоса прокрутки рисуется слева от меню, в западной части оформления меню.
+
Особенна интересна опция «center». Полоса прокрутки рисуется в центральной части оформления меню. В этом случае можно не указывать и не создавать оформление меню. Если полоса прокрутки не нужна (пунктов меню загрузки мало), пункты меню загрузки будут занимать всю ширину центральной части оформления меню (или всю ширину меню загрузки, если оформление не указано). Если полоса прокрутки нужна, ширина пунктов загрузки будет уменьшена. Таким образом, мы получаем более привычное и ожидаемое поведение окошка меню загрузки. Это, к тому же, сильно упрощает процесс разработки новой темы GRUB2.
 
+
Особенна интересна опция «center». Полоса прокрутки рисуется в центрально части оформления меню. В этом случае можно не указывать и не создавать оформление меню. Если полоса прокрутки не нужна (пунктов меню загрузки мало), пункты меню загрузки будут занимать всю ширину центральной части оформления меню (или всю ширину меню загрузки, если оформление не указано). Если полоса прокрутки нужна, ширина пунктов загрузки будет уменьшена. Таким образом, мы получаем более привычное и ожидаемое поведение окошка меню загрузки. Это, к тому же, сильно упрощает процесс разработки новой темы GRUB2.
+
  
 
== Новые опции для отступов полосы прокрутки ==
 
== Новые опции для отступов полосы прокрутки ==
Строка 41: Строка 44:
 
[[Image: 2013_10_21-grub2-scrollbar_with_overlay.png|right]]
 
[[Image: 2013_10_21-grub2-scrollbar_with_overlay.png|right]]
  
Полоса прокрутки состоит из двух графических элементов: фон и ползунок. Если задать «true» для данной области, то центральная область ползунка будет совмещена с центрально областью фона, а все боковые области ползунка будут «наползать» на боковые области фона. Таким образом можно создать полосу прокрутки сложной формы и ползунок будет проходить от края до края.
+
Полоса прокрутки состоит из двух графических элементов: фон и ползунок. Если задать «true» для данной области, то центральная область ползунка будет совмещена с центральной областью фона, а все боковые области ползунка будут «наползать» на боковые области фона. Таким образом можно создать полосу прокрутки сложной формы и ползунок будет проходить от края до края.
 
+
  
 
== Новая опция '''progress_highlight_overlay''' ==
 
== Новая опция '''progress_highlight_overlay''' ==

Текущая версия на 17:06, 22 октября 2013


Наши разработчики продолжают работать над улучшением загрузчика GRUB2.

Были реализованы и приняты в апстрим ещё 14 патчей.

Улучшено билинейное масштабирование

Было

Улучшена реализация алгоритма билинейного масштабирования. Новый алгоритм позволяет избежать артефактов при масштабировании изображения.


Стало

Новый функционал: пропорциональное масштабирование фонового изображения

Было

Пропорциональное масштабирование позволяет использовать изображения для мониторов с любым соотношением сторон без искажения пропорций (как обычно, либо с обрезанием, либо с заполнением черным).


Стало

Новая опция scrollbar-slice

В GRUB графическое оформление реализовано в виде «коробок», состоящих из 9 областей. Угловые области не масштабируются,

  • «северная» (верхняя) и «южная» (нижняя) масштабируются по горизонтали,
  • «западная» (левая) и «восточная» (правая) — по вертикали,
  • центральная — по горизонтали и по вертикали.


Есть элемент графического оформления меню загрузки («menu_pixmap_style»). Можно выбрать, в какой области будет нарисована полоса прокрутки.

  • «east», восточная — так же, как было раньше, полоса прокрутки рисуется в восточной части оформления меню.
  • «west», западная — полоса прокрутки рисуется слева от меню, в западной части оформления меню.

Особенна интересна опция «center». Полоса прокрутки рисуется в центральной части оформления меню. В этом случае можно не указывать и не создавать оформление меню. Если полоса прокрутки не нужна (пунктов меню загрузки мало), пункты меню загрузки будут занимать всю ширину центральной части оформления меню (или всю ширину меню загрузки, если оформление не указано). Если полоса прокрутки нужна, ширина пунктов загрузки будет уменьшена. Таким образом, мы получаем более привычное и ожидаемое поведение окошка меню загрузки. Это, к тому же, сильно упрощает процесс разработки новой темы GRUB2.

Новые опции для отступов полосы прокрутки

Можно задать отступы для полосы прокрутки в пикселях.

Новая опция scrollbar_overlay

2013 10 21-grub2-scrollbar without overlay.png
2013 10 21-grub2-scrollbar with overlay.png

Полоса прокрутки состоит из двух графических элементов: фон и ползунок. Если задать «true» для данной области, то центральная область ползунка будет совмещена с центральной областью фона, а все боковые области ползунка будут «наползать» на боковые области фона. Таким образом можно создать полосу прокрутки сложной формы и ползунок будет проходить от края до края.

Новая опция progress_highlight_overlay

Аналогично «scrollbar_overlay», но для горизонтального индикатора отсчёта обратного времени.

2013 10 21-grub2-highlight without overlay-ru.png
2013 10 21-grub2-highlight with overlay-ru.png

Исправлен подсчет минимальной ширины меню загрузки

Если задать значение ширины меньше, чем минимально необходимое, меню загрузки будет автоматически расширено. Формула расчёта минимальной ширины была улучшена.

Исправлена прорисовка полосы прокрутки (1 патч)

Ранее полоса прокрутки прорисовывалась неверно, если использовать все 9 областей для фона и для ползунка.

Исправлена прорисовка полосы прокрутки (2 патч)

Когда расчётная высота ползунка становится слишком маленькой, необходимо использовать другой алгоритм, чтобы избежать ошибки.

Исправлено отображение горизонтального индикатора отсчёта обратного времени

Были проблемы с прорисовкой горизонтального индикатора отсчёта обратного времени в случае, если выделение имеет западные / восточные области.

Исправлена утечка памяти

Обнаружена и исправлена утечка памяти.

Реализована проверка корректности параметров полосы прокрутки

Обеспечение корректного поведения в случае неверных параметров.

Реализована проверка корректности параметров горизонтального индикатора отсчёт обратного времени

Обеспечение корректного поведения в случае неверных параметров.

Обновление официальной документации

Документация, относящаяся к синтаксису тем GRUB приведена в актуальное состояние.

Надеюсь, эта новость вас…

Ввела в экстаз ^_^10
63%
Порадовала :)6
38%
Оставила равнодушным -_-0
0%
Огорчила :(0
0%

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.