oveRTOS C++ API
C++20 RAII wrappers for the oveRTOS C API
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
ove::lvgl::Switch Class Reference

C++ wrapper for an LVGL switch widget (binary toggle). More...

#include <lvgl.hpp>

Inheritance diagram for ove::lvgl::Switch:
Inheritance graph
[legend]
Collaboration diagram for ove::lvgl::Switch:
Collaboration graph
[legend]

Public Member Functions

 Switch (lv_obj_t *obj)
 Wraps an existing LVGL switch object (non-owning).
 
Switchchecked (bool v)
 Sets the checked (on) state.
 
bool is_checked () const
 Returns true if the switch is on.
 
- Public Member Functions inherited from ove::lvgl::ObjectView
 ObjectView ()
 Constructs a null ObjectView (no associated LVGL object).
 
 ObjectView (lv_obj_t *obj)
 Constructs an ObjectView wrapping the given lv_obj_t*.
 
lv_obj_t * get () const
 Returns the raw lv_obj_t* pointer.
 
 operator lv_obj_t * () const
 Implicit conversion to lv_obj_t* for use with LVGL C APIs.
 
 operator bool () const
 Contextual bool conversion — true if the object pointer is non-null.
 
ObjectView parent () const
 Returns an ObjectView wrapping the parent of this object.
 
uint32_t child_count () const
 Returns the number of direct children of this object.
 
ObjectView get_child (int32_t idx) const
 Returns an ObjectView wrapping the child at the given index.
 
int32_t get_width () const
 Returns the current rendered width of this object.
 
int32_t get_height () const
 Returns the current rendered height of this object.
 
void del ()
 Deletes the LVGL object and all its children, then nulls the pointer.
 
void clean ()
 Deletes all children of this object without deleting the object itself.
 
- Public Member Functions inherited from ove::lvgl::ObjectMixin< Switch >
Switchsize (int32_t w, int32_t h)
 Sets both width and height of the object.
 
Switchwidth (int32_t w)
 Sets the width of the object.
 
Switchheight (int32_t h)
 Sets the height of the object.
 
Switchpos (int32_t x, int32_t y)
 Sets the position of the object relative to its parent.
 
Switchcenter ()
 Centers the object within its parent.
 
Switchalign (lv_align_t a, int32_t x_ofs=0, int32_t y_ofs=0)
 Aligns the object to an anchor with an optional offset.
 
Switchhide ()
 Hides the object by adding LV_OBJ_FLAG_HIDDEN.
 
Switchshow ()
 Shows the object by removing LV_OBJ_FLAG_HIDDEN.
 
Switchvisible (bool v)
 Conditionally shows or hides the object.
 
Switchadd_flag (lv_obj_flag_t f)
 Adds one or more object flags.
 
Switchremove_flag (lv_obj_flag_t f)
 Removes one or more object flags.
 
Switchadd_state (lv_state_t s)
 Adds one or more object states.
 
Switchremove_state (lv_state_t s)
 Removes one or more object states.
 
Switchuser_data (void *data)
 Stores an arbitrary user data pointer on the LVGL object.
 
Switchclickable (bool on)
 Enables or disables click events on the object.
 
Switchgrid_dsc (const int32_t *cols, const int32_t *rows)
 Configures this object as a grid container.
 
Switchflex_flow (lv_flex_flow_t flow)
 Configure this object as a flex container with the given flow.
 
Switchflex_align (lv_flex_align_t main, lv_flex_align_t cross, lv_flex_align_t track)
 Set flex alignment for main axis, cross axis (items), and cross axis (tracks).
 
Switchflex_grow (uint8_t grow)
 Set this child's flex grow factor (0 disables growing).
 
Switchlayout (uint32_t kind)
 Switch the object's layout engine (None / Flex / Grid).
 
Switchscroll_to_y (int32_t y, bool anim)
 Scroll the object so y is visible. anim enables animated scrolling.
 
Switchupdate_layout ()
 Force a layout recomputation (needed before get_content_width/get_scroll_bottom).
 
int32_t get_content_width () const
 
int32_t get_scroll_bottom () const
 
Switchremove_style_all ()
 
Switchgrid_cell (lv_grid_align_t col_align, int32_t col_pos, int32_t col_span, lv_grid_align_t row_align, int32_t row_pos, int32_t row_span)
 Places this object into a cell of its parent grid.
 
Switchadd_style (Style &style, lv_style_selector_t selector)
 Applies a reusable Style to this object for the given selector.
 
- Public Member Functions inherited from ove::lvgl::EventMixin< Switch >
Switchon (lv_event_code_t code, F &&fn)
 Registers a stateless callback for the given event code.
 
Switchon (lv_event_code_t code, T *instance)
 Registers a member function pointer as an event callback — minimal-overhead trampoline.
 
Switchon_click (F &&fn)
 Registers a stateless click callback (shorthand for on(LV_EVENT_CLICKED, fn)).
 
Switchon_click (T *instance)
 Registers a member function click callback.
 
Switchon_value_changed (F &&fn)
 Registers a stateless value-changed callback (shorthand for on(LV_EVENT_VALUE_CHANGED, fn)).
 
Switchon_value_changed (T *instance)
 Registers a member function value-changed callback.
 
- Public Member Functions inherited from ove::lvgl::StyleMixin< Switch >
Switchbg_color (lv_color_t c)
 Sets the background color of the object.
 
Switchbg_color (lv_color_t c, lv_style_selector_t part)
 Sets the background color of a specific part (e.g. LV_PART_INDICATOR, LV_PART_KNOB, LV_PART_SCROLLBAR).
 
Switchbg_opa (lv_opa_t opa)
 Sets the background opacity.
 
Switchbg_opa (lv_opa_t opa, lv_style_selector_t part)
 Sets the background opacity on a specific part.
 
Switchborder_color (lv_color_t c)
 Sets the border color.
 
Switchborder_color (lv_color_t c, lv_style_selector_t part)
 Sets border color on a specific part.
 
Switchborder_width (int32_t w)
 Sets the border width in pixels.
 
Switchborder_width (int32_t w, lv_style_selector_t part)
 Sets the border width on a specific part.
 
Switchradius (int32_t r)
 Sets the corner radius.
 
Switchradius (int32_t r, lv_style_selector_t part)
 Sets the corner radius on a specific part.
 
Switchpad_all (int32_t p)
 Sets uniform padding on all four sides.
 
Switchpad_hor (int32_t p)
 Sets horizontal (left + right) padding.
 
Switchpad_ver (int32_t p)
 Sets vertical (top + bottom) padding.
 
Switchpad_gap (int32_t g)
 Sets the gap between children in flex/grid layouts.
 
Switchtext_color (lv_color_t c)
 Sets the text color.
 
Switchtext_color (lv_color_t c, lv_style_selector_t part)
 Sets text color on a specific part.
 
Switchtext_font (const lv_font_t *f)
 Sets the font used to render text.
 
Switchpad_top (int32_t p)
 Sets top padding in pixels.
 
Switchpad_bottom (int32_t p)
 Sets bottom padding in pixels.
 
Switchpad_left (int32_t p)
 Sets left padding in pixels.
 
Switchpad_right (int32_t p)
 Sets right padding in pixels.
 
Switchpad_row (int32_t p)
 Sets the row gap between children in flex/grid layouts.
 
Switchpad_column (int32_t p)
 Sets the column gap between children in flex/grid layouts.
 
Switchtext_align (uint32_t align, lv_style_selector_t part=LV_PART_MAIN)
 Sets the horizontal text alignment on the given part.
 
Switchset_opa (lv_opa_t opa)
 Sets the overall object opacity (0–255, or LV_OPA_*).
 
Switcharc_color (lv_color_t c, lv_style_selector_t part)
 Sets arc color on a specific part.
 
Switcharc_width (int32_t w, lv_style_selector_t part)
 Sets arc stroke width on a specific part.
 
Switcharc_opa (lv_opa_t opa, lv_style_selector_t part)
 Sets arc opacity on a specific part.
 
Switcharc_rounded (bool rounded, lv_style_selector_t part)
 Enables/disables rounded arc end caps on a specific part.
 
Switchtranslate_y (int32_t v, lv_style_selector_t part=LV_PART_MAIN)
 Sets a vertical translation (post-layout offset) on the given part.
 
Switchmargin_top (int32_t v, lv_style_selector_t part=LV_PART_MAIN)
 Sets top margin (outer spacing) on the given part.
 
Switchmargin_bottom (int32_t v, lv_style_selector_t part=LV_PART_MAIN)
 Sets bottom margin (outer spacing) on the given part.
 
Switchmargin_left (int32_t v, lv_style_selector_t part=LV_PART_MAIN)
 Sets left margin (outer spacing) on the given part.
 
Switchmargin_right (int32_t v, lv_style_selector_t part=LV_PART_MAIN)
 Sets right margin (outer spacing) on the given part.
 
Switchmax_height (int32_t v, lv_style_selector_t part=LV_PART_MAIN)
 Sets the maximum height (in pixels) on the given part.
 
Switchopa_layered (lv_opa_t opa, lv_style_selector_t part=LV_PART_MAIN)
 Sets the layered opacity (applied after compositing) on the given part.
 

Static Public Member Functions

static Switch create (ObjectView parent)
 Creates a new switch as a child of parent.
 
- Static Public Member Functions inherited from ove::lvgl::ObjectView
static ObjectView screen_active ()
 Returns an ObjectView wrapping the currently active screen.
 

Additional Inherited Members

- Protected Attributes inherited from ove::lvgl::ObjectView
lv_obj_t * obj_
 Raw pointer to the wrapped LVGL object.
 

Detailed Description

C++ wrapper for an LVGL switch widget (binary toggle).

State is tracked via LV_STATE_CHECKED. Listen for changes with on_value_changed(...).


The documentation for this class was generated from the following file: