oveRTOS C++ API
C++20 RAII wrappers for the oveRTOS C API
Loading...
Searching...
No Matches
Classes | Namespaces | Concepts | Functions
lvgl.hpp File Reference

LVGL display integration — guards, widgets, styles, and reactive state. More...

#include <ove/lvgl.h>
#include <cstdarg>
#include <cstdint>
#include <cstdio>
#include <type_traits>
#include <concepts>
Include dependency graph for lvgl.hpp:

Go to the source code of this file.

Classes

class  ove::lvgl::LvglGuard
 RAII scoped lock for thread-safe access to the LVGL rendering context. More...
 
class  ove::lvgl::ObjectView
 Non-owning, pointer-sized wrapper around an lv_obj_t*. More...
 
class  ove::lvgl::ObjectMixin< Derived >
 CRTP mixin that adds fluent layout and visibility setters to widget classes. More...
 
class  ove::lvgl::EventMixin< Derived >
 CRTP mixin that adds type-safe LVGL event registration to widget classes. More...
 
class  ove::lvgl::StyleMixin< Derived >
 CRTP mixin that adds inline per-object style setters to widget classes. More...
 
class  ove::lvgl::Style
 RAII wrapper around an lv_style_t object. More...
 
class  ove::lvgl::Label
 C++ wrapper for an LVGL label widget. More...
 
class  ove::lvgl::Bar
 C++ wrapper for an LVGL progress-bar widget. More...
 
class  ove::lvgl::Box
 C++ wrapper for a generic LVGL container object with scrolling disabled. More...
 
class  ove::lvgl::Button
 C++ wrapper for an LVGL button widget. More...
 
class  ove::lvgl::Slider
 C++ wrapper for an LVGL slider widget (interactive bar). More...
 
class  ove::lvgl::Switch
 C++ wrapper for an LVGL switch widget (binary toggle). More...
 
class  ove::lvgl::Checkbox
 C++ wrapper for an LVGL checkbox (labelled binary toggle). More...
 
class  ove::lvgl::Arc
 C++ wrapper for an LVGL arc widget (circular slider / gauge). More...
 
class  ove::lvgl::Image
 C++ wrapper for an LVGL image widget. More...
 
class  ove::lvgl::Msgbox
 C++ wrapper for an LVGL message-box (modal dialog). More...
 
class  ove::lvgl::Spinner
 C++ wrapper for LVGL's circular loading indicator. More...
 
class  ove::lvgl::Led
 C++ wrapper for LVGL's LED widget — a colored indicator circle. More...
 
class  ove::lvgl::Textarea
 C++ wrapper for an LVGL text-entry widget. More...
 
class  ove::lvgl::Dropdown
 C++ wrapper for an LVGL click-to-open dropdown list. More...
 
class  ove::lvgl::Roller
 C++ wrapper for LVGL's iOS-picker-style scrollable option wheel. More...
 
class  ove::lvgl::Spinbox
 C++ wrapper for an LVGL numeric stepper (+ / buttons). More...
 
class  ove::lvgl::Keyboard
 C++ wrapper for LVGL's on-screen keyboard. More...
 
class  ove::lvgl::Chart
 C++ wrapper for an LVGL chart (line / bar / scatter). More...
 
class  ove::lvgl::Chart::Series
 Lightweight handle to an lv_chart_series_t *. More...
 
class  ove::lvgl::Table
 C++ wrapper for LVGL's 2D data table widget. More...
 
class  ove::lvgl::Tabview
 C++ wrapper for LVGL's tabbed container with swipeable pages. More...
 
class  ove::lvgl::List
 C++ wrapper for LVGL's scrollable list of buttons/text. More...
 
class  ove::lvgl::Canvas
 C++ wrapper for LVGL's user-buffer drawing surface. More...
 
class  ove::lvgl::Calendar
 C++ wrapper for LVGL's month-grid date picker. More...
 
class  ove::lvgl::Group
 RAII wrapper for an LVGL input focus group (lv_group_t). More...
 
class  ove::lvgl::Screen
 Top-level LVGL screen — a display root without a parent. More...
 
class  ove::lvgl::Timer
 RAII wrapper for LVGL's built-in timer system. More...
 
class  ove::lvgl::Animation
 Fluent builder for LVGL animations (lv_anim_t). More...
 
class  ove::lvgl::Component< Derived >
 CRTP base class for reusable, self-contained LVGL UI components. More...
 

Namespaces

namespace  ove::lvgl
 C++ abstractions for the LVGL embedded GUI library.
 
namespace  ove
 Top-level namespace for all oveRTOS C++ abstractions.
 

Concepts

concept  ove::lvgl::detail::StatelessCallable
 Concept satisfied by callables that are directly convertible to void(*)(lv_event_t*).
 

Functions

Box ove::lvgl::vbox (ObjectView parent)
 Creates a vertical flex container (LV_FLEX_FLOW_COLUMN) sized to its content.
 
Box ove::lvgl::hbox (ObjectView parent)
 Creates a horizontal flex container (LV_FLEX_FLOW_ROW) sized to its content.
 
void ove::lvgl::animate_x (ObjectView obj, int32_t to, uint32_t duration_ms)
 Helper: animate an object's X position with ease-out.
 
void ove::lvgl::animate_y (ObjectView obj, int32_t to, uint32_t duration_ms)
 Helper: animate an object's Y position with ease-out.
 
void ove::lvgl::animate_width (ObjectView obj, int32_t to, uint32_t duration_ms)
 Helper: animate an object's width.
 
void ove::lvgl::animate_opa (ObjectView obj, lv_opa_t to, uint32_t duration_ms)
 Helper: fade an object's main-part opacity from current → to.
 
int32_t ove::lvgl::display_width ()
 Horizontal resolution (pixels) of the default LVGL display.
 
int32_t ove::lvgl::display_height ()
 Vertical resolution (pixels) of the default LVGL display.
 
int32_t ove::lvgl::display_dpi ()
 DPI of the default LVGL display.
 
ObjectView ove::lvgl::layer_top ()
 Returns the top layer (for overlays that should render above screens).
 

Detailed Description

LVGL display integration — guards, widgets, styles, and reactive state.