mirror of
https://github.com/lvgl/lvgl.git
synced 2026-06-01 16:58:33 +08:00
docs: fixes few things (#4249)
This commit is contained in:
-114
@@ -1,114 +0,0 @@
|
|||||||
# Roadmap
|
|
||||||
|
|
||||||
## Planned for v9
|
|
||||||
|
|
||||||
### Naming and API
|
|
||||||
- [x] `lv_style_set_size()` should have separate width and height parameters
|
|
||||||
- [x] Reconsider image color formats.
|
|
||||||
- [ ] More consistent names:`remove/clear/delete/del`, `offset/ofs`, `add/create/register`, `id/idx/index`, `middle/mid/center`, `img/image`, `txt/text`, `opa/opacity/alpha`, `scr/screen`, `disp, display`, `finished/complete/completed/ready`, `buf/buffer`, `..._cb`, angle, rotation`, `zoom, scale`
|
|
||||||
- [ ] Reconsider the use of `has`, `is`, `enable` "action" keywords
|
|
||||||
- [x] Update canvas API (https://github.com/lvgl/lvgl/issues/3393)
|
|
||||||
- [x] `LV_STYLE_PROP_INHERIT` -> `LV_STYLE_PROP_FLAG_INHERITABLE` [LINK](https://github.com/lvgl/lvgl/pull/3390#discussion_r885915769)
|
|
||||||
- [x] Replace `disp_drv->direct_mode/full_refresh` with enum.
|
|
||||||
- [x] Consider flat directory structure. E.g. `extra/widgets` to `widgets`
|
|
||||||
- [ ] Use `uint32_t` and `int32_t` in APIs where possible. Consider hardcoding `lv_coord_t` as `int32_t`.
|
|
||||||
- [ ] To define a new stdlib API use defines `LV_USE_CUSTOM_...` and let the user implement `lv_...` functions somewhere (instead of defining the name of the custom functions)
|
|
||||||
- [ ] Generic `lv_date_t` and `lv_time_t`
|
|
||||||
- [ ] Make layouts with an `lv_layout_dsc_t` instead of registering an ID + callback. See [here](https://github.com/lvgl/lvgl/issues/3481#issuecomment-1206434501)
|
|
||||||
|
|
||||||
### Architecture
|
|
||||||
- [x] Consider merging `lv_disp_drv_t`, `lv_disp_t`, `lv_disp_draw_buf_t`, `lv_draw_ctx_t`, and `struct`'s from the new driver API (or only some of them)
|
|
||||||
- [x] New driver architecture #2720
|
|
||||||
- [x] `draw_ctx->buffer_convert`? See [here](https://github.com/lvgl/lvgl/issues/3379#issuecomment-1147954592). Also remove 16 SWAPPED color format? See [here](https://github.com/lvgl/lvgl/issues/3379#issuecomment-1140886258).
|
|
||||||
- [ ] `lv_img_set_src()` use "type-aware" parameter and rework image decoders. See [here](https://github.com/lvgl/lvgl/tree/arch/img-decode-rework)
|
|
||||||
- [ ] Reconsider masks. There should be a generic high level mask API which is independent of the drawing engine. [#4059](https://github.com/lvgl/lvgl/issues/4059)
|
|
||||||
- [x] `get_glyph_bitmap` should return an a8 bitmap that can be blended immediately.
|
|
||||||
- [ ] Reconsider how themes should work. See [here](https://github.com/lvgl/lvgl/pull/3390#pullrequestreview-990710921).
|
|
||||||
- [ ] Make LVGL render independent areas in parallel. [#4016](https://github.com/lvgl/lvgl/issues/4016)
|
|
||||||
- [x] Drop `lv_mem_buf_get` as tlsf should be fast enough for normal allocations too. Fragmentation is also lower if processes can completely clean up after themselves.
|
|
||||||
- [x] More color formats: 24 bit, ARGB1555, ARGB4444 etc
|
|
||||||
- [ ] Unified caching #3116 #3415
|
|
||||||
- [ ] Condider using `lv_color32_t` on APIs to support e.g. alpha gradient.
|
|
||||||
- [ ] Add more feature to key presses (long press, release, etc). See [here](https://forum.lvgl.io/t/keypad-input-device-why-lv-event-long-pressed-only-on-enter/10263).
|
|
||||||
|
|
||||||
### Styles
|
|
||||||
- [ ] Make `style_bg_img` support `9patch` images
|
|
||||||
- [ ] non-uniform scale of images: scale width and height differently
|
|
||||||
- [ ] Scroll anim settings should come from styles to allow customization
|
|
||||||
|
|
||||||
### Widgets
|
|
||||||
- [ ] `lv_img`: Reconsider image sizing models (when the image size is not content): center, top-left, zoom, tile, other?
|
|
||||||
- [ ] `lv_tabview` Replace button matrix with real buttons for more flexibility
|
|
||||||
- [ ] `lv_label` reconsider label long modes. (support min/max-width/height too) #3420
|
|
||||||
- [ ] `lv_roller` make it more flexible #4009
|
|
||||||
- [ ] Universal scale widget/support (see [here](https://forum.lvgl.io/t/linear-meter-bar-with-ticks/10986) and #4043)
|
|
||||||
- [ ] Improve `lv_label_align_t` #1656
|
|
||||||
- [ ] Disabled widgets should absorb indev actions without sending events. [#3860](https://github.com/lvgl/lvgl/issues/3860)
|
|
||||||
|
|
||||||
### Drawing and rendering
|
|
||||||
- [ ] Automatically recalculate the layout if a coordinte is get with `lv_obj_get_width/height/x/y/etc`
|
|
||||||
|
|
||||||
### Animations
|
|
||||||
- [ ] Use `anim` events to replace many callbacks with one
|
|
||||||
- [ ] `lv_anim_time_to_speed` should work differently to remove `style_anim_speed`. E.g. on large values of anim time store the speed. Besides all widgets should use the `style_anim` property. `anim` should clamp the time if it's calculated from speed, e.g `lv_clamp(200, t, 2000)`. (maybe `a->min_time/max_time`).
|
|
||||||
- [ ] Use dedicated `lv_anim_custom_exec_cb_t`. See [here](https://forum.lvgl.io/t/custom-exec-cb-prevents-lv-anim-del-obj-null/10266).
|
|
||||||
|
|
||||||
## Planned in general
|
|
||||||
|
|
||||||
### CI
|
|
||||||
- [ ] Plaform independent bechmarking #3443
|
|
||||||
- [ ] Run static analyzer
|
|
||||||
- [ ] Release script
|
|
||||||
- [ ] Unit test for all widgets #2337
|
|
||||||
- [ ] CI test for flash/RAM usage #3127
|
|
||||||
|
|
||||||
### Architecture
|
|
||||||
- [ ] C++ binding: https://github.com/lvgl/lv_binding_cpp
|
|
||||||
- [ ] Markup language #2428
|
|
||||||
|
|
||||||
### Styles
|
|
||||||
- [ ] Hover
|
|
||||||
- [ ] Global states in selectors. E.g. `LV_STATE_PRESSED | SMALL_SCREEN` like media quarry in CSS
|
|
||||||
|
|
||||||
### Drawing and rendering
|
|
||||||
- [ ] SW: Line drawing with image rotation
|
|
||||||
- [ ] SW: Arc drawing from small squares (16x16?) to detect transparent or solid parts
|
|
||||||
- [ ] SW: Rounded rectangle drawing from small squares (16x16?) to detect transparent or solid parts
|
|
||||||
- [ ] Different radius on each corner #2800
|
|
||||||
- [ ] Gradient to border/outline/shadow
|
|
||||||
- [ ] Multiple shadow/border
|
|
||||||
- [ ] Perspective
|
|
||||||
- [ ] Text shadow
|
|
||||||
- [ ] Innter shadow
|
|
||||||
- [ ] ARGB image stroke/grow on the alpha map
|
|
||||||
- [ ] Real time blur
|
|
||||||
- [ ] Gradient with alpha
|
|
||||||
|
|
||||||
### Widgets
|
|
||||||
- [ ] `lv_bar`, `lv_arc`: handle max < min for fill direction swapping #4039
|
|
||||||
|
|
||||||
### Others
|
|
||||||
- [ ] More grid features. E.g. repeat(auto-fill, minmax( <value> px, 1fr))
|
|
||||||
- [ ] Named grid cells to allow updating layouts without touching the children (like CSS `grid-template-areas`)
|
|
||||||
- [ ] Scene support. See [this comment](https://github.com/lvgl/lvgl/issues/2790#issuecomment-965100911)
|
|
||||||
- [ ] Circle layout. #2871
|
|
||||||
- [ ] Variable binding. I.e create properties which can be bound to objects and those obejcts are notified on value change. Maybe based on `lv_msg`?
|
|
||||||
- [ ] Consider [stagger animations](https://greensock.com/docs/v3/Staggers).
|
|
||||||
|
|
||||||
## Ideas
|
|
||||||
- Better way to reset global variables in `lv_deinit()` #3385
|
|
||||||
- `lv_array`: replace linked lists with array where possible (arrays are faster and uses less memory)
|
|
||||||
- Reconsider how to handle UTF-8 characters (allow different encoding too) and Bidi. Maybe create an abstraction for typesetting.
|
|
||||||
- Consider direct binary font format support
|
|
||||||
- Improve groups. [Discussion](https://forum.lvgl.io/t/lv-group-tabindex/2927/3). Reconsider focusing logic. Allow having no widget selected (on web it's possible). Keep editing state in `lv_obj_t` (See [here](https://github.com/lvgl/lvgl/issues/3646)). Support slider left knob focusing (see [here](https://github.com/lvgl/lvgl/issues/3246))
|
|
||||||
- lv_mem_alloc_aligned(size, align)
|
|
||||||
- Speed up font decompression
|
|
||||||
- Support larger images: add support for large image #1892
|
|
||||||
- Functional programming support, pure view? See [here](https://www.freecodecamp.org/news/the-revolution-of-pure-views-aed339db7da4/)
|
|
||||||
- Style components. See [this comment](https://github.com/lvgl/lvgl/issues/2790#issuecomment-965100911)
|
|
||||||
- SVG support: integrate an SVG render library
|
|
||||||
- Support dot_begin and dot_middle long modes for labels
|
|
||||||
- Allow matrix input for image transformation?
|
|
||||||
- Radial/skew/conic gradient
|
|
||||||
- Somehow let children inherit the parent's state
|
|
||||||
- Text on path
|
|
||||||
@@ -0,0 +1,211 @@
|
|||||||
|
|
||||||
|
.. |check| raw:: html
|
||||||
|
|
||||||
|
<input checked="" disabled="" type="checkbox">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. |uncheck| raw:: html
|
||||||
|
|
||||||
|
<input disabled="" type="checkbox">
|
||||||
|
|
||||||
|
|
||||||
|
Roadmap
|
||||||
|
=======
|
||||||
|
|
||||||
|
Planned for v9
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Naming and API
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- |check| `lv_style_set_size()` should have separate width and height parameters
|
||||||
|
- |check| Reconsider image color formats.
|
||||||
|
- |uncheck| More consistent names:
|
||||||
|
|
||||||
|
- `remove/clear/delete/del`
|
||||||
|
- `offset/ofs`
|
||||||
|
- `add/create/register`
|
||||||
|
- `id/idx/index`
|
||||||
|
- `middle/mid/center`
|
||||||
|
- `img/image`
|
||||||
|
- `txt/text`
|
||||||
|
- `opa/opacity/alpha`
|
||||||
|
- `scr/screen`
|
||||||
|
- `disp, display`
|
||||||
|
- `finished/complete/completed/ready`
|
||||||
|
- `buf/buffer`
|
||||||
|
- `..._cb`
|
||||||
|
- `angle`
|
||||||
|
- `rotation`
|
||||||
|
- `zoom`
|
||||||
|
- `scale`
|
||||||
|
|
||||||
|
- |uncheck| Reconsider the use of `has`, `is`, `enable` “action” keywords
|
||||||
|
- |check| Update canvas API `LINK <https://github.com/lvgl/lvgl/issues/3393>`__
|
||||||
|
- |check| `LV_STYLE_PROP_INHERIT` -> `LV_STYLE_PROP_FLAG_INHERITABLE`
|
||||||
|
`LINK <https://github.com/lvgl/lvgl/pull/3390#discussion_r885915769>`__
|
||||||
|
- |check| Replace `disp_drv->direct_mode/full_refresh` with enum.
|
||||||
|
- |check| Consider flat directory structure. E.g. `extra/widgets` to `widgets`
|
||||||
|
- |uncheck| Use `uint32_t` and `int32_t` in APIs where possible. Consider hardcoding `lv_coord_t` as `int32_t`.
|
||||||
|
- |uncheck| To define a new stdlib API use defines `LV_USE_CUSTOM_...` and
|
||||||
|
let the user implement `lv_...` functions somewhere (instead of defining the name of the custom functions)
|
||||||
|
- |uncheck| Generic `lv_date_t` and `lv_time_t`
|
||||||
|
- |uncheck| Make layouts with an `lv_layout_dsc_t` instead of registering an ID + callback.
|
||||||
|
(see `here <https://github.com/lvgl/lvgl/issues/3481#issuecomment-1206434501>`__)
|
||||||
|
|
||||||
|
Architecture
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- |check| Consider merging
|
||||||
|
|
||||||
|
- `lv_disp_drv_t`
|
||||||
|
- `lv_disp_t`,
|
||||||
|
- `lv_disp_draw_buf_t`,
|
||||||
|
- `lv_draw_ctx_t`
|
||||||
|
- `struct`\ 's
|
||||||
|
|
||||||
|
from the new driver API (or only some of them)
|
||||||
|
- |check| New driver architecture #2720
|
||||||
|
- |check| `draw_ctx->buffer_convert`?
|
||||||
|
(see `here <https://github.com/lvgl/lvgl/issues/3379#issuecomment-1147954592>`__)
|
||||||
|
Also remove 16 SWAPPED color format?
|
||||||
|
(see `here <https://github.com/lvgl/lvgl/issues/3379#issuecomment-1140886258>`__)
|
||||||
|
- |uncheck| `lv_img_set_src()` use “type-aware” parameter and rework image decoders.
|
||||||
|
(see `here <https://github.com/lvgl/lvgl/tree/arch/img-decode-rework>`__)
|
||||||
|
- |uncheck| Reconsider masks. There should be a generic high level mask API which is independent of the drawing engine.
|
||||||
|
`#4059 <https://github.com/lvgl/lvgl/issues/4059>`__
|
||||||
|
- |check| `get_glyph_bitmap` should return an a8 bitmap that can be blended immediately.
|
||||||
|
- |uncheck| Reconsider how themes should work.
|
||||||
|
(see `here <https://github.com/lvgl/lvgl/pull/3390#pullrequestreview-990710921>`__)
|
||||||
|
- |uncheck| Make LVGL render independent areas in parallel.
|
||||||
|
`#4016 <https://github.com/lvgl/lvgl/issues/4016>`__
|
||||||
|
- |check| Drop `lv_mem_buf_get` as tlsf should be fast enough for normal allocations too.
|
||||||
|
Fragmentation is also lower if processes can completely clean up after themselves.
|
||||||
|
- |check| More color formats: 24 bit, ARGB1555, ARGB4444 etc
|
||||||
|
- |uncheck| Unified caching #3116 #3415
|
||||||
|
- |uncheck| Condider using `lv_color32_t` on APIs to support e.g. alpha gradient.
|
||||||
|
- |uncheck| Add more feature to key presses (long press, release, etc).
|
||||||
|
(see `here <https://forum.lvgl.io/t/keypad-input-device-why-lv-event-long-pressed-only-on-enter/10263>`__)
|
||||||
|
|
||||||
|
Styles
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| Make `style_bg_img` support `9patch` images
|
||||||
|
- |uncheck| non-uniform scale of images: scale width and height differently
|
||||||
|
- |uncheck| Scroll anim settings should come from styles to allow customization
|
||||||
|
|
||||||
|
Widgets
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| `lv_img`: Reconsider image sizing models
|
||||||
|
(when the image size is not content): center, top-left, zoom, tile, other?
|
||||||
|
- |uncheck| `lv_tabview` Replace button matrix with real buttons for more flexibility
|
||||||
|
- |uncheck| `lv_label` reconsider label long modes. (support min/max-width/height too) #3420
|
||||||
|
- |uncheck| `lv_roller` make it more flexible #4009
|
||||||
|
- |uncheck| Universal scale widget/support
|
||||||
|
(see `here <https://forum.lvgl.io/t/linear-meter-bar-with-ticks/10986>`__ and #4043)
|
||||||
|
- |uncheck| Improve `lv_label_align_t` #1656
|
||||||
|
- |uncheck| Disabled widgets should absorb indev actions without sending events.
|
||||||
|
`#3860 <https://github.com/lvgl/lvgl/issues/3860>`__
|
||||||
|
|
||||||
|
Drawing and rendering
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| Automatically recalculate the layout if a coordinte is get with `lv_obj_get_width/height/x/y/etc`
|
||||||
|
|
||||||
|
Animations
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| Use `anim` events to replace many callbacks with one
|
||||||
|
- |uncheck| `lv_anim_time_to_speed` should work differently to remove
|
||||||
|
`style_anim_speed`. E.g. on large values of anim time store the
|
||||||
|
speed. Besides all widgets should use the `style_anim` property.
|
||||||
|
`anim` should clamp the time if it's calculated from speed, e.g
|
||||||
|
`lv_clamp(200, t, 2000)`. (maybe `a->min_time/max_time`).
|
||||||
|
- |uncheck| Use dedicated `lv_anim_custom_exec_cb_t`.
|
||||||
|
See `here <https://forum.lvgl.io/t/custom-exec-cb-prevents-lv-anim-del-obj-null/10266>`__.
|
||||||
|
|
||||||
|
Planned in general
|
||||||
|
------------------
|
||||||
|
|
||||||
|
CI
|
||||||
|
~~
|
||||||
|
|
||||||
|
- |uncheck| Plaform independent bechmarking #3443
|
||||||
|
- |uncheck| Run static analyzer
|
||||||
|
- |uncheck| Release script
|
||||||
|
- |uncheck| Unit test for all widgets #2337
|
||||||
|
- |uncheck| CI test for flash/RAM usage #3127
|
||||||
|
|
||||||
|
|
||||||
|
Architecture
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| `C++ binding <https://github.com/lvgl/lv_binding_cpp>`__
|
||||||
|
- |uncheck| Markup language #2428
|
||||||
|
|
||||||
|
|
||||||
|
Styles
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| Hover
|
||||||
|
- |uncheck| Global states in selectors. E.g. `LV_STATE_PRESSED | SMALL_SCREEN` like media quarry in CSS
|
||||||
|
|
||||||
|
|
||||||
|
Drawing and rendering
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| SW: Line drawing with image rotation
|
||||||
|
- |uncheck| SW: Arc drawing from small squares (16x16?) to detect transparent or solid parts
|
||||||
|
- |uncheck| SW: Rounded rectangle drawing from small squares (16x16?) to detect transparent or solid parts
|
||||||
|
- |uncheck| Different radius on each corner #2800
|
||||||
|
- |uncheck| Gradient to border/outline/shadow
|
||||||
|
- |uncheck| Multiple shadow/border
|
||||||
|
- |uncheck| Perspective
|
||||||
|
- |uncheck| Text shadow
|
||||||
|
- |uncheck| Innter shadow
|
||||||
|
- |uncheck| ARGB image stroke/grow on the alpha map
|
||||||
|
- |uncheck| Real time blur
|
||||||
|
- |uncheck| Gradient with alpha
|
||||||
|
|
||||||
|
|
||||||
|
Widgets
|
||||||
|
~~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| `lv_bar`, `lv_arc`: handle max < min for fill direction swapping #4039
|
||||||
|
|
||||||
|
Others
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
- |uncheck| More grid features. E.g. repeat(auto-fill, minmax( px, 1fr))
|
||||||
|
- |uncheck| Named grid cells to allow updating layouts without touching the children (like CSS `grid-template-areas`)
|
||||||
|
- |uncheck| Scene support. See `this comment <https://github.com/lvgl/lvgl/issues/2790#issuecomment-965100911>`__
|
||||||
|
- |uncheck| Circle layout. #2871
|
||||||
|
- |uncheck| Variable binding. I.e create properties which can be bound to
|
||||||
|
objects and those obejcts are notified on value change. Maybe based on `lv_msg`?
|
||||||
|
- |uncheck| Consider `stagger animations <https://greensock.com/docs/v3/Staggers>`__.
|
||||||
|
|
||||||
|
Ideas
|
||||||
|
-----
|
||||||
|
|
||||||
|
- Better way to reset global variables in `lv_deinit()` #3385
|
||||||
|
- `lv_array`: replace linked lists with array where possible (arrays are faster and uses less memory)
|
||||||
|
- Reconsider how to handle UTF-8 characters (allow different encoding too) and Bidi. Maybe create an abstraction for typesetting.
|
||||||
|
- Consider direct binary font format support
|
||||||
|
- Improve groups. `Discussion <https://forum.lvgl.io/t/lv-group-tabindex/2927/3>`__.
|
||||||
|
Reconsider focusing logic. Allow having no widget selected (on web it's possible). Keep editing state in `lv_obj_t`
|
||||||
|
(see `here <https://github.com/lvgl/lvgl/issues/3646>`__). Support slider
|
||||||
|
left knob focusing (see `here <https://github.com/lvgl/lvgl/issues/3246>`__)
|
||||||
|
- lv_mem_alloc_aligned(size, align)
|
||||||
|
- Speed up font decompression
|
||||||
|
- Support larger images: add support for large image #1892
|
||||||
|
- Functional programming support, pure view?
|
||||||
|
(see `here <https://www.freecodecamp.org/news/the-revolution-of-pure-views-aed339db7da4/>`__)
|
||||||
|
- Style components. (see `this comment <https://github.com/lvgl/lvgl/issues/2790#issuecomment-965100911>`__
|
||||||
|
- SVG support: integrate an SVG render library
|
||||||
|
- Support dot_begin and dot_middle long modes for labels
|
||||||
|
- Allow matrix input for image transformation?
|
||||||
|
- Radial/skew/conic gradient
|
||||||
|
- Somehow let children inherit the parent's state
|
||||||
|
- Text on path
|
||||||
@@ -14,6 +14,7 @@ import example_list as ex
|
|||||||
import doc_builder
|
import doc_builder
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
|
import config_builder
|
||||||
|
|
||||||
# due to the modifications that take place to the documentation files
|
# due to the modifications that take place to the documentation files
|
||||||
# when the documentaation builds it is better to copy the source files to a
|
# when the documentaation builds it is better to copy the source files to a
|
||||||
@@ -116,6 +117,8 @@ if clean:
|
|||||||
# os.mkdir(api_path)
|
# os.mkdir(api_path)
|
||||||
# os.mkdir(lang)
|
# os.mkdir(lang)
|
||||||
|
|
||||||
|
config_builder.run()
|
||||||
|
|
||||||
shutil.copytree('.', temp_directory, dirs_exist_ok=True)
|
shutil.copytree('.', temp_directory, dirs_exist_ok=True)
|
||||||
shutil.copytree(examples_path, os.path.join(temp_directory, 'examples'))
|
shutil.copytree(examples_path, os.path.join(temp_directory, 'examples'))
|
||||||
|
|
||||||
@@ -260,5 +263,7 @@ else:
|
|||||||
|
|
||||||
iter_temp(temp_directory)
|
iter_temp(temp_directory)
|
||||||
|
|
||||||
|
config_builder.cleanup()
|
||||||
|
|
||||||
print('output path:', html_dst_path)
|
print('output path:', html_dst_path)
|
||||||
print('\nFINISHED!!')
|
print('\nFINISHED!!')
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
base_path = os.path.dirname(__file__)
|
||||||
|
dst_config = os.path.join(base_path, 'lv_conf.h')
|
||||||
|
src_config = os.path.abspath(os.path.join(
|
||||||
|
base_path,
|
||||||
|
'..',
|
||||||
|
'lv_conf_template.h'
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
def run():
|
||||||
|
with open(src_config, 'r') as f:
|
||||||
|
data = f.read()
|
||||||
|
|
||||||
|
data = data.split('\n')
|
||||||
|
|
||||||
|
for i, line in enumerate(data):
|
||||||
|
if 'LV_USE' in line or 'LV_FONT' in line:
|
||||||
|
line = [item for item in line.split(' ') if item]
|
||||||
|
for j, item in enumerate(line):
|
||||||
|
if item == '0':
|
||||||
|
line[j] = '1'
|
||||||
|
line = ' '.join(line)
|
||||||
|
data[i] = line
|
||||||
|
data = '\n'.join(data)
|
||||||
|
|
||||||
|
with open(dst_config, 'w') as f:
|
||||||
|
f.write(data)
|
||||||
|
|
||||||
|
|
||||||
|
def cleanup():
|
||||||
|
if os.path.exists(dst_config):
|
||||||
|
os.remove(dst_config)
|
||||||
@@ -136,7 +136,7 @@ Starting from v8, every minor release is supported for 1 year.
|
|||||||
+---------+--------------+--------------+--------+
|
+---------+--------------+--------------+--------+
|
||||||
|v8.1 | 10 Nov, 2021 | 10 Nov, 2022 | No |
|
|v8.1 | 10 Nov, 2021 | 10 Nov, 2022 | No |
|
||||||
+---------+--------------+--------------+--------+
|
+---------+--------------+--------------+--------+
|
||||||
|v8.2 | 31 Jan, 2022 | 31 Jan, 2023 | No |
|
|v8.2 | 31 Jan, 2022 | 31 Jan, 2023 | No |
|
||||||
+---------+--------------+--------------+--------+
|
+---------+--------------+--------------+--------+
|
||||||
|v8.3 | 6 July, 2022 | 1 Jan, 2025 | Yes |
|
|v8.3 | 6 July, 2022 | 1 Jan, 2025 | Yes |
|
||||||
+---------+--------------+--------------+--------+
|
+---------+--------------+--------------+--------+
|
||||||
|
|||||||
-857
File diff suppressed because it is too large
Load Diff
@@ -1,122 +1,149 @@
|
|||||||
{{#each releases}}
|
{{#each releases}}
|
||||||
`{{title}} <{{href}}>`__ {{niceDate}}
|
`{{title}} <{{href}}>`__ {{niceDate}}
|
||||||
---------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
Breaking Changes
|
Breaking Changes
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='BREAKING CHANGE'}}
|
{{#commit-list merges heading='' message='BREAKING CHANGE'}}
|
||||||
- .. warning: {{message}} `{{id}} <{{href}}>`__
|
- .. warning: {{message}}
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='BREAKING CHANGE'}}
|
{{#commit-list commits heading='' message='BREAKING CHANGE'}}
|
||||||
- .. warning: {{subject}} `{{shorthash}} <{{href}}>`__
|
- .. warning: {{subject}}
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='BREAKING CHANGE'}}
|
{{#commit-list fixes heading='' message='BREAKING CHANGE'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
Architectural
|
Architectural
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='^arch' exclude='BREAKING CHANGE'}}
|
{{#commit-list merges heading='' message='^arch' exclude='BREAKING CHANGE'}}
|
||||||
- **{{message}}** `{{id}} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='^arch' exclude='BREAKING CHANGE'}}
|
{{#commit-list commits heading='' message='^arch' exclude='BREAKING CHANGE'}}
|
||||||
- **{{subject}}** `{{shorthash}} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='^arch' exclude='BREAKING CHANGE'}}
|
{{#commit-list fixes heading='' message='^arch' exclude='BREAKING CHANGE'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
New Features
|
New Features
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='^feat' exclude='BREAKING CHANGE'}}
|
{{#commit-list merges heading='' message='^feat' exclude='BREAKING CHANGE'}}
|
||||||
- **{{message}}** `{{id}} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='^feat' exclude='BREAKING CHANGE'}}
|
{{#commit-list commits heading='' message='^feat' exclude='BREAKING CHANGE'}}
|
||||||
- **{{subject}}** `{{shorthash}} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='^feat' exclude='BREAKING CHANGE'}}
|
{{#commit-list fixes heading='' message='^feat' exclude='BREAKING CHANGE'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='^perf' exclude='BREAKING CHANGE'}}
|
{{#commit-list merges heading='' message='^perf' exclude='BREAKING CHANGE'}}
|
||||||
- **{{message}}** `{{id}} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='^perf' exclude='BREAKING CHANGE'}}
|
{{#commit-list commits heading='' message='^perf' exclude='BREAKING CHANGE'}}
|
||||||
- **{{subject}}** `{{shorthash}} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='^perf' exclude='BREAKING CHANGE'}}
|
{{#commit-list fixes heading='' message='^perf' exclude='BREAKING CHANGE'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
Fixes
|
Fixes
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='^fix' exclude='(^fix conflict|^fix warning|BREAKING CHANGE)'}}
|
{{#commit-list merges heading='' message='^fix' exclude='(^fix conflict|^fix warning|BREAKING CHANGE)'}}
|
||||||
- **{{message}}** `{{id}} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='^fix' exclude='(^fix conflict|^fix warning|BREAKING CHANGE)'}}
|
{{#commit-list commits heading='' message='^fix' exclude='(^fix conflict|^fix warning|BREAKING CHANGE)'}}
|
||||||
- **{{subject}}** `{{shorthash}} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='^fix' exclude='(^fix conflict|^fix warning|BREAKING CHANGE)'}}
|
{{#commit-list fixes heading='' message='^fix' exclude='(^fix conflict|^fix warning|BREAKING CHANGE)'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
~~~~~~~~
|
~~~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='^example'}}
|
{{#commit-list merges heading='' message='^example'}}
|
||||||
- **{{message}}** `{{id}} <({{href}})>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <({{href}})>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='^example'}}
|
{{#commit-list commits heading='' message='^example'}}
|
||||||
- **{{subject}}** `{{shorthash}} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='^example'}}
|
{{#commit-list fixes heading='' message='^example'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
Docs
|
Docs
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='^docs'}}
|
{{#commit-list merges heading='' message='^docs'}}
|
||||||
- **{{message}}** `{{id}} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='^docs'}}
|
{{#commit-list commits heading='' message='^docs'}}
|
||||||
- **{{subject}}** `{{shorthash}} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='^docs'}}
|
{{#commit-list fixes heading='' message='^docs'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
CI and tests
|
CI and tests
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' message='(^ci|^test)'}}
|
{{#commit-list merges heading='' message='(^ci|^test)'}}
|
||||||
- **{{message}}** `{{id}} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id}} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' message='(^ci|^test)'}}
|
{{#commit-list commits heading='' message='(^ci|^test)'}}
|
||||||
- **{{subject}}** `{{shorthash }} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash }} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' message='(^ci|^test)'}}
|
{{#commit-list fixes heading='' message='(^ci|^test)'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
Others
|
Others
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
{{#commit-list merges heading='' exclude='(^fix|^feat|^perf|^docs|^example|^ci|^test)'}}
|
{{#commit-list merges heading='' exclude='(^fix|^feat|^perf|^docs|^example|^ci|^test)'}}
|
||||||
- **{{message}}** `{{id }} <{{href}}>`__
|
- **{{message}}**
|
||||||
|
`{{id }} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list commits heading='' exclude='(^fix|^feat|^perf|^docs|^example|^ci|^test)'}}
|
{{#commit-list commits heading='' exclude='(^fix|^feat|^perf|^docs|^example|^ci|^test)'}}
|
||||||
- **{{subject}}** `{{shorthash }} <{{href}}>`__
|
- **{{subject}}**
|
||||||
|
`{{shorthash }} <{{href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
{{#commit-list fixes heading='' exclude='(^fix|^feat|^perf|^docs|^example|^ci|^test)'}}
|
{{#commit-list fixes heading='' exclude='(^fix|^feat|^perf|^docs|^example|^ci|^test)'}}
|
||||||
- **{{commit.subject}}** `{{commit.shorthash}} <{{commit.href}}>`__
|
- **{{commit.subject}}**
|
||||||
|
`{{commit.shorthash}} <{{commit.href}}>`__
|
||||||
{{/commit-list}}
|
{{/commit-list}}
|
||||||
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|||||||
Reference in New Issue
Block a user