lv_scale.h

Defines

LV_SCALE_TOTAL_TICK_COUNT_DEFAULT

Default value of total minor ticks.

LV_SCALE_MAJOR_TICK_EVERY_DEFAULT

Default value of major tick every nth ticks.

LV_SCALE_LABEL_ENABLED_DEFAULT

Default value of scale label enabled.

Typedefs

typedef uint32_t lv_scale_mode_t

Enums

enum [anonymous]

Scale mode

Values:

enumerator LV_SCALE_MODE_HORIZONTAL_TOP
enumerator LV_SCALE_MODE_HORIZONTAL_BOTTOM
enumerator LV_SCALE_MODE_VERTICAL_LEFT
enumerator LV_SCALE_MODE_VERTICAL_RIGHT
enumerator LV_SCALE_MODE_ROUND_INNER
enumerator LV_SCALE_MODE_ROUND_OUTER
enumerator _LV_SCALE_MODE_LAST

Functions

lv_obj_t *lv_scale_create(lv_obj_t *parent)

Create an scale object

Parameters:

parent -- pointer to an object, it will be the parent of the new scale

Returns:

pointer to the created scale

void lv_scale_set_mode(lv_obj_t *obj, lv_scale_mode_t mode)

Set scale mode. See lv_scale_mode_t

Parameters:
  • obj -- pointer the scale object

  • mode -- New scale mode

void lv_scale_set_total_tick_count(lv_obj_t *obj, lv_coord_t total_tick_count)

Set scale total tick count (including minor and major ticks)

Parameters:
  • obj -- pointer the scale object

  • total_tick_count -- New total tick count

void lv_scale_set_major_tick_every(lv_obj_t *obj, lv_coord_t major_tick_every)

Sets how often the major tick will be drawn

Parameters:
  • obj -- pointer the scale object

  • major_tick_every -- New count for major tick drawing

void lv_scale_set_label_show(lv_obj_t *obj, bool show_label)

Sets label visibility

Parameters:
  • obj -- pointer the scale object

  • show_label -- Show axis label

void lv_scale_set_major_tick_length(lv_obj_t *obj, lv_coord_t major_len)

Sets major tick length

Parameters:
  • obj -- pointer the scale object

  • major_len -- Major tick length

void lv_scale_set_minor_tick_length(lv_obj_t *obj, lv_coord_t minor_len)

Sets major tick length

Parameters:
  • obj -- pointer the scale object

  • minor_len -- Minor tick length

void lv_scale_set_range(lv_obj_t *obj, lv_coord_t min, lv_coord_t max)

Set the minimal and maximal values on a scale

Parameters:
  • obj -- pointer to a scale object

  • min -- minimum value of the scale

  • max -- maximum value of the scale

void lv_scale_set_round_props(lv_obj_t *obj, uint32_t angle_range, int32_t rotation)

Set properties specific to round scale

Parameters:
  • obj -- pointer to a scale object

  • angle_range -- the angular range of the scale

  • rotation -- the angular offset from the 3 o'clock position (clock-wise)

void lv_scale_set_text_src(lv_obj_t *obj, const char *txt_src[])

Set custom text source for major ticks labels

Parameters:
  • obj -- pointer to a scale object

  • txt_src -- pointer to an array of strings which will be display at major ticks

void lv_scale_set_post_draw(lv_obj_t *obj, bool en)

Draw the scale after all the children are drawn

Parameters:
  • obj -- pointer to a scale object

  • en -- true: enable post draw

lv_scale_section_t *lv_scale_add_section(lv_obj_t *obj)

Add a section to the given scale

Parameters:

obj -- pointer to a scale object

Returns:

pointer to the new section

void lv_scale_section_set_range(lv_scale_section_t *section, lv_coord_t minor_range, lv_coord_t major_range)

Set the range for the given scale section

Parameters:
  • obj -- pointer to a scale section object

  • minor_range -- section new minor range

  • major_range -- section new major range

void lv_scale_section_set_style(lv_scale_section_t *section, uint32_t part, lv_style_t *section_part_style)

Set the style of the part for the given scale section

Parameters:
  • obj -- pointer to a scale section object

  • part -- Section part

  • section_part_style -- Pointer to the section part style

Variables

const lv_obj_class_t lv_scale_class
struct lv_scale_section_t

Public Members

lv_style_t *main_style
lv_style_t *indicator_style
lv_style_t *items_style
lv_coord_t minor_range
lv_coord_t major_range
uint32_t first_tick_idx_in_section
uint32_t last_tick_idx_in_section
uint32_t first_tick_idx_is_major
uint32_t last_tick_idx_is_major
lv_coord_t first_tick_in_section_width
lv_coord_t last_tick_in_section_width
lv_point_t first_tick_in_section
lv_point_t last_tick_in_section
struct lv_scale_t

Public Members

lv_obj_t obj
lv_ll_t section_ll

Linked list for the sections (stores lv_scale_section_t)

const char **txt_src
lv_coord_t custom_label_cnt
lv_coord_t major_len
lv_coord_t minor_len
lv_coord_t range_min
lv_coord_t range_max
uint32_t total_tick_count
uint32_t major_tick_every
lv_scale_mode_t mode
uint32_t label_enabled
uint32_t post_draw
lv_coord_t last_tick_width
lv_coord_t first_tick_width
uint32_t angle_range
int32_t rotation