Label (gfx_label)
Types
gfx_font_t
typedef void *gfx_font_t;
gfx_text_align_t
typedef enum {
GFX_TEXT_ALIGN_AUTO, /**< Align text auto */
GFX_TEXT_ALIGN_LEFT, /**< Align text to left */
GFX_TEXT_ALIGN_CENTER, /**< Align text to center */
GFX_TEXT_ALIGN_RIGHT, /**< Align text to right */
} gfx_text_align_t;
gfx_label_long_mode_t
typedef enum {
GFX_LABEL_LONG_WRAP, /**< Break the long lines (word wrap) */
GFX_LABEL_LONG_SCROLL, /**< Make the text scrolling horizontally smoothly */
GFX_LABEL_LONG_CLIP, /**< Simply clip the parts which don't fit */
GFX_LABEL_LONG_SCROLL_SNAP, /**< Jump to next section after interval (horizontal paging) */
} gfx_label_long_mode_t;
gfx_label_cfg_t
typedef struct {
const char *name; /**< The name of the font file */
const void *mem; /**< The pointer to the font file */
size_t mem_size; /**< The size of the memory */
uint16_t font_size; /**< The size of the font */
} gfx_label_cfg_t;
Functions
gfx_label_new_font()
esp_err_t gfx_label_new_font(const gfx_label_cfg_t *cfg, gfx_font_t *ret_font);
gfx_label_delete_font()
Delete a font and free its resources
esp_err_t gfx_label_delete_font(gfx_font_t font);
Parameters:
font- Font handle to delete
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_text()
Set the text for a label object
esp_err_t gfx_label_set_text(gfx_obj_t *obj, const char *text);
Parameters:
obj- Pointer to the label objecttext- Text string to display
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_text_fmt()
Set the text for a label object with format
esp_err_t gfx_label_set_text_fmt(gfx_obj_t *obj, const char *fmt, ...);
Parameters:
obj- Pointer to the label objectfmt- Format string
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_color()
Set the color for a label object
esp_err_t gfx_label_set_color(gfx_obj_t *obj, gfx_color_t color);
Parameters:
obj- Pointer to the label objectcolor- Color value
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_bg_color()
Set the background color for a label object
esp_err_t gfx_label_set_bg_color(gfx_obj_t *obj, gfx_color_t bg_color);
Parameters:
obj- Pointer to the label objectbg_color- Background color value
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_bg_enable()
Enable or disable background for a label object
esp_err_t gfx_label_set_bg_enable(gfx_obj_t *obj, bool enable);
Parameters:
obj- Pointer to the label objectenable- True to enable background, false to disable
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_opa()
Set the opacity for a label object
esp_err_t gfx_label_set_opa(gfx_obj_t *obj, gfx_opa_t opa);
Parameters:
obj- Pointer to the label objectopa- Opacity value (0-255)
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_font()
Set the font for a label object
esp_err_t gfx_label_set_font(gfx_obj_t *obj, gfx_font_t font);
Parameters:
obj- Pointer to the label objectfont- Font handle
gfx_label_set_text_align()
Set the text alignment for a label object
esp_err_t gfx_label_set_text_align(gfx_obj_t *obj, gfx_text_align_t align);
Parameters:
obj- Pointer to the label objectalign- Text alignment value
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_long_mode()
Set the long text mode for a label object
esp_err_t gfx_label_set_long_mode(gfx_obj_t *obj, gfx_label_long_mode_t long_mode);
Parameters:
obj- Pointer to the label objectlong_mode- Long text handling mode (wrap, scroll, or clip)
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_line_spacing()
Set the line spacing for a label object
esp_err_t gfx_label_set_line_spacing(gfx_obj_t *obj, uint16_t spacing);
Parameters:
obj- Pointer to the label objectspacing- Line spacing in pixels
Returns:
ESP_OK on success, error code otherwise
gfx_label_set_scroll_speed()
Set the horizontal scrolling speed for a label object
esp_err_t gfx_label_set_scroll_speed(gfx_obj_t *obj, uint32_t speed_ms);
Parameters:
obj- Pointer to the label objectspeed_ms- Scrolling speed in milliseconds per pixel
Returns:
ESP_OK on success, error code otherwise
Note:
Only effective when long_mode is GFX_LABEL_LONG_SCROLL
gfx_label_set_scroll_loop()
Set whether scrolling should loop continuously
esp_err_t gfx_label_set_scroll_loop(gfx_obj_t *obj, bool loop);
Parameters:
obj- Pointer to the label objectloop- True to enable continuous looping, false for one-time scroll
Returns:
ESP_OK on success, error code otherwise
Note:
Only effective when long_mode is GFX_LABEL_LONG_SCROLL
gfx_label_set_scroll_step()
Set the scroll step size for a label object
esp_err_t gfx_label_set_scroll_step(gfx_obj_t *obj, int32_t step);
Parameters:
obj- Pointer to the label objectstep- Scroll step size in pixels per timer tick (default: 1, can be negative)
Returns:
ESP_OK on success, error code otherwise
Note:
Only effective when long_mode is GFX_LABEL_LONG_SCROLL
Note:
Step cannot be zero
gfx_label_set_snap_interval()
Set the snap scroll interval time for a label object
esp_err_t gfx_label_set_snap_interval(gfx_obj_t *obj, uint32_t interval_ms);
Parameters:
obj- Pointer to the label objectinterval_ms- Interval time in milliseconds to stay on each section before jumping
Returns:
ESP_OK on success, error code otherwise
Note:
Only effective when long_mode is GFX_LABEL_LONG_SCROLL_SNAP
Note:
The jump offset is automatically calculated as the label width
gfx_label_set_snap_loop()
Set whether snap scrolling should loop continuously
esp_err_t gfx_label_set_snap_loop(gfx_obj_t *obj, bool loop);
Parameters:
obj- Pointer to the label objectloop- True to enable continuous looping, false to stop at end
Returns:
ESP_OK on success, error code otherwise
Note:
Only effective when long_mode is GFX_LABEL_LONG_SCROLL_SNAP