Arc Label (lv_arclabel)
Display text along an arc — useful for gauges, dials, and other curved layouts.
Overview
The Arc Label displays text along an arc. Useful for gauges, dials, and any layout where the text needs to follow a curved path. You can set the text, direction, radius, alignment, and color.
Styling
LV_PART_MAINcovers both the arc path and the text drawn along it. Use the typical text and background style properties to change the look.
Text Management
- Text can be set using
lv_arclabel_set_text(arclabel, "Your text"). - For formatted text, use
lv_arclabel_set_text_fmt(arclabel, "Formatted %s", "text"). - Static text can be set with
lv_arclabel_set_text_static(arclabel, static_text), which avoids dynamic memory allocation.
Angle Configuration
- Set the starting angle of the arc with
lv_arclabel_set_angle_start(arclabel, angle). - Define the arc size (angular span) using
lv_arclabel_set_angle_size(arclabel, size). - Angles are measured in degrees, starting from the positive x-axis (3 o'clock position) and increasing clockwise.
Direction
Specify the text direction along the arc using lv_arclabel_set_dir(arclabel, LV_ARCLABEL_DIR_CLOCKWISE) or lv_arclabel_set_dir(arclabel, LV_ARCLABEL_DIR_COUNTERCLOCKWISE).
LV_ARCLABEL_DIR_CLOCKWISEText flows in a clockwise direction along the arc.LV_ARCLABEL_DIR_COUNTERCLOCKWISEText flows in a counter-clockwise direction along the arc.
Alignment
Adjust vertical text alignment with lv_arclabel_set_text_vertical_align(arclabel, LV_ARCLABEL_TEXT_ALIGN_CENTER).
Set horizontal alignment using lv_arclabel_set_text_horizontal_align(arclabel, LV_ARCLABEL_TEXT_ALIGN_CENTER).
Both vertical and horizontal use the same logic.
LV_ARCLABEL_TEXT_ALIGN_DEFAULTUses the default alignment.LV_ARCLABEL_TEXT_ALIGN_LEADINGAligns text to the leading edge of the arc.LV_ARCLABEL_TEXT_ALIGN_CENTERCenters text along the arc.LV_ARCLABEL_TEXT_ALIGN_TRAILINGAligns text to the trailing edge of the arc.
Radius and Center Offset
- Set the radius of the arc with
lv_arclabel_set_radius(arclabel, radius). - Adjust the center offset of the arc using
lv_arclabel_set_center_offset_x(arclabel, x)andlv_arclabel_set_center_offset_y(arclabel, y).
Color and Recoloring
Enable text recoloring with lv_arclabel_set_recolor(arclabel, true). This allows parts of the text to be colored differently using color commands embedded in the text string.
Interactive Behavior
Arc Label is not clickable by default. Add the
LV_OBJ_FLAG_CLICKABLE flag if you want it to receive
input events.
Events
No special events. The widget inherits the events common to all widgets.
Keys
No special keys. Add the widget to a group if you need keypad input.
Example
Simple Arc Label
Last updated on