Files
lvgl/examples/styles/lv_example_style_modal.c
Gabor Kiss-Vamosiandcubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> 0241174e50
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
docs(examples): add XML examples too covering specific features (#10142)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-05-21 10:22:44 +02:00

51 lines
2.0 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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.
* Its 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