Update ROADMAP.md
This commit is contained in:
committed by
GitHub
parent
b4b2d5b88b
commit
c283f460c3
@@ -1,11 +1,8 @@
|
||||
Roadmap
|
||||
=======
|
||||
# Roadmap
|
||||
|
||||
Planned for v9
|
||||
--------------
|
||||
## Planned for v9
|
||||
|
||||
Naming and API
|
||||
~~~~~~~~~~~~~~
|
||||
### 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`
|
||||
@@ -19,9 +16,7 @@ Naming and API
|
||||
- [ ] 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
|
||||
~~~~~~~~~~~~
|
||||
|
||||
### 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).
|
||||
@@ -36,15 +31,12 @@ Architecture
|
||||
- [ ] 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
|
||||
~~~~~~
|
||||
### 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
|
||||
~~~~~~~
|
||||
|
||||
### 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
|
||||
@@ -53,45 +45,32 @@ Widgets
|
||||
- [ ] 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
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
### Drawing and rendering
|
||||
- [ ] Automatically recalculate the layout if a coordinte is get with `lv_obj_get_width/height/x/y/etc`
|
||||
|
||||
Animations
|
||||
~~~~~~~~~~
|
||||
|
||||
### 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
|
||||
~~
|
||||
## 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
|
||||
~~~~~~~~~~~~
|
||||
|
||||
### Architecture
|
||||
- [ ] C++ binding: https://github.com/lvgl/lv_binding_cpp
|
||||
- [ ] Markup language #2428
|
||||
|
||||
Styles
|
||||
~~~~~~
|
||||
|
||||
### Styles
|
||||
- [ ] Hover
|
||||
- [ ] Global states in selectors. E.g. `LV_STATE_PRESSED | SMALL_SCREEN` like media quarry in CSS
|
||||
|
||||
Drawing and rendering
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
### 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
|
||||
@@ -105,13 +84,10 @@ Drawing and rendering
|
||||
- [ ] Real time blur
|
||||
- [ ] Gradient with alpha
|
||||
|
||||
Widgets
|
||||
~~~~~~~
|
||||
### Widgets
|
||||
- [ ] `lv_bar`, `lv_arc`: handle max < min for fill direction swapping #4039
|
||||
|
||||
Others
|
||||
~~~~~~
|
||||
|
||||
### 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)
|
||||
@@ -119,9 +95,7 @@ Others
|
||||
- [ ] 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
|
||||
-----
|
||||
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user