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

OSCHINA-MIRROR/lupyuen-lvgl-wasm

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

Changelog

v7.4.0 (planned on 01.09.2020)

Available in the dev branch

v7.3.1 (planned on 18.08.2020)

Bugfixes

  • Исправлена отрисовка строки значения дважды.
  • Переименованы функции lv_chart_clear_serie в lv_chart_clear_series и lv_obj_align_origo в lv_obj_align_mid.
  • Добавлена функция зеркального отображения линеметра.
  • Исправлено оформление текста (подчеркивание, зачеркивание) при использовании старых версий конвертера шрифтов.
  • Исправлено многократное задание локальных свойств стиля.
  • Добавлено недостающее фоновое рисование и обработка радиуса для кнопки с изображением.
  • Разрешено добавление дополнительной метки к кнопкам списка.
  • Устранено переполнение при больших преобразованиях изображений.

v7.3.0 (04.08.2020)

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

  • Добавлены функции lv_task_get_next, lv_event_send_refresh и lv_event_send_refresh_recursive для удобной отправки события LV_EVENT_REFRESH объекту.
  • Добавлена функция lv_tabview_set_tab_name() для изменения имени вкладки.
  • Добавлены флаги LV_THEME_MATERIAL_FLAG_NO_TRANSITION и LV_THEME_MATERIAL_FLAG_NO_FOCUS.
  • Уменьшен размер кода путем добавления: LV_USE_FONT_COMPRESSED, LV_FONT_USE_SUBPX, LV_USE_OUTLINE, LV_USE_PATTERN, LV_USE_VALUE_STR и применения некоторой оптимизации.
  • Добавлен LV_MEMCPY_MEMSET_STD для использования стандартных функций memcpy и memset.

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

  • Не выводить предупреждение об отсутствующем глифе, если его высота или ширина равна нулю.
  • Предотвратить дублирование отправки LV_EVENT_INSERT из текстовой области.
  • Привести в порядок внешние края виджета cpicker.
  • Удалить повторяющиеся строки из lv_tabview_add_tab.
  • Обработать комбинированные состояния кнопок (например, нажата + отключена).
  • Исправить опечатку в lv_textarea_set_sscrollbar_mode.
  • Исправить отрисовку изображения иглы датчика.
  • Исправить использование освобожденной памяти в _lv_style_list_remove_style.

v7.2.0 (21.07.2020)

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

  • Добавить переходы между экранами с помощью lv_scr_load_anim().
  • Добавить возможность отображения цвета фона, обоев и прозрачности экрана. Отображается, когда экран прозрачный. Можно использовать с lv_disp_set_bg_opa/color/image().
  • Добавить 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: исправление области аннулирования при изменении угла или масштаба.
  • Обновление обработки стиля для поддержки Big endian MCU.
  • Изменение некоторых методов для поддержки оборудования с прямым порядком байтов.
  • Удаление использования ключевого слова C++ «new» в параметре функции lv_theme_set_base().
  • Добавление флага LV_BIG_ENDIAN_SYSTEM в lv_conf.h для исправления отображения изображений на системах с прямым порядком байтов.
  • Исправление вставки символов в текстовую область на оборудовании с прямым порядком байтов.

v7.0.2 (16.06.2020)

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

  • lv_textarea: исправление неправильной позиции курсора при щелчке после последнего символа.
  • Замена всех текстовых индексов с 16-битных на 32-битные целые числа по всей библиотеке. #1545.
  • Исправление жестов.
  • Не вызывать set_px_cb для прозрачного пикселя.
  • Исправить фокус списка кнопок в материальной теме.
  • Исправить сбой при очистке текстовой области с помощью клавиши возврата клавиатуры.
  • Добавить номер версии в lv_conf_template.h.
  • Включить логирование в режиме истинной двойной буферизации с set_px_cb.
  • lv_dropdown: исправить отсутствие события LV_EVENT_VALUE_CHANGED при использовании с энкодером.
  • lv_tileview: исправить, если не первый созданный тайл {0;0}.
  • lv_debug: реструктурировать, чтобы разрешить утверждение из lv_misc тоже.
  • добавить утверждение, если _lv_mem_buf_get() не удаётся.
  • lv_textarea: исправить удаление символов в режиме пароля.
  • Обновить LV_OPA_MIN и LV_OPA_MAX, чтобы расширить диапазон обрабатываемой непрозрачности.
  • lv_btnm: исправить отправку событий для скрытых кнопок.
  • lv_gaguge: сделать так, чтобы lv_gauge_set_angle_offset смещал метки и иглы тоже.
  • Исправить опечатку в API scrllable -> scrollable.
  • tabview по умолчанию разрешает автоматическое расширение страницы только вправо и вниз (#1573).
  • исправить сбой при рисовании градиента к одному цвету.
  • диаграмма: исправить утечку памяти.
  • 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 (вызывало проблемы с некоторыми настройками оптимизации).
  • lv_chart исправить рисование тиков X.
  • Исправить рисование вертикальной пунктирной линии.
  • Некоторые дополнительные мелкие исправления и форматирование.

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, но используется для сохранения пространства вне объекта.

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

Интеграция GPU

Для более эффективного использования графических процессоров, начиная с этой версии, использование GPU может быть интегрировано в 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.

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

  • dropdown: полностью переработан. Теперь создаёт отдельный список при открытии и может перемещаться вниз/вверх/влево/вправо.
  • label: body_draw удалён, вместо этого, если его стиль имеет видимый фон/границу/тень и т. д., он будет нарисован. Отступ действительно делает объект больше (не просто виртуально, как раньше).
  • arc: может рисовать фон тоже.
  • btn: не сохраняет стили для каждого состояния, потому что это делается естественным образом в новой системе стилей.
  • calendar: выделяет нажатую дату. Используемые стили изменены: используйте LV_CALENDAR_PART_DATE для обычных дат, checked для выделенных, focused для сегодняшних, pressed для нажатых (checked+pressed, focused+pressed также работают).
  • 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:

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

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

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

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