From 780ee55358639360dab86aa4cdbe649ca08702e3 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Thu, 23 Feb 2023 13:46:58 +0100 Subject: [PATCH] Update ROADMAP.md --- docs/ROADMAP.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 1baa17e6d..360fe6616 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -5,35 +5,32 @@ ### Naming and API - [x] `lv_style_set_size()` should have separate width and height parameters - [ ] `lv_img_set_src()` use "type-aware" parameter. See [here](https://github.com/lvgl/lvgl/tree/arch/img-decode-rework) -- [ ] Reconsider image color formats. +- [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 -- [ ] Update canvas API (https://github.com/lvgl/lvgl/issues/3393) +- [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) - [ ] Replace `disp_drv->direct_mode/full_refresh` with enum. - [x] Consider flat directory structure. E.g. `extra/widgets` to `widgets` -- [ ] Rename `disp_drv->monitor_cb` to `render_completed/finished/ready` -- [ ] Use `uint32_t` and `int32_t` in APIs where possible +- [ ] 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_CUSTO_...` and let the user implement `lv_...` functions somewhere (instead of defining the name of the custom functions) ### Architecture -- [ ] Consider merging `lv_disp_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] Consider merging `lv_disp_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) - [ ] Better way to reset global variables in `lv_deinit()` #3385 -- [ ] New driver architecture #2720 +- [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). - [ ] Reconsider masks. There should be a generic high level mask API whic is independent of the drawing engine. - [ ] `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). -- [ ] Consider to prepare LVGL to render independent areas in parallel. +- [ ] Make LVGL render independent areas in parallel. - [ ] Introduce a pipeline in renderer to support multi-GPUs/Accelerators, such as 2D-capable-DMAs, 2D GPUs, dedicated processor cores for 2D tasks etc. - [x] More conscious `` wrapper API - [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. -- [ ] Use `(u)int32_t` in API where possible. Consider hardcoding `lv_coord_t` as `int32_t`. - [ ] `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. - [ ] Generic `lv_date_t` and `lv_time_t`? -- [ ] Update the `lv_img_dsc_t` to support images larger than 2048x2048 -- [ ] More color formats: 24 bit, ARGB1555, ARGB4444 etc +- [x] More color formats: 24 bit, ARGB1555, ARGB4444 etc - [ ] Unified caching #3116 #3415 - [ ] 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) @@ -50,7 +47,7 @@ - [ ] Disabled widgets should absorb indev actions without sending events. [#3860](https://github.com/lvgl/lvgl/issues/3860) ### Drawing and rendering -- [ ] Allow selecting between the layered (new) and not layered (old) rendering. +- [ ] Automatically recalculate the layout if a coordinte is get with `lv_obj_get_width/height/x/y/etc` ### Animations - [ ] Consider `anim` events to replace many callbacks with one