1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lupyuen-lvgl-wayland

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 18:37 18eaf5e

Changelog

v7.3.0 (планируется 04.08.2020)

Доступно в ветке dev

v7.2.0 (планируется 21.07.2020)

Доступно в ветке master

Новые функции

  • Добавить LV_CALENDAR_WEEK_STARTS_MONDAY.
  • Добавить функцию lv_chart_set_x_start_point() — установить индекс начальной точки оси X в массиве данных.
  • Добавить функцию lv_chart_set_ext_array() — задать внешний массив точек данных для использования в диаграмме.
  • Добавить функцию lv_chart_set_point_id() — задать индивидуальное значение точки в серии диаграммы напрямую на основе индекса.
  • Добавить функцию lv_chart_get_x_start_point() — получить текущий индекс начальной точки оси X в массиве данных.
  • Добавить функцию lv_chart_get_point_id() — получить индивидуальное значение точки в серии диаграммы напрямую на основе индекса.
  • Добавить битовое поле ext_buf_assigned в структуру lv_chart_series_t — оно истинно, если серии назначен внешний буфер.
  • Добавить lv_chart_set_series_axis(), чтобы назначить серию первичной или вторичной оси.
  • Добавить lv_chart_set_y_range(), чтобы разрешить настройку диапазона вторичной оси Y (на основе lv_chart_set_range, но расширен параметром оси).
  • Разрешить настройку другого шрифта для выделенного текста в lv_roller.
  • Добавить theme->apply_cb, чтобы заменить theme->apply_xcb и сделать его совместимым с привязкой MicroPython.
  • Добавить lv_theme_set_base(), чтобы упростить расширение встроенных (или любых) тем.
  • Добавить функции lv_obj_align_x() и lv_obj_align_y().
  • Добавить функции lv_obj_align_origo_x() и lv_obj_align_origo_y().

Исправления ошибок

  • tileview: исправить навигацию, когда размер экрана не соответствует размеру.
  • Использовать шрифт размером 14 пикселей по умолчанию для лучшей совместимости с небольшими дисплеями.
  • linemeter: исправить преобразование текущего значения в «уровень».
  • Исправить рисование на правой границе.
  • Установить изображение курсора некликабельным по умолчанию.

v7.1.0 (07.07.2020)

Новые функции

  • Добавить атрибут focus_parent к lv_obj.
  • Разрешить использование кнопок в устройстве ввода энкодера.
  • Добавить возможность lv_btnmatrix_set/get_align.
  • DMA2D: удалить зависимость от ST CubeMX HAL.
  • Добавлена собственность max_used в lv_mem_monitor_t.
  • В lv_init проверить, закодированы ли строки в UTF-8.
  • Добавить пользовательские данные в темы.
  • Добавить флаг LV_BIG_ENDIAN_SYSTEM в lv_conf.h, чтобы исправить отображение изображений на системах с прямым порядком байтов.
  • Добавить встроенную функцию lv_checkbox_get_state(const lv_obj_t * cb) для расширения функциональности флажка.
  • Добавить встроенную функцию lv_checkbox_set_state(const lv_obj_t * cb, lv_btn_state_t state ) для расширения функциональности флажка.

Исправления ошибок

  • lv_img: исправить область аннулирования при изменении угла или масштаба.
  • Обновить обработку стиля для поддержки больших конечных MCU.
  • Изменить некоторые методы для поддержки оборудования с большим конечным числом.
  • Удалить использование ключевого слова C++ new в параметре функции lv_theme_set_base().
  • Добавить флаг LV_BIG_ENDIAN_SYSTEM в lv_conf.h, чтобы исправить отображение изображений на системах с прямым порядком байтов.
  • Исправить вставку символов в текстовую область на оборудовании с большим конечным числом. Memory leak

img: улучшить проверку на попадание для преобразованных изображений.

v7.0.1 (01.06.2020)

Исправления ошибок

  • Сделать Microptyhon рабочим, добавив необходимые переменные в качестве GC_ROOT.
  • Префикс некоторых внутренних API-функций с _, чтобы уменьшить API LVGL.
  • Исправить встроенный шрифт SimSun CJK.
  • Исправлена кодировка UTF-8 при включённой опции LV_USE_ARABIC_PERSIAN_CHARS.
  • Исправлено использование DMA2D при прямом смешивании 32-битных изображений.
  • Исправлен lv_roller в бесконечном режиме при использовании с энкодером.
  • Добавить lv_theme_get_color_secondary().
  • Добавить LV_COLOR_MIX_ROUND_OFS, чтобы настроить смешивание цветов и сделать его совместимым с GPU.
  • Улучшено смешивание DMA2D.
  • Удалить memcpy из lv_ll (вызывал проблемы с некоторыми настройками оптимизации).
  • Исправление отрисовки тиков X в lv_chart.
  • Исправлено рисование вертикальной пунктирной линии.
  • Некоторые дополнительные мелкие исправления и форматирование.

v7.0.0 (18.05.2020)

Документация

Документация для версии v7 доступна по адресу https://docs.littlevgl.com/v7/en/html/index.html.

Юридические изменения

Название проекта изменено на LVGL, новый веб-сайт находится по адресу https://lvgl.io.

LVGL остаётся бесплатным на тех же условиях (лицензия MIT), создана компания для управления LVGL и предоставления услуг.

Новая система рисования

Полная переработка движка рисования LVGL для использования «масок» для более продвинутых и высококачественных графических эффектов. Возможный вариант использования этой системы — удаление переполняющегося содержимого из закруглённых краёв. Также она позволяет рисовать идеально сглаженные круги, линии и дуги. Внутренне рисунки создаются путём определения масок (например, закруглённый прямоугольник, линия, угол). Когда что-то рисуется, текущие активные маски могут сделать некоторые пиксели прозрачными. Например, границы прямоугольников рисуются с использованием двух прямоугольных масок: одна маска удаляет внутреннюю часть, а другая — внешнюю.

API в этом отношении остался прежним, но были добавлены некоторые новые функции:

  • lv_img_set_zoom: установить коэффициент масштабирования объекта изображения;
  • lv_img_set_angle: установить угол объекта изображения без использования холста;
  • lv_img_set_pivot: установить точку вращения объекта изображения.

Новая система рисования также принесла новые возможности рисования, которые выделены в разделе «Стиль».

Новая система стилей

Старая система стилей заменена новой, более гибкой и облегчённой. Она использует подход, аналогичный CSS: поддерживает каскадные стили, наследует свойства и локальные свойства стиля для каждого объекта. В рамках этих обновлений многие объекты были переработаны, и API были изменены.

  • Дополнительные параметры теней: offset и spread.
  • Положение остановки градиента для смещения области градиента и горизонтального градиента.
  • Режимы смешивания LV_BLEND_MODE_NORMAL/ADDITIVE/SUBTRACTIVE.
  • clip corner: обрезка содержимого на закруглённых углах.
  • Подчёркивание и зачёркивание текста.
  • Пунктирные вертикальные и горизонтальные линии (dash gap, dash_width).
  • outline: граница, подобная части, нарисованной вне фона. Может иметь отступ от фона.
  • pattern: отображение и изображение в середине фона или повторение его.
  • value: отображает текст, который хранится в стиле. Его можно использовать, например, как облегчённый текст на кнопках.
  • margin: аналогично padding, но используется для сохранения пространства снаружи объекта.

Прочитайте раздел «Стиль» в документации, чтобы узнать, как работает новая система стилей.

Интеграция с графическим процессором

Для лучшего использования графических процессоров с этой версии можно интегрировать использование графического процессора в LVGL. В lv_conf.h любые поддерживаемые графические процессоры можно включить с помощью одной опции конфигурации.

На данный момент интегрирован только ST DMA2D (Chrom-ART). Больше будет в следующих выпусках.

Переименования

Переименованы следующие типы объектов:

  • sw -> switch;
  • ta -> textarea;
  • cb -> checkbox;
  • lmeter -> linemeter;
  • mbox -> msgbox;
  • ddlist -> dropdown;
  • btnm -> btnmatrix;
  • kb -> keyboard;
  • preload -> spinner;
  • lv_objx folder -> lv_widgets;
  • LV_FIT_FILL -> LV_FIT_PARENT;
  • LV_FIT_FLOOD -> LV_FLOOD_MAX;
  • LV_LAYOUT_COL_L/M/R -> LV_LAYOUT_COLUMN_LEFT/MID/RIGHT;
  • LV_LAYOUT_ROW_T/M/B -> LV_LAYOUT_ROW_TOP/MID/BOTTOM.

Переработанный и улучшенный объект

  • Выпадающий список: полностью переработан. Теперь создаёт отдельный список, когда... Открыт и может быть перемещён вниз/вверх/влево/вправо.
  • label: body_draw удалён, вместо этого, если его стиль имеет видимый фон/границу/тень и т. д., он будет нарисован. Отступ действительно делает объект больше (не только виртуально, как раньше).
  • arc: также может рисовать фон.
  • btn: не сохраняет стили для каждого состояния, потому что это делается естественным образом в новой системе стилей.
  • calendar: выделяет нажатую дату. Используемые стили изменены: используйте LV_CALENDAR_PART_DATE для обычных дат, проверено для выделенных, сфокусировано на сегодня, нажато для нажатого. (проверено + нажато, сфокусированное + нажатое также работает)
  • chart: имеет только типы LINE и COLUMN, поскольку с новыми стилями все остальные могут быть описаны. LV_CHART_PART_SERIES устанавливает стиль серии. bg_opa > 0 рисует область в режиме LINE. Также добавлен LV_CHART_PART_SERIES_BG, чтобы установить другой стиль для области серии. Отступ в LV_CHART_PART_BG делает область серии меньше и обеспечивает пространство для меток/чисел осей.
  • linemeter, gauge: могут иметь фон, если установлены соответствующие свойства стиля. Отступ делает шкалу/линии меньше. scale_border_width и scale_end_border_width позволяют нарисовать дугу на внешней части линий шкалы.
  • gauge: lv_gauge_set_needle_img позволяет использовать изображение в качестве иглы.
  • canvas: позволяет рисовать в истинный цвет альфа и альфа только холст, добавить lv_canvas_blur_hor/ver и переименовать lv_canvas_rotate в lv_canvas_transform.
  • textarea: Если доступно в шрифте, используйте символ пули (U+2022) в текстовой области пароля.

Новые типы объектов

  • lv_objmask: к нему можно добавлять маски. Дети будут замаскированы соответствующим образом.

Прочее

  • Изменить встроенные шрифты на Montserrat и добавить встроенные шрифты от 12 пикселей до 48 пикселей для каждого второго размера.
  • Добавить пример CJK и арабский/персидский/иврит встроенный шрифт.
  • Добавить ° и «пулю» во встроенные шрифты.
  • Добавить поддержку арабского/персидского сценария: изменить символ в соответствии с его положением в тексте.
  • Добавить playback_time к анимациям.
  • Вместо текущего «повторять вечно» добавить repeat_count к анимациям.
  • Заменить LV_LAYOUT_PRETTY на LV_LAYOUT_PRETTY_TOP/MID/BOTTOM.

Демоверсии

  • lv_examples был переработан, добавлены новые примеры и демоверсии.

Новая политика выпуска

  • Вести этот журнал изменений для каждого выпуска.
  • Сохранять старую основную версию в новых ветках. Например, release/v6.
  • Объединять новые функции и исправления непосредственно в master и выпускать патч или минорные версии каждые 2 недели.

Миграция с v6 на v7

  • Прежде всего, создайте новый lv_conf.h на основе lv_conf_templ.h.
  • Чтобы попробовать новую версию, рекомендуется использовать проект симулятора и посмотреть примеры.
  • Если у вас есть работающий проект, самая сложная часть миграции — переход на новую систему стилей. К сожалению, нет лучшего способа, чем вручную перейти на новый формат.
  • Остальные части в основном представляют собой незначительные переименования и рефакторинг, как описано выше.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lupyuen-lvgl-wayland.git
git@api.gitlife.ru:oschina-mirror/lupyuen-lvgl-wayland.git
oschina-mirror
lupyuen-lvgl-wayland
lupyuen-lvgl-wayland
master