1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00

4438 Commits

Author SHA1 Message Date
Gabor Kiss-Vamosi
e651383688 fix(dropdown): fix scrolling when options are CENTER aligned
fixes: https://forum.lvgl.io/t/add-users-style-to-dropdown-list/9144
2022-06-20 08:14:45 +02:00
Gabor Kiss-Vamosi
0255c6dd39 fix(meter): improve the precision of tick line drawing
fixes #3361
2022-06-19 11:21:27 +02:00
Gabor Kiss-Vamosi
cbff8e83e5 fix(draw): fix transformations on subdivided areas 2022-06-15 23:33:20 +02:00
Mariotaku
f575935180
fix(sdl): add transformation support for the SDL backend (#3403)
* sdl transform wip

* sdl transform wip

* working transform (scale, rotate)

* fixed transform with masks

* fixing includes

* removed lv_obj_t references in draw backend

* update the API to work with SW layers too

* update lv_conf_internal.h

* makefile fixes

* updated sdl transform implementation

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-06-15 10:36:47 +02:00
张杨
22627c47ce
fix(bmp): fix with LV_COLOR_16_SWAP (#3412)
* Update lv_bmp.c

fix bug. When the bmp is 16 bit depth, the picture is not displayed properly due to no swap bytes

* Update lv_bmp.c

* Update lv_bmp.c

* format

* using unsigned int
2022-06-14 12:23:04 +02:00
pete-pjb
60ebd25d3d chore(tabview) fix format - (run python script this time!) 2022-06-13 13:07:49 +01:00
pete-pjb
3e56e96922 chore(tabview) fix format. 2022-06-13 13:04:44 +01:00
pete-pjb
11b708ed95 chore(tabview) correct format. 2022-06-13 13:00:23 +01:00
pete-pjb
2c9695afb4 feat(tabview) add API to rename tab.
https://github.com/lvgl/lvgl/issues/3407#issue-1265916615
2022-06-13 12:56:37 +01:00
embeddedt
9a48de0f8b
feat(style) add 'inherit' and 'initial' CSS properties (#3390)
Fixes #3086
2022-06-09 20:20:34 -04:00
Mariotaku
018a8cfdac
fix(sdl): fix LRU, reported in #3402 (#3404)
* fix for #3402

* fixed unsupported type
2022-06-08 11:01:19 +02:00
ivooesch
533e325f21
fix(draw) avoid use-after-free when drawing arcs (#3399)
* Update lv_draw_sw_arc.c

Fixed probelöm with freeing uninitialized, probably not in the most efficient way, as I do not really know the internalk workings of this lib

* Update lv_draw_sw_arc.c
2022-06-07 12:52:10 +02:00
pete-pjb
ff6316c749 revert (msgbox) revert incorrect button padding fix. 2022-06-06 11:10:19 +01:00
qinshijing
e59c83b453
feat(anim): add deleted callback (#3279) (#3295)
Co-authored-by: qinshijing <qinshijing@xiaomi.com>
2022-06-03 11:01:07 +02:00
Gabor Kiss-Vamosi
9ac8ce69f6 fix(draw): handle non BLEND_MODE_NORMAL for ARGB drawing 2022-06-02 10:16:42 +02:00
Johannes Marbach
eef838f51f
feat(textarea): make it possible to customize the bullet character (#3388)
* feat(textarea): Make it possible to customise the bullet character

This adds functions to allow overriding the default bullet character
with a custom one (or even no character at all).

* Update docs/widgets/core/textarea.md

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-05-30 12:05:22 +02:00
kctan0805
6ad52a7119
fix(subpx): fix subpixel rendering font is not displaying bug (#3387) 2022-05-28 21:39:28 +02:00
Amir Gonnen
6a8dd1a3b6
fix(style): reset style lookup table after gc sweep/lv_deinit (#3385) 2022-05-28 21:21:01 +02:00
Gabor Kiss-Vamosi
6be43b83b3 fix(gpu): fix warning with NXP GPU
fixes https://github.com/lvgl/lvgl/pull/3322#issuecomment-1139282874
2022-05-27 21:07:16 +02:00
PeterB
d4c9ab5037 chore(msg_box) correct formatting. 2022-05-27 11:17:17 +01:00
PeterB
cb4da38e3c Fix(msgbox) correct msg_box button padding if LV_DPI_DEF is set to less
than 130
2022-05-27 11:05:37 +01:00
_VIFEXTech
d151a6789f
feat(disp): add a temporary invalidation disable interface (#3378)
* feat(disp): add a temporary disable invalidation interface

* minor adjustments

* remove forgotten comment

Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-05-26 22:46:55 +02:00
ExplorerLog
2cf4d4b17e
chore correct file encodings (#3381)
Change "UTF-8 with BOM" to "UTF-8"
2022-05-26 13:06:58 -04:00
Dennis Field
2e93b88ead
feat(group): add edge callbacks when trying to move focus past beginning or end (#3374) 2022-05-24 15:31:46 +02:00
nicusorcitu
029eef79c4
feat(gpu): reattach nxp pxp vglite accelerators(#3322)
* feat(pxp/vglite) Attach NXP GPUs to the new draw context.

Create a single NXP draw layer on top of PXP and VGLITE.
Extra changes:
1. Add VGLITE image blits acceleration.
2. Reenable blit split workaround for quality issue in RT500.
3. Increase threshold from 32 to 5000 px to fill/blit with both PXP and VGLITE.
4. Allow to enable both PXP and VGLITE. Add a fallback mechanism:
- by default the PXP will try to accelerate. if that is not supported (or fails
due to threshold limit condition from 3.) then it will fallback to VGLITE.
- if VGLITE does not support that feature (or fails due to threshold limit
condition from 3.) the it will fallback to CPU.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(vglite) Add VGLITE support to draw the backgroud of rectangles.

optim: draw only a circle when radius has value LV_RADIUS_CIRCLE.
optim: to draw rounded corners, use cubic bezier curves

Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(vglite) Add VGLITE support to draw arcs.

Use up to 4 bezier curves to optimize the drawing of an arc.
The arc curve has to be constant when growing the angle:
for this we compute sub-arc based on a best approximation of quarter-arc.
use dichotomy to find the sub-arc 't' param, instead of tangent approximation.

Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(pxp) Add ARGB88888 format support for PXP backend.

Supports per pixel and global alpha blending, and combination of alpha blending with recolor feature.

Signed-off-by: Jerome Evillard <jerome.evillard@nxp.com>
Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(vglite) Add the support of ARGB 32bits color format.

Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(vglite) Add VGLITE acceleration support for rotation and zoom.

Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(pxp) Add PXP acceleratin to rotate in blit.

Applies the rotation on the pxp output.

Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(pxp/vglite) Avoid calling the blend callback from image decoded callback.

Add lv_gpu_nxp_pxp_blit_transform() and lv_gpu_nxp_vglite_blit_transform().
This will simplify a lot the fallback mechanism and the way of adding new
image decoded features.
(MGG-884)

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(pxp) Add image rotate 90x.

Simplify the two steps process by adding the blit_cover and blit_opa functions.

In order to rotate or recolor with opacity, two steps must be fallowed:
1. Run the operation without opa.
2. Blend the result by applying the opa.
(MGG-469)

Obs:
Recolor and rotate is currently not supported with opa or alpha channel.(MGG-883)

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(vglite) Fix incorrect slider widget indicator when vglite acceleration is enabled

(MGG-863)

Signed-off-by: Stefan Babatie <stefan.babatie@nxp.com>
Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(pxp) Fix pxp fill (simple rect draw)  on 32 bit color depth.

(MGG-890)

Signed-off-by: Stefan Babatie <stefan.babatie@nxp.com>

* fix(pxp) Separate blit simple by the blit with transformation.

While we run into blit with transformation we have to
decide if the operation needs to be done in one or two steps.
Blit with color format (opa or alpha or chroma key) - require one step: blit_cf().
Blit with rotate or recolor but no color format - require one step: blit_cover().
Blit with rotate or recolor + opa or alpha - require two steps:
blit_opa() = blit_cover() + blit_cf().
Blit with rotate or recolor + chroma key - not supported yet.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(pxp) Add support for recolor with chroma-keying.

(MGG-434)

Signed-off-by: Stefan Babatie <stefan.babatie@nxp.com>

* fix(pxp) Fix temporary buffer allocation limit.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(pxp) Add PXP limitation while rotating images not aligned to 16x16 blocks.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(nxp) Add makefiles.

Tested with:
      working-directory: tests/makefile
      run: make test_file

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* feat(nxp) Update NXP github documentation.

(MGG-864)

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(nxp) Move the API comments of global functions only in the H files to make maintenance simpler.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(nxp/vglite) Fixed some warnings. Remove unused variables.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(nxp) lv_draw_nxp_ctx_deinit() shall simply fallback to sofware call.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(nxp) Fallback to software callbacks if need for argb8565 support.

During rendering, LVGL might initializes new draw_ctxs and start drawing into
a separate buffer (called layer). If the content to be rendered has "holes",
e.g. rounded corner, LVGL temporarily sets the disp_drv.screen_transp flag.
It means the renderers should draw into an ARGB buffer.
With 32 bit color depth it's not a big problem but with 16 bit color depth
the target pixel format is ARGB8565 which is not supported by the GPU.
In this case, the NXP callbacks should fallback to SW rendering.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(pxp) Fix wrong demo widget transparency.

1. Fix alpha inverted calculation for fill with opacity.
2. Fix also the ratio of recoloring for chroma key.

Signed-off-by: Stefan Babatie <stefan.babatie@nxp.com>

* fix(vglite) Remove software pre-multiplication when hardware pre-multiplication is available.

(MGG-886)

Signed-off-by: Stefan Babatie <stefan.babatie@nxp.com>

* doc(vglite) Add vglite initialization info.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(pxp/vglite) Fix unused variable warnings when PXP/VGLite are not enabled simultaneously.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

* fix(pxp) Fixed the color key recoloring on 16 bits color depth.

1. Fixed the arguments of lv_color_mix(), previously was using an inversed logic. But it works anyway.
2. Use LV_COLOR_SET_X for adjusting the channels on both 16 and 32 bits. Fixed the max values.

Signed-off-by: Nicușor Cîțu <nicusor.citu@nxp.com>

Co-authored-by: Stefan Babatie <stefan.babatie@nxp.com>
2022-05-24 11:43:57 +02:00
Gabor Kiss-Vamosi
52287fd64a fix(disp): make lv_scr_load work better with lv_scr_load_anim and auto_del = true
related to: https://forum.lvgl.io/t/crash-when-delete-a-screen-by-using-lv-obj-del/8930
2022-05-23 16:42:26 +02:00
Gabriel Wang
332d0abcfc
fix(draw): fix colour supports for indexed and alpha-only (#3371) 2022-05-20 09:32:59 +02:00
Gabor Kiss-Vamosi
42d9c07eeb fix(color): compensate rounding error during blending
fixes #3362
2022-05-18 23:08:12 +02:00
embeddedt
276f28a8a2
fix(draw) ensure variable is initialized to avoid warning
Fixes #3365
2022-05-18 08:53:35 -04:00
Gabor Kiss-Vamosi
22854ff3fb fix(tabview, tileview): fix scrolling
The issue was introduced by 777fe1ea. It sends SCOLL_END event even when there is no scroll aniamtion
2022-05-18 12:03:37 +02:00
Gabor Kiss-Vamosi
523062b9ee fix(color): color mix rounding error
fixes: #3362
2022-05-18 07:57:48 +02:00
Gabriel Wang
a7cfc0b901
feat(cmsis-pack): Monthly update for May (alpha) (#3359)
* feat(cmsis-pack): Monthly update for May

* fix(benchmark): fix a typo

* fix(draw): fix warning

* Update LVGL.lvgl.1.0.4-alpha5.pack

* feat(arm-2d): add a quick patch to support RGB565A8
2022-05-16 20:41:59 +02:00
Gabor Kiss-Vamosi
834a118847 fix warnings 2022-05-16 17:39:31 +02:00
Gabor Kiss-Vamosi
ccbb41dedc chore(img): update API comments
fix: #3350
2022-05-16 17:23:20 +02:00
Gabor Kiss-Vamosi
76de7c6b7b fix(draw): fix the calculation of the transformed coordinates
fixes https://forum.lvgl.io/t/inaccurate-bitmap-zoom/8858
2022-05-16 17:15:36 +02:00
Gabor Kiss-Vamosi
67446a4922 support chrome keysed image rotatation 2022-05-16 17:15:36 +02:00
Gabor Kiss-Vamosi
2716475932 formatting 2022-05-16 17:15:36 +02:00
Gabor Kiss-Vamosi
b773330234 fix conflicts 2022-05-16 17:15:36 +02:00
Gabriel Wang
6ae0784251
feat(gpu): Update lv_gpu_arm2d with new features (#3340)
* feat(gpu): Update lv_gpu_arm2d with new features

- Provide acceleration for
    * Transform
    * Recolour
    * Chrome-Key

* remove typos

* fix code-format issue

* update according to #3337

* remove the last /* *INDENT-ON* */
2022-05-16 11:15:49 +08:00
embeddedt
2148ed99b0
fix(mem): fix TLSF returning the wrong pointer when the requested size is too large (#3325)
* test(mem) add test for #3324

* fix(tlsf) don't return the same pointer if the requested size is too large
2022-05-14 22:04:13 +02:00
Gabor Kiss-Vamosi
cc18518e96 feat(indev): send LV_EVENT_PRESS_LOST on release with wait_until_release
related to #3211
2022-05-10 19:29:13 +02:00
Gabriel Wang
8d3c41d517
feat(draw): improve acceleration for LV_IMG_CF_ALPHA_8BIT (#3337)
* feat(draw): improve acceleration for LV_IMG_CF_ALPHA_8BIT

* fix format issue

* fix: use normal method when conditions are not fulfilled.

* fix a typo

* feat(demo): add Weighted FPS and Opa speed log output (#3326)

Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>

Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>

* perf(layer): cache the layer_type

fixes #3334

* fix partial redraw and setting color

Co-authored-by: _VIFEXTech <1290176185@qq.com>
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
2022-05-10 18:52:50 +02:00
Arnaud Mouiche
6c68095fb5
fix(txt): fix returned value of lv_txt_iso8859_1_next(..., NULL) (#3338)
Should return the first character of txt instead of the following one.

For example, used in lv_txt_get_width() to get 'letter_next' leading to
incorrect lv_font_get_glyph_width results.

Co-authored-by: Arnaud Mouiche <arnaud.mouiche@invoxia.com>
2022-05-10 18:25:46 +02:00
Gabor Kiss-Vamosi
c6c2864048 perf(draw): minor optimiziation in point transformation 2022-05-10 11:13:10 +02:00
_VIFEXTech
93dfd87a7a
feat(anim): add the function of getting global animation refresher timer (#3331)
* feat(anim): add dynamic setting animation refresh period support

* add lv_anim_get_refr_period

* add lv_anim_get_timer

Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2022-05-07 22:58:38 +02:00
Gabor Kiss-Vamosi
ac2e2f132e perf(layer): cache the layer_type
fixes #3334
2022-05-07 22:01:28 +02:00
_VIFEXTech
012a7cfddb
fix(chart): fix accessing uninitialized point_area (#3327)
Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
2022-05-05 11:02:39 +02:00
Gabriel Wang
7c9eea1e63
feat(gpu): Update gpu arm 2d (#3320)
* feat(lv_gpu_arm2d): accelerate chrome-keying

* feat: accelerate Image ARGB for rgba8888

* Update lv_gpu_arm2d.c

* chore disable formatting for __ACCELERATE_PREPARE__

astyle seems to have issues understanding multiline preprocessor blocks.

Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com>
2022-05-04 21:34:42 +02:00
Gabor Kiss-Vamosi
a99eb6bb6a fix(spinbox): rename lv_spinbox_set_pos to lv_spinbox_set_cursor_pos
fixes #3301
2022-05-04 21:14:28 +02:00
Xiang Xiao
e827207080
fix(config): Keep the sequence of widget in order (#3314)
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-04 21:00:49 +02:00