# lv_scale.h (/api/public/widgets/lv_scale_h)



<RelatedHeaders name="lv_scale_private.h" isPrivate="false" />

<ApiSummary functions="36" enums="2" macros="6" variables="1" />

Functions [#functions]

<ApiTabs items="[&#x22;Setters (22)&#x22;,&#x22;Getters (8)&#x22;,&#x22;Other (6)&#x22;]">
  <ApiTab value="Setters (22)">
    <ApiMember kind="function" name="lv_scale_set_mode" file="public/widgets/lv_scale.h" line="108" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L108">
      lv_scale_set_mode [#lv_scale_set_mode]

      Set scale mode. See lv\_scale\_mode\_t.

      ```c title=" " lineNumbers=1
      void lv_scale_set_mode(lv_obj_t *obj, lv_scale_mode_t mode)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description             |
      | ------ | ------------------------------------------------ | ----------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |
      | `mode` | <ApiLink name="lv_scale_mode_t" />               | the new scale mode      |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_total_tick_count" file="public/widgets/lv_scale.h" line="115" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L115">
      lv_scale_set_total_tick_count [#lv_scale_set_total_tick_count]

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

      ```c title=" " lineNumbers=1
      void lv_scale_set_total_tick_count(lv_obj_t *obj, uint32_t total_tick_count)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name               | Type                                             | Description             |
      | ------------------ | ------------------------------------------------ | ----------------------- |
      | `obj`              | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |
      | `total_tick_count` | `uint32_t`                                       | New total tick count    |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_major_tick_every" file="public/widgets/lv_scale.h" line="122" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L122">
      lv_scale_set_major_tick_every [#lv_scale_set_major_tick_every]

      Sets how often major ticks are drawn.

      ```c title=" " lineNumbers=1
      void lv_scale_set_major_tick_every(lv_obj_t *obj, uint32_t major_tick_every)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name               | Type                                             | Description                          |
      | ------------------ | ------------------------------------------------ | ------------------------------------ |
      | `obj`              | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget              |
      | `major_tick_every` | `uint32_t`                                       | the new count for major tick drawing |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_label_show" file="public/widgets/lv_scale.h" line="129" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L129">
      lv_scale_set_label_show [#lv_scale_set_label_show]

      Sets label visibility.

      ```c title=" " lineNumbers=1
      void lv_scale_set_label_show(lv_obj_t *obj, bool show_label)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name         | Type                                             | Description                     |
      | ------------ | ------------------------------------------------ | ------------------------------- |
      | `obj`        | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget         |
      | `show_label` | `bool`                                           | true/false to enable tick label |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_range" file="public/widgets/lv_scale.h" line="137" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L137">
      lv_scale_set_range [#lv_scale_set_range]

      Set minimum and maximum values on Scale.

      ```c title=" " lineNumbers=1
      void lv_scale_set_range(lv_obj_t *obj, int32_t min, int32_t max)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |
      | `min` | `int32_t`                                        | minimum value of Scale  |
      | `max` | `int32_t`                                        | maximum value of Scale  |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_min_value" file="public/widgets/lv_scale.h" line="144" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L144">
      lv_scale_set_min_value [#lv_scale_set_min_value]

      Set minimum values on Scale.

      ```c title=" " lineNumbers=1
      void lv_scale_set_min_value(lv_obj_t *obj, int32_t min)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |
      | `min` | `int32_t`                                        | minimum value of Scale  |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_max_value" file="public/widgets/lv_scale.h" line="151" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L151">
      lv_scale_set_max_value [#lv_scale_set_max_value]

      Set maximum values on Scale.

      ```c title=" " lineNumbers=1
      void lv_scale_set_max_value(lv_obj_t *obj, int32_t max)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |
      | `max` | `int32_t`                                        | maximum value of Scale  |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_angle_range" file="public/widgets/lv_scale.h" line="159" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L159">
      lv_scale_set_angle_range [#lv_scale_set_angle_range]

      Set angle between the low end and the high end of the Scale. (Applies only to round Scales.)

      ```c title=" " lineNumbers=1
      void lv_scale_set_angle_range(lv_obj_t *obj, uint32_t angle_range)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name          | Type                                             | Description                                                              |
      | ------------- | ------------------------------------------------ | ------------------------------------------------------------------------ |
      | `obj`         | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget                                                  |
      | `angle_range` | `uint32_t`                                       | angle in degrees from Scale minimum where top end of Scale will be drawn |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_rotation" file="public/widgets/lv_scale.h" line="181" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L181">
      lv_scale_set_rotation [#lv_scale_set_rotation]

      Set angular offset from the 3-o'clock position of the low end of the Scale. (Applies only to round Scales.)

      ```c title=" " lineNumbers=1
      void lv_scale_set_rotation(lv_obj_t *obj, int32_t rotation)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      | ---------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | `obj`      | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | `rotation` | `int32_t`                                        | clockwise angular offset (in degrees) from the 3-o'clock position of the low end of the scale; negative and >360 values are first normalized to range \[0..360]. Examples:<br />- 0 = 3 o'clock (right side)<br />- 30 = 4 o'clock<br />- 60 = 5 o'clock<br />- 90 = 6 o'clock<br />- 135 = midway between 7 and 8 o'clock (default)<br />- 180 = 9 o'clock<br />- 270 = 12 o'clock<br />- 300 = 1 o'clock<br />- 330 = 2 o'clock<br />- -30 = 2 o'clock<br />- 390 = 4 o'clock |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_line_needle_value" file="public/widgets/lv_scale.h" line="194" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L194">
      lv_scale_set_line_needle_value [#lv_scale_set_line_needle_value]

      Point line needle to specified value.

      ```c title=" " lineNumbers=1
      void lv_scale_set_line_needle_value(lv_obj_t *obj, lv_obj_t *needle_line, int32_t needle_length, int32_t value)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name            | Type                                             | Description                                                                                                                                                              |
      | --------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      | `obj`           | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget                                                                                                                                                  |
      | `needle_line`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | needle\_line of the Scale. The line points will be allocated and managed by the Scale unless the line point array was previously set using `lv_line_set_points_mutable`. |
      | `needle_length` | `int32_t`                                        | length of the needle<br />- needle\_length>0: needle\_length=needle\_length;<br />- needle\_length\<0: needle\_length=radius-\|needle\_length\|;                         |
      | `value`         | `int32_t`                                        | Scale value needle will point to                                                                                                                                         |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_image_needle_value" file="public/widgets/lv_scale.h" line="204" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L204">
      lv_scale_set_image_needle_value [#lv_scale_set_image_needle_value]

      Point image needle to specified value; image must point to the right. E.g. -O---—>

      ```c title=" " lineNumbers=1
      void lv_scale_set_image_needle_value(lv_obj_t *obj, lv_obj_t *needle_img, int32_t value)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name         | Type                                             | Description                      |
      | ------------ | ------------------------------------------------ | -------------------------------- |
      | `obj`        | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget          |
      | `needle_img` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to needle's Image        |
      | `value`      | `int32_t`                                        | Scale value needle will point to |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_text_src" file="public/widgets/lv_scale.h" line="213" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L213">
      lv_scale_set_text_src [#lv_scale_set_text_src]

      Set custom text source for major ticks labels.

      ```c title=" " lineNumbers=1
      void lv_scale_set_text_src(lv_obj_t *obj, const char *txt_src[])
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                             | Description                                                                                                                                                                    |
      | --------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
      | `obj`     | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget                                                                                                                                                        |
      | `txt_src` | `const char *`                                   | pointer to an array of strings which will be display at major ticks; last element must be a NULL pointer. **May** be `NULL`.. Use NULL to detach the previous major ticks text |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_post_draw" file="public/widgets/lv_scale.h" line="220" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L220">
      lv_scale_set_post_draw [#lv_scale_set_post_draw]

      Draw Scale after all its children are drawn.

      ```c title=" " lineNumbers=1
      void lv_scale_set_post_draw(lv_obj_t *obj, bool en)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |
      | `en`  | `bool`                                           | true: enable post draw  |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_draw_ticks_on_top" file="public/widgets/lv_scale.h" line="227" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L227">
      lv_scale_set_draw_ticks_on_top [#lv_scale_set_draw_ticks_on_top]

      Draw Scale ticks on top of all other parts.

      ```c title=" " lineNumbers=1
      void lv_scale_set_draw_ticks_on_top(lv_obj_t *obj, bool en)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description                                 |
      | ----- | ------------------------------------------------ | ------------------------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget                     |
      | `en`  | `bool`                                           | true: enable draw ticks on top of all parts |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_section_set_range" file="public/widgets/lv_scale.h" line="244" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L244">
      lv_scale_section_set_range [#lv_scale_section_set_range]

      DEPRECATED, use lv\_scale\_set\_section\_range instead. Set range for specified Scale Section

      ```c title=" " lineNumbers=1
      void lv_scale_section_set_range(lv_scale_section_t *section, int32_t min, int32_t max)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description               |
      | --------- | -------------------------------------------------------------------- | ------------------------- |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to Section        |
      | `min`     | `int32_t`                                                            | Section new minimum value |
      | `max`     | `int32_t`                                                            | Section new maximum value |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_section_range" file="public/widgets/lv_scale.h" line="253" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L253">
      lv_scale_set_section_range [#lv_scale_set_section_range]

      Set the range of a scale section

      ```c title=" " lineNumbers=1
      void lv_scale_set_section_range(lv_obj_t *scale, lv_scale_section_t *section, int32_t min, int32_t max)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                     |
      | --------- | -------------------------------------------------------------------- | ------------------------------- |
      | `scale`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to scale                |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to section              |
      | `min`     | `int32_t`                                                            | the section's new minimum value |
      | `max`     | `int32_t`                                                            | the section's new maximum value |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_section_min_value" file="public/widgets/lv_scale.h" line="261" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L261">
      lv_scale_set_section_min_value [#lv_scale_set_section_min_value]

      Set the minimum value of a scale section

      ```c title=" " lineNumbers=1
      void lv_scale_set_section_min_value(lv_obj_t *scale, lv_scale_section_t *section, int32_t min)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                     |
      | --------- | -------------------------------------------------------------------- | ------------------------------- |
      | `scale`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to scale                |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to section              |
      | `min`     | `int32_t`                                                            | the section's new minimum value |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_section_max_value" file="public/widgets/lv_scale.h" line="269" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L269">
      lv_scale_set_section_max_value [#lv_scale_set_section_max_value]

      Set the maximum value of a scale section

      ```c title=" " lineNumbers=1
      void lv_scale_set_section_max_value(lv_obj_t *scale, lv_scale_section_t *section, int32_t max)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                     |
      | --------- | -------------------------------------------------------------------- | ------------------------------- |
      | `scale`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to scale                |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to section              |
      | `max`     | `int32_t`                                                            | the section's new maximum value |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_section_set_style" file="public/widgets/lv_scale.h" line="279" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L279">
      lv_scale_section_set_style [#lv_scale_section_set_style]

      DEPRECATED, use lv\_scale\_set\_section\_style\_main/indicator/items instead. Set style for specified part of Section.

      ```c title=" " lineNumbers=1
      void lv_scale_section_set_style(lv_scale_section_t *section, lv_part_t part, lv_style_t *section_part_style)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name                 | Type                                                                 | Description                                                                   |
      | -------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
      | `section`            | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to Section                                                            |
      | `part`               | <ApiLink name="lv_part_t" />                                         | the part of the Scale the style will apply to, e.g. LV\_PART\_INDICATOR       |
      | `section_part_style` | <ApiLink name="lv_style_t" display="lv_style_t *" />                 | pointer to style to apply **May** be `NULL`.. Use NULL to detach a part style |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_section_style_main" file="public/widgets/lv_scale.h" line="288" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L288">
      lv_scale_set_section_style_main [#lv_scale_set_section_style_main]

      Set the style of the line on a section.

      ```c title=" " lineNumbers=1
      void lv_scale_set_section_style_main(lv_obj_t *scale, lv_scale_section_t *section, const lv_style_t *style)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                                                                       |
      | --------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
      | `scale`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to scale                                                                  |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to section                                                                |
      | `style`   | <ApiLink name="lv_style_t" display="const lv_style_t *" />           | pointer to a style. **May** be `NULL`. Use NULL to detach the previous main style |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_section_style_indicator" file="public/widgets/lv_scale.h" line="297" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L297">
      lv_scale_set_section_style_indicator [#lv_scale_set_section_style_indicator]

      Set the style of the major ticks and label on a section.

      ```c title=" " lineNumbers=1
      void lv_scale_set_section_style_indicator(lv_obj_t *scale, lv_scale_section_t *section, const lv_style_t *style)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                                                                             |
      | --------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
      | `scale`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to scale                                                                        |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to section                                                                      |
      | `style`   | <ApiLink name="lv_style_t" display="const lv_style_t *" />           | pointer to a style. **May** be `NULL`. Use NULL to detach the previous indicatior style |
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_set_section_style_items" file="public/widgets/lv_scale.h" line="306" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L306">
      lv_scale_set_section_style_items [#lv_scale_set_section_style_items]

      Set the style of the minor ticks on a section.

      ```c title=" " lineNumbers=1
      void lv_scale_set_section_style_items(lv_obj_t *scale, lv_scale_section_t *section, const lv_style_t *style)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                                                                        |
      | --------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
      | `scale`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to scale                                                                   |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to section                                                                 |
      | `style`   | <ApiLink name="lv_style_t" display="const lv_style_t *" />           | pointer to a style. **May** be `NULL`. Use NULL to detach the previous items style |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Getters (8)">
    <ApiMember kind="function" name="lv_scale_get_mode" file="public/widgets/lv_scale.h" line="317" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L317">
      lv_scale_get_mode [#lv_scale_get_mode]

      Get scale mode. See lv\_scale\_mode\_t

      ```c title=" " lineNumbers=1
      lv_scale_mode_t lv_scale_get_mode(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** <ApiLink name="lv_scale_mode_t" /> — Scale mode
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_total_tick_count" file="public/widgets/lv_scale.h" line="324" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L324">
      lv_scale_get_total_tick_count [#lv_scale_get_total_tick_count]

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

      ```c title=" " lineNumbers=1
      int32_t lv_scale_get_total_tick_count(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `int32_t` — Scale total tick count
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_major_tick_every" file="public/widgets/lv_scale.h" line="331" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L331">
      lv_scale_get_major_tick_every [#lv_scale_get_major_tick_every]

      Get how often the major tick will be drawn

      ```c title=" " lineNumbers=1
      int32_t lv_scale_get_major_tick_every(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `int32_t` — Scale major tick every count
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_rotation" file="public/widgets/lv_scale.h" line="338" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L338">
      lv_scale_get_rotation [#lv_scale_get_rotation]

      Get angular location of low end of Scale.

      ```c title=" " lineNumbers=1
      int32_t lv_scale_get_rotation(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `int32_t` — Scale low end angular location
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_label_show" file="public/widgets/lv_scale.h" line="345" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L345">
      lv_scale_get_label_show [#lv_scale_get_label_show]

      Gets label visibility

      ```c title=" " lineNumbers=1
      bool lv_scale_get_label_show(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `bool` — true if tick label is enabled, false otherwise
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_angle_range" file="public/widgets/lv_scale.h" line="352" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L352">
      lv_scale_get_angle_range [#lv_scale_get_angle_range]

      Get Scale's range in degrees

      ```c title=" " lineNumbers=1
      uint32_t lv_scale_get_angle_range(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `uint32_t` — Scale's angle\_range
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_range_min_value" file="public/widgets/lv_scale.h" line="359" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L359">
      lv_scale_get_range_min_value [#lv_scale_get_range_min_value]

      Get minimum value for Scale

      ```c title=" " lineNumbers=1
      int32_t lv_scale_get_range_min_value(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `int32_t` — Scale's minimum value
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_get_range_max_value" file="public/widgets/lv_scale.h" line="366" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L366">
      lv_scale_get_range_max_value [#lv_scale_get_range_max_value]

      Get maximum value for Scale

      ```c title=" " lineNumbers=1
      int32_t lv_scale_get_range_max_value(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** `int32_t` — Scale's maximum value
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (6)">
    <ApiMember kind="function" name="lv_scale_create" file="public/widgets/lv_scale.h" line="93" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L93">
      lv_scale_create [#lv_scale_create]

      Create an scale object

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_scale_create(lv_obj_t *parent)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                             | Description                                                                                                         |
      | -------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
      | `parent` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a parent widget **May** be `NULL`.. When NULL, the widget is created as a screen on the default display. |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to created Scale Widget
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_add_section" file="public/widgets/lv_scale.h" line="235" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L235">
      lv_scale_add_section [#lv_scale_add_section]

      Add a Section to specified Scale. Section will not be drawn until a valid range is set for it using <ApiLink name="lv_scale_set_section_range" display="lv_scale_set_section_range()" />.

      ```c title=" " lineNumbers=1
      lv_scale_section_t * lv_scale_add_section(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description             |
      | ----- | ------------------------------------------------ | ----------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to Scale Widget |

      **Returns:** <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> — pointer to new Section
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_bind_section_min_value" file="public/widgets/lv_scale.h" line="381" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L381">
      lv_scale_bind_section_min_value [#lv_scale_bind_section_min_value]

      Bind an integer subject to a scales section minimum value

      ```c title=" " lineNumbers=1
      lv_observer_t * lv_scale_bind_section_min_value(lv_obj_t *obj, lv_scale_section_t *section, lv_subject_t *subject)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                |
      | --------- | -------------------------------------------------------------------- | -------------------------- |
      | `obj`     | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to a Scale         |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to a Scale section |
      | `subject` | <ApiLink name="lv_subject_t" display="lv_subject_t *" />             | pointer to a Subject       |

      **Returns:** <ApiLink name="lv_observer_t" display="lv_observer_t *" /> — pointer to newly-created Observer
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_bind_section_max_value" file="public/widgets/lv_scale.h" line="390" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L390">
      lv_scale_bind_section_max_value [#lv_scale_bind_section_max_value]

      Bind an integer subject to a scales section maximum value

      ```c title=" " lineNumbers=1
      lv_observer_t * lv_scale_bind_section_max_value(lv_obj_t *obj, lv_scale_section_t *section, lv_subject_t *subject)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name      | Type                                                                 | Description                |
      | --------- | -------------------------------------------------------------------- | -------------------------- |
      | `obj`     | <ApiLink name="lv_obj_t" display="lv_obj_t *" />                     | pointer to an Scale        |
      | `section` | <ApiLink name="lv_scale_section_t" display="lv_scale_section_t *" /> | pointer to a Scale section |
      | `subject` | <ApiLink name="lv_subject_t" display="lv_subject_t *" />             | pointer to a Subject       |

      **Returns:** <ApiLink name="lv_observer_t" display="lv_observer_t *" /> — pointer to newly-created Observer
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_bind_line_needle_value" file="public/widgets/lv_scale.h" line="400" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L400">
      lv_scale_bind_line_needle_value [#lv_scale_bind_line_needle_value]

      Bind an integer subject to a scale's line needle value

      ```c title=" " lineNumbers=1
      lv_observer_t * lv_scale_bind_line_needle_value(lv_obj_t *obj, lv_obj_t *needle_line, int32_t needle_length, lv_subject_t *subject)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name            | Type                                                     | Description              |
      | --------------- | -------------------------------------------------------- | ------------------------ |
      | `obj`           | <ApiLink name="lv_obj_t" display="lv_obj_t *" />         | pointer to a Scale       |
      | `needle_line`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" />         | pointer to a line needle |
      | `needle_length` | `int32_t`                                                | length of the needle     |
      | `subject`       | <ApiLink name="lv_subject_t" display="lv_subject_t *" /> | pointer to a Subject     |

      **Returns:** <ApiLink name="lv_observer_t" display="lv_observer_t *" /> — pointer to newly-created Observer
    </ApiMember>

    <ApiMember kind="function" name="lv_scale_bind_image_needle_value" file="public/widgets/lv_scale.h" line="410" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L410">
      lv_scale_bind_image_needle_value [#lv_scale_bind_image_needle_value]

      Bind an integer subject to a scale's image needle value

      ```c title=" " lineNumbers=1
      lv_observer_t * lv_scale_bind_image_needle_value(lv_obj_t *obj, lv_obj_t *needle_img, lv_subject_t *subject)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name         | Type                                                     | Description                |
      | ------------ | -------------------------------------------------------- | -------------------------- |
      | `obj`        | <ApiLink name="lv_obj_t" display="lv_obj_t *" />         | pointer to a Scale         |
      | `needle_img` | <ApiLink name="lv_obj_t" display="lv_obj_t *" />         | pointer to an image needle |
      | `subject`    | <ApiLink name="lv_subject_t" display="lv_subject_t *" /> | pointer to a Subject       |

      **Returns:** <ApiLink name="lv_observer_t" display="lv_observer_t *" /> — pointer to newly-created Observer
    </ApiMember>
  </ApiTab>
</ApiTabs>

Enums [#enums]

<ApiMember kind="enum" name="lv_scale_mode_t" file="public/widgets/lv_scale.h" line="48" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L48">
  lv_scale_mode_t [#lv_scale_mode_t]

  Scale mode

  | Name                              | Value   |
  | --------------------------------- | ------- |
  | `LV_SCALE_MODE_HORIZONTAL_TOP`    | `0x00U` |
  | `LV_SCALE_MODE_HORIZONTAL_BOTTOM` | `0x01U` |
  | `LV_SCALE_MODE_VERTICAL_LEFT`     | `0x02U` |
  | `LV_SCALE_MODE_VERTICAL_RIGHT`    | `0x04U` |
  | `LV_SCALE_MODE_ROUND_INNER`       | `0x08U` |
  | `LV_SCALE_MODE_ROUND_OUTER`       | `0x10U` |
  | `LV_SCALE_MODE_LAST`              |         |
</ApiMember>

<TypeUsedBy name="lv_scale_mode_t" count="1">
  * `lv_scale_set_mode` — param `mode`
</TypeUsedBy>

<ApiMember kind="enum" name="_lv_property_scale_id_t" file="public/widgets/lv_scale.h" line="70" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L70">
  \_lv_property_scale_id_t [#_lv_property_scale_id_t]

  | Name                                 | Value                                                           |
  | ------------------------------------ | --------------------------------------------------------------- |
  | `LV_PROPERTY_SCALE_MODE`             | `(LV_PROPERTY_SCALE_START + ((int) 0 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_TOTAL_TICK_COUNT` | `(LV_PROPERTY_SCALE_START + ((int) 1 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_MAJOR_TICK_EVERY` | `(LV_PROPERTY_SCALE_START + ((int) 2 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_LABEL_SHOW`       | `(LV_PROPERTY_SCALE_START + ((int) 3 )) \| ((  11   ) <<  28 )` |
  | `LV_PROPERTY_SCALE_ANGLE_RANGE`      | `(LV_PROPERTY_SCALE_START + ((int) 4 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_ROTATION`         | `(LV_PROPERTY_SCALE_START + ((int) 5 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_RANGE_MIN_VALUE`  | `(LV_PROPERTY_SCALE_START + ((int) 6 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_RANGE_MAX_VALUE`  | `(LV_PROPERTY_SCALE_START + ((int) 7 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_SCALE_END`              |                                                                 |
</ApiMember>

Macros [#macros]

<ApiMember kind="macro" name="LV_SCALE_TOTAL_TICK_COUNT_DEFAULT" file="public/widgets/lv_scale.h" line="30" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L30">
  LV_SCALE_TOTAL_TICK_COUNT_DEFAULT [#lv_scale_total_tick_count_default]

  ```c title=" " lineNumbers=1
  #define LV_SCALE_TOTAL_TICK_COUNT_DEFAULT (11U)
  ```

  Default value of total minor ticks.
</ApiMember>

<ApiMember kind="macro" name="LV_SCALE_MAJOR_TICK_EVERY_DEFAULT" file="public/widgets/lv_scale.h" line="34" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L34">
  LV_SCALE_MAJOR_TICK_EVERY_DEFAULT [#lv_scale_major_tick_every_default]

  ```c title=" " lineNumbers=1
  #define LV_SCALE_MAJOR_TICK_EVERY_DEFAULT (5U)
  ```

  Default value of major tick every nth ticks.
</ApiMember>

<ApiMember kind="macro" name="LV_SCALE_LABEL_ENABLED_DEFAULT" file="public/widgets/lv_scale.h" line="38" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L38">
  LV_SCALE_LABEL_ENABLED_DEFAULT [#lv_scale_label_enabled_default]

  ```c title=" " lineNumbers=1
  #define LV_SCALE_LABEL_ENABLED_DEFAULT (1U)
  ```

  Default value of scale label enabled.
</ApiMember>

<ApiMember kind="macro" name="LV_SCALE_LABEL_ROTATE_MATCH_TICKS" file="public/widgets/lv_scale.h" line="58" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L58">
  LV_SCALE_LABEL_ROTATE_MATCH_TICKS [#lv_scale_label_rotate_match_ticks]

  ```c title=" " lineNumbers=1
  #define LV_SCALE_LABEL_ROTATE_MATCH_TICKS 0x100000
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_SCALE_LABEL_ROTATE_KEEP_UPRIGHT" file="public/widgets/lv_scale.h" line="61" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L61">
  LV_SCALE_LABEL_ROTATE_KEEP_UPRIGHT [#lv_scale_label_rotate_keep_upright]

  ```c title=" " lineNumbers=1
  #define LV_SCALE_LABEL_ROTATE_KEEP_UPRIGHT 0x80000
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_SCALE_ROTATION_ANGLE_MASK" file="public/widgets/lv_scale.h" line="64" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L64">
  LV_SCALE_ROTATION_ANGLE_MASK [#lv_scale_rotation_angle_mask]

  ```c title=" " lineNumbers=1
  #define LV_SCALE_ROTATION_ANGLE_MASK 0x7FFFF
  ```
</ApiMember>

Variables [#variables]

<ApiMember kind="variable" name="lv_scale_class" file="public/widgets/lv_scale.h" line="67" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_scale.h#L67">
  lv_scale_class [#lv_scale_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_scale_class
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_obj.h&#x22;, &#x22;lv_line.h&#x22;, &#x22;lv_image.h&#x22;, &#x22;lv_observer.h&#x22;]" includedBy="[&#x22;lvgl.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_assert.h&#x22;, &#x22;lv_bidi.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_display.h&#x22;, &#x22;lv_draw.h&#x22;, &#x22;lv_draw_arc.h&#x22;, &#x22;lv_draw_blur.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_image.h&#x22;, &#x22;lv_draw_label.h&#x22;, &#x22;lv_draw_line.h&#x22;, &#x22;lv_draw_rect.h&#x22;, &#x22;lv_draw_triangle.h&#x22;, &#x22;lv_event.h&#x22;, &#x22;lv_ext_data.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_fs.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_grid.h&#x22;, &#x22;lv_group.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_indev.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_ll.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_matrix.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_obj_class.h&#x22;, &#x22;lv_obj_draw.h&#x22;, &#x22;lv_obj_event.h&#x22;, &#x22;lv_obj_pos.h&#x22;, &#x22;lv_obj_property.h&#x22;, &#x22;lv_obj_scroll.h&#x22;, &#x22;lv_obj_style.h&#x22;, &#x22;lv_obj_style_gen.h&#x22;, &#x22;lv_obj_tree.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_profiler.h&#x22;, &#x22;lv_profiler_builtin.h&#x22;, &#x22;lv_sprintf.h&#x22;, &#x22;lv_string.h&#x22;, &#x22;lv_style.h&#x22;, &#x22;lv_style_gen.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
