Commit Graph

38 Commits

Author SHA1 Message Date
Neo Xu
bd119043a1 feat(draw_buf): distinguish between lv_image_dsc_t and lv_draw_buf_t (#5496)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-02-18 10:52:50 +08:00
Benign X
56cd592527 chore(widgets): add parentheses to MY_CLASS definition (#5485) 2024-01-26 10:32:02 +01:00
Neo Xu
57cda3b91c feat(draw_buf): use lv_draw_buf_t as argument of API lv_draw_buf_clear/copy (#5322)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2024-01-15 11:37:38 +01:00
_VIFEXTech
8701dece65 refact(layer): use draw_buf to replace raw pointers (#5254)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Xu Xingliang <xuxingliang@xiaomi.com>
2024-01-14 13:47:20 +01:00
Gabor Kiss-Vamosi
e10f573150 fix(display): fix inconsistency in the API (#5136) 2024-01-11 13:38:24 +08:00
Neo Xu
1d73e73a93 feat(draw_buf): add draw_buf init API (#5132)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2024-01-05 14:45:42 +01:00
Xu Xingliang
9278c42c9b fix(layer): use provided buf stride directly
In case of externally provided draw buffer, it already has its own stride parameter set. Use it directly

Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2024-01-03 11:28:56 +01:00
Benign X
a34f490394 feat(cache): new cache framework (#5049)
Co-authored-by: _VIFEXTech <vifextech@foxmail.com>
2023-12-25 11:37:59 +08:00
Benign X
ccc63521d0 fix(lv_canvas): fix undefined behavior (#5059)
```bash
Left shift of 255 by 24 places cannot be represented in type 'int'
  at 0x102d47f44 lv_canvas_fill_bg (lv_canvas.c:310)
  at 0x102812b30 canvas_basic_render(unsigned char*, unsigned char, char const*, char const*) (main.cpp:38)
  at 0x102811fd4 canvas_blend_test(_lv_obj_t*, _lv_draw_image_dsc_t*, char const*, char const*, unsigned char, unsigned int) (main.cpp:108)
  at 0x102814f50 canvas_draw(char const*, unsigned char) (main.cpp:154)
  at 0x102814858 test_xrgb8888() (main.cpp:162)
  at 0x10281536c main (main.cpp:218)
  at 0x18d0790dc
```
2023-12-20 14:17:19 +08:00
Neo Xu
29f04f5443 chore: rename _unaligned to avoid MSVC compile issue (#5028)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-12-19 11:55:31 +01:00
pengyiqiang
3ff5f97651 feat(canvas): use draw buffer for canvas
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-12-18 20:13:46 +01:00
Gabor Kiss-Vamosi
2f3e8d4066 feat(draw): add initial SDL renderer
It caches SW rendered bitmaps in textures.
The cache is also updated to support data and source separately.
E.g. source is a path to an image, and if that image changes all
related cache entries needs to found and invalidated.

Limitations of SDL rederer:
- not all draw task types are supported
- image transformation is not supported
- some textures (e.g. button matrix texts) are not detected as cached
- images are not cached
- images are supported only from path
2023-11-18 15:35:45 +01:00
Neo Xu
e15df6744e fix(draw): stride fix for canvas and image decoder (#4820)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-11-18 08:41:14 +01:00
Neo Xu
511feb39be chore(image): remove explicit initialization to always_zero (#4796)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-11-18 08:10:22 +01:00
Gabor Kiss-Vamosi
6cda061c65 fix(draw): make SW render work with any stride and add stride=64 to CI 2023-11-14 22:19:56 +01:00
Viktor Szépe
cc6581ae03 ci: upgrade astyle tool (#4776)
Install from source to use the latest version
2023-11-10 15:37:23 +01:00
Gabor Kiss-Vamosi
69342908ee fix(draw): initialize layer->buf_stride 2023-11-06 09:49:53 +01:00
Gabor Kiss-Vamosi
a5a58e39d2 refactor: replace lv_coord_t with int32_t 2023-10-31 19:25:01 +01:00
Gabor Kiss-Vamosi
8deea70049 refactor(draw_buf): remove lv_draw_buf_t and make all functions work on void * buffer directly 2023-10-11 21:33:23 +02:00
Gabor Kiss-Vamosi
9d8570aa3f fix(draw) fix stride realted bugs in SW render 2023-09-28 12:22:49 +02:00
Neo Xu
27357d5139 feat(obj): add obj_id, class names, and dump support (#4536)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-09-25 10:58:36 +02:00
Gabor Kiss-Vamosi
0721884ee9 refactor: disp->display, res->result/resolution, hor/ver->horizontal/vertical, txt->text, angle->rotation, zoom->scale 2023-09-18 22:57:30 +02:00
Gabor Kiss-Vamosi
757877b1fc feat(cache): rework cache
- based in cache size instead of entry count
- not only for images
- needs to be called manually in decoders (and not the cache manages the decoders)
2023-09-14 23:23:29 +02:00
Gabor Kiss-Vamosi
09c12d0f9c refactor(btn, img): rename btn to button and img to image 2023-09-14 20:12:31 +02:00
Gabor Kiss-Vamosi
c3e2120616 feat(img): add img.header.stride
see https://github.com/lvgl/lvgl/pull/4414#issuecomment-1698538169
2023-08-31 19:54:36 +02:00
Gabor Kiss-Vamosi
45aa59a473 feat(draw_buf): add lv_draw_buf_t for stride support (#4423) 2023-07-31 18:44:02 +02:00
Gabor Kiss-Vamosi
e50e978cc6 perf(canvas): speed up lv_canvas_fill_bg
fixes #4396
2023-07-24 16:46:55 +02:00
bjsylvia
657dfe9615 fix: fix compiling warning on Mac (#4379)
Signed-off-by: XiaoweiYan <yanxiaowei@xiaomi.com>
Co-authored-by: XiaoweiYan <yanxiaowei@xiaomi.com>
2023-07-15 20:08:25 +02:00
Gabor Kiss-Vamosi
b466045f13 chore: change some // comments to /**/ 2023-07-15 18:39:11 +02:00
Neo Xu
4e00e62846 chore: specify color format value in enum (#4352)
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
2023-07-13 20:43:14 +02:00
Gabor Kiss-Vamosi
f753265a79 arch(draw): add parallel rendering architecture
BREAKING CHANGE

This is a huge update which introduces parallel rendering. lv_conf.h needs to be updated too.
2023-07-05 13:05:19 +02:00
xaowang96
a2574146a7 fix(canvas): fix data_size in img is always zero (#4162) 2023-04-26 09:43:38 +02:00
Gabor Kiss-Vamosi
ceb4dbcb04 fix(canvas): fix transformation 2023-03-06 04:40:14 +01:00
Gabor Kiss-Vamosi
124f9b0f9f arch(driver): new driver architecture with new color format support 2023-02-20 20:50:58 +01:00
_VIFEXTech
5236e73f59 chore(log): remove unnecessary prefixes in LV_LOG_XXX (#3795)
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2022-11-13 10:01:22 +01:00
Gabor Kiss-Vamosi
4519a874d7 fix(canvas): fix clipéping on transformation
fixes: #3545
2022-08-07 21:09:46 +02:00
Gabor Kiss-Vamosi
453ac21254 arch(color): define generic color formats and add draw_ctx->buffer_convert 2022-07-21 07:28:19 +02:00
Gabor Kiss-Vamosi
c79501bdce arch: use a flatter directory structure 2022-07-20 11:32:47 +02:00