VIFEX
4cce3b5cd9
perf(draw): skip border drawing when border side is none ( #5959 )
...
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com >
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com >
2024-03-28 19:37:48 +01:00
Johannes Marbach
152dc0b2be
feat(draw): add convenience methods for safely getting correct draw descriptor ( #5505 )
2024-01-29 08:19:58 +01:00
Karl Andersson
e3b747f044
fix: removed LV_ATTRIBUTE_FAST_MEM function attribute from prototypes ( #5467 )
2024-01-25 09:40:40 +01:00
Gabor Kiss-Vamosi
4699f2f556
fix(bar): fix the clipping of the indicator in some corner cases ( #5229 )
2024-01-09 17:13:25 +01:00
Gabor Kiss-Vamosi
f325e4d1c0
feat(draw): remove draw BG_IMG draw task
2023-12-11 14:11:54 +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
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
d28f80d362
refactor(style): rename shadow_ofs to shadow_offset
2023-10-31 19:10:02 +01: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
09c12d0f9c
refactor(btn, img): rename btn to button and img to image
2023-09-14 20:12:31 +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
_VIFEXTech
540c028d60
feat(profiler): add performance profiler hook ( #4211 )
...
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com >
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com >
2023-05-11 11:10:47 +02:00
Gabor Kiss-Vamosi
5369d7d473
arch(conf, api) refactor lv_conf and some API ( #3501 )
...
Kconfig and MicroPython config is not updated yet.
* start to refactor lv_conf.h
* further mem refactoring
* create lv_mem_builtin.c/h
* update lv_conf_internal.h
* add lv_strlen and lv_strncpy
* rename LV_DRAW_COMPLEX to LV_USE_DRAW_MASK
* update lv_conf_template
* minor fix
2022-07-19 13:31:42 +02:00
guoweilkd
060b37e8fb
fix(draw_rect): delete __STDC_VERSION__ to ensure C++ compatibility ( #3099 )
2022-02-17 12:31:16 +01:00
X-Ryl669
6617385f8a
feat(draw): add gradient dithering support ( #2872 )
...
* Add dithering to gradients
* Add support for 8x8 matrix for ordered dithering
* Fix CI errors
* Try error diffusion on vertical gradient too
* Vertical error diffusion dithering
* Add support for runtime based dithering mode selection (from none, ordered, error diffusion).
* Reduce the binary size of the code by sharing the dithering table when appropriate.
* Fix CI
* Fix CI
* Review corrections
* Fix union mapping
* Revert bg_color changes
* Fix for keeping bg_color in the API.
* Fix after review
* Add support for setting multiple stops per gradient in the style API
* Let's make an example
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com >
2022-01-11 12:38:30 +01:00
Gabor Kiss-Vamosi
db53ea925c
arch(draw): allow replacing the draw engine
...
BREAKING CHANGE: the API of lv_draw_... function have been changed
2021-12-21 15:54:22 +01:00
Gabor Kiss-Vamosi
8f6b1f8d6c
arch(draw) separate SW renderer to allow replacing it ( #2803 )
...
* decouple sw renderer
* simplify blend interface
* make tests pass
* udpate makefiles
* fix warning
* fix build errors
* run code formatter
* antialias fix
2021-11-26 12:44:10 +01:00
Gabor Kiss-Vamosi
81d8be13d6
fix(draw) simplify how outline_pad is compnesated
...
Previously it was impossible to set outline_pad=0.
Now it's simply reduced by 1 during drawing
to avoid color bleeding with outline_pad=0.
2021-11-23 13:45:46 +01:00
Gabor Kiss-Vamosi
075831a54c
fix(draw) border_draw crash is special case
2021-11-11 17:31:52 +01:00
Gabor Kiss-Vamosi
4c034e56e0
fix(draw) fix horizontal gradient drawing
2021-11-09 15:29:55 +01:00
guoweilkd
372f94b7de
fix(draw_border):draw error if radius == 0 and parent clip_corner == true ( #2764 )
2021-11-05 12:08:56 +01:00
guoweilkd
f43a33921a
fix(draw_rect):bottom border lost if enable clip_corner ( #2742 )
2021-10-29 10:57:45 +02:00
guoweilkd
74258507fc
fix(draw border):border draw error if border width > radius ( #2739 )
2021-10-28 17:23:40 +02:00
Mariotaku
efc5bb40d9
feat(drawing) hardware accelerated rendering by SDL2 ( #2484 )
...
* Hardware accelerated SDL render WIP
* Rect drawing code cleanup
* Fixed arc drawing angle
Fixed compact rect drawing
* Refactoring
Fixed cache deinit order
* Image recolor
Drawing left and right border
* Math problems
* Improving draw cache
* Improving line drawing logic
* Improving arc drawing quality
* Added round function
* Attempts to render properly on Pi
* Updated lruc function names
* Updated symbol names
* Saved ram by reusing part of background rect
* Added outline drawing
Removed arc texture caching
* rect drawing cache rendering
* high efficiency rect shadow texture caching
* fixed simple borders drawing
* fixed generic borders drawing
* Simplified text atlas caching logic
Supports chroma keyed image
* Color palette WIP
* Improved draw cache
* Updated defines for better build
* renaming files for better consistency
* fix includes
* Updated lv_conf_internal with generator
* Fixing build issues
* fixed img rotation pivot
* better font atlas caching WIP
* fix includes
* full font atlas support
improved gpu caching for rect
* update conf header
* fix palette creation
* Fixed font atlas key matching
* fixed chroma key image background
* added 3bpp mask palette (WIP)
* fixed caching key initialization
* disabled gpu arc drawing for now
updated naming convention
* updated naming convention
* fix makefile and include path
* improved rect drawing when having masks
* improved rect drawing when having masks
* reduced texture allocation while drawing with mask
* accurate clipping for rects and texts
* fixed build error
* fixed build error
* line drawing WIP
* updated imports
* fixed freezes if LRU has smaller new item
* fixed clipping rect color
* fixed build error
* using built-in free function for LRU key
* Added custom background drawing function
* fixing imports
* fixed shadow bitmap on old SDL libs
* improved draw_img compatibility
* fixing font baking
* fixed font rendering
* fixed lv_draw_line check
* configurable SDL include path
* disabled SDL line drawing implementation
* supports screen resize
* sdl: Remove duplicated object
Observed issue:
/usr/bin/ld: lv_gpu_sdl_texture_cache.o: \
in function `_lv_gpu_sdl_texture_cache_init':
lv_gpu_sdl_texture_cache.c:(.text+0x30): \
multiple definition of `_lv_gpu_sdl_texture_cache_init'; \
lv_gpu_sdl_texture_cache.o:lv_gpu_sdl_texture_cache.c:(.text+0x30): \
first defined here
Forwarded: https://github.com/mariotaku/lvgl/pull/1
Relate-to: https://github.com/lvgl/lvgl/pull/2484
Signed-off-by: Philippe Coval <philippe.coval@huawei.com >
* Reduced opening of image
* Closes image resource properly
* improved draw image logic
* Moved driver related code to lv_drivers
* fixed lv_deinit implicit sdl code invocation
* improved shadow clipping
* fixed outline area invalidation
* updated comments
* formatted code using astyle
* Updated README
* formatted code
* fixed typo
* fixed static declaration
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com >
Co-authored-by: Philippe Coval <philippe.coval@huawei.com >
2021-09-16 18:20:32 +02:00
Gabor Kiss-Vamosi
f810265c0d
fix(draw) shadow darwing with large shadow width
2021-09-13 15:02:29 +02:00
Gabor Kiss-Vamosi
d67dd943ca
format run code-formtter.sh
...
related to #2543
2021-09-13 14:06:26 +02:00
Xiang Xiao
9fc0c3cf98
fix(lv_log.h): remove the duplicated semicolon from LV_LOG_xxx ( #2544 )
...
and fix the caller who forget to add semicolon at the line end
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2021-09-09 15:34:36 +02:00
Gabor Kiss-Vamosi
4250e3c627
fix(draw) fix shdow drawing with readius=0
...
fixes #2519
2021-09-02 13:40:22 +02:00
ckielstra
5249a34d5d
docs more spelling fixes ( #2499 )
2021-08-27 12:15:39 +02:00
Gabor Kiss-Vamosi
20f1867596
fix(draw) fix border width of simple (radius=0, no masking) borders
2021-08-25 16:43:48 +02:00
Gabor Kiss-Vamosi
13e347055b
fix(draw) fix gradent calculation of the rectangle is clipped
2021-08-17 16:53:55 +02:00
Gabor Kiss-Vamosi
01237da474
fix(draw) fix rectangle drawing with clip_corner enabled
...
fixes #2457
2021-08-17 16:53:55 +02:00
Gabor Kiss-Vamosi
a8427915c7
perf(draw) ignore masks if they don't affect the current draw area
2021-08-05 17:39:59 +02:00
Gabor Kiss-Vamosi
5b3d3dc8b3
perf(draw) reimplement rectangle drawing algorithms
...
No functionalty has changed only make them more readable and faster.
2021-08-02 15:45:14 +02:00
Gabor Kiss-Vamosi
637b706ddc
perf(draw) reimplement circle drawing algorithms ( #2374 )
...
* perf(draw) reimplement circle drawing algorithms
Imporve the speed of circle drawing
Add circle draw caching
Various other speed improvements
* docs describe how to use masks
* fix(draw) add missing GC root usage
2021-07-27 19:16:00 +02:00
Gabor Kiss-Vamosi
b3d9ab0657
fix warnings
2021-05-03 19:20:02 +02:00
Gabor Kiss-Vamosi
3d4c4aea3c
feat(draw) allow using argb images, border and outline with LV_DRAW_COMPLEX=0 too
2021-05-03 18:54:24 +02:00
Gabor Kiss-Vamosi
a6d3eff4db
fix(draw_outline) do not change the outline_width based on the outline_pad
...
fixes : #2171
2021-04-12 12:15:31 +02:00
Gabor Kiss-Vamosi
53f3cc1827
api(style) remove content style proeprties
2021-03-25 13:36:50 +01:00
Xiang Xiao
9254a7ea14
fix(comment): remove the space after /* and before */
2021-03-18 11:51:36 +08:00
Gabor Kiss-Vamosi
87c4a0ffef
fix conflicts
2021-03-17 10:24:48 +01:00
Gabor Kiss-Vamosi
0cc1e99ddf
remove the lv_ prefix from the directories in the src folder
2021-03-16 20:36:27 +01:00