mirror of
https://github.com/lvgl/lvgl.git
synced 2026-08-18 02:38:01 +08:00
Arduino Lint / lint (push) Has been cancelled
Build Examples with C++ Compiler / build-examples (push) Has been cancelled
MicroPython CI / Build esp32 port (push) Has been cancelled
MicroPython CI / Build rp2 port (push) Has been cancelled
MicroPython CI / Build stm32 port (push) Has been cancelled
MicroPython CI / Build unix port (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_NORMAL_8BIT - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_SDL - Ubuntu (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_16BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_24BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - cl - Windows (push) Has been cancelled
C/C++ CI / Build OPTIONS_FULL_32BIT - gcc - Windows (push) Has been cancelled
C/C++ CI / Build ESP IDF ESP32S3 (push) Has been cancelled
C/C++ CI / Run tests with 32bit build (push) Has been cancelled
C/C++ CI / Run tests with 64bit build (push) Has been cancelled
BOM Check / bom-check (push) Has been cancelled
Verify that lv_conf_internal.h matches repository state / verify-conf-internal (push) Has been cancelled
Verify GDB constants are up-to-date / verify-gdb-consts (push) Has been cancelled
Verify the widget property name / verify-property-name (push) Has been cancelled
Verify code formatting / verify-formatting (push) Has been cancelled
Compare file templates with file names / template-check (push) Has been cancelled
Build Docs / build-and-deploy (push) Has been cancelled
Build .deb packages / build (push) Has been cancelled
Test API JSON generator / Test API JSON (push) Has been cancelled
Install LVGL using CMake / build-examples (private) (push) Has been cancelled
Install LVGL using CMake / build-examples (public) (push) Has been cancelled
Check Makefile / Build using Makefile (push) Has been cancelled
Check Makefile for UEFI / Build using Makefile for UEFI (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/benchmark_results_comment/test.sh) (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/filter_docker_logs/test.sh) (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Script Check (scripts/perf/tests/serialize_results/test.sh) (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark 32b - lv_conf_perf32b (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark 64b - lv_conf_perf64b (push) Has been cancelled
Emulated Performance Test / ARM Emulated Benchmark - Save PR Number (push) Has been cancelled
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_32B - Ubuntu (push) Has been cancelled
Performance Tests CI / Perf Tests OPTIONS_TEST_PERF_64B - Ubuntu (push) Has been cancelled
Port repo release update / run-release-branch-updater (push) Has been cancelled
Static Checks / Static Checks (push) Has been cancelled
Verify Font License / verify-font-license (push) Has been cancelled
Verify Kconfig / verify-kconfig (push) Has been cancelled
Hardware Performance Test / Hardware Performance Benchmark (push) Has been cancelled
Hardware Performance Test / HW Benchmark - Save PR Number (push) Has been cancelled
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
51 lines
2.0 KiB
C
51 lines
2.0 KiB
C
#include "../lv_examples.h"
|
||
#if LV_BUILD_EXAMPLES && LV_USE_SLIDER && LV_USE_LOG
|
||
|
||
/**
|
||
* @title Modal overlay timing
|
||
* @brief Compare a full-screen dim layer against a recolor overlay for modal dialogs.
|
||
*
|
||
* The scene from `lv_example_style_multiple` is reused as the background,
|
||
* then a modal overlay is drawn over it. By default a semi-transparent
|
||
* black background is set on `lv_layer_top()`; toggling the `#if 0`
|
||
* branch switches to `lv_obj_set_style_recolor` on the active screen
|
||
* instead. A slider is added to `lv_layer_top()` and centered, then
|
||
* `lv_refr_now` and `lv_tick_elaps` print the render cost of the chosen
|
||
* approach through `LV_LOG_USER`.
|
||
*/
|
||
void lv_example_style_modal(void)
|
||
{
|
||
/*Add the cascading-styles scene as background*/
|
||
lv_example_style_multiple();
|
||
|
||
/* Set to 1 to enable recolor overlay instead of solid background */
|
||
#if 0
|
||
/* Apply a screen-wide tint using recolor (efficient overlay).
|
||
* This modifies the visual appearance by blending a semi-transparent color
|
||
* over existing content without creating additional objects.
|
||
* It’s lighter on performance compared to a full-size background object. */
|
||
lv_obj_set_style_recolor(lv_screen_active(), lv_color_black(), 0);
|
||
lv_obj_set_style_recolor_opa(lv_screen_active(), LV_OPA_50, 0);
|
||
#else
|
||
/* Simulate a modal background by setting a semi-transparent black background
|
||
* on lv_layer_top(), the highest built-in layer.
|
||
* This method creates a new full-screen object and can consume more resources
|
||
* compared to recolor, especially when using images or gradients. */
|
||
lv_obj_set_style_bg_color(lv_layer_top(), lv_color_black(), 0);
|
||
lv_obj_set_style_bg_opa(lv_layer_top(), LV_OPA_50, 0);
|
||
#endif
|
||
|
||
lv_obj_t * obj = lv_slider_create(lv_layer_top());
|
||
lv_obj_center(obj);
|
||
|
||
lv_refr_now(NULL); /*Update layouts and render*/
|
||
|
||
lv_obj_invalidate(lv_screen_active());
|
||
|
||
uint32_t t = lv_tick_get();
|
||
lv_refr_now(NULL); /*Render only*/
|
||
LV_LOG_USER("%" LV_PRIu32 " ms\n", lv_tick_elaps(t));
|
||
}
|
||
|
||
#endif
|