# lv_arc.h (/api/widgets/arc/lv_arc_h)



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

<ApiSummary functions="29" enums="2" variables="1" />

Functions [#functions]

<ApiTabs items="[&#x22;Setters (14)&#x22;,&#x22;Getters (11)&#x22;,&#x22;Other (4)&#x22;]">
  <ApiTab value="Setters (14)">
    <ApiMember kind="function" name="lv_arc_set_start_angle" file="widgets/arc/lv_arc.h" line="83" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L83">
      lv_arc_set_start_angle [#lv_arc_set_start_angle]

      Set the start angle of an arc. 0 deg: right, 90 bottom, etc.

      ```c title=" " lineNumbers=1
      void lv_arc_set_start_angle(lv_obj_t *obj, lv_value_precise_t start)
      ```

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

      | Name    | Type                                             | Description                                                               |
      | ------- | ------------------------------------------------ | ------------------------------------------------------------------------- |
      | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object                                                  |
      | `start` | <ApiLink name="lv_value_precise_t" />            | the start angle. (if `LV_USE_FLOAT` is enabled it can be fractional too.) |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_end_angle" file="widgets/arc/lv_arc.h" line="90" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L90">
      lv_arc_set_end_angle [#lv_arc_set_end_angle]

      Set the end angle of an arc. 0 deg: right, 90 bottom, etc.

      ```c title=" " lineNumbers=1
      void lv_arc_set_end_angle(lv_obj_t *obj, lv_value_precise_t end)
      ```

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

      | Name  | Type                                             | Description                                                            |
      | ----- | ------------------------------------------------ | ---------------------------------------------------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object                                               |
      | `end` | <ApiLink name="lv_value_precise_t" />            | the end angle (if `LV_USE_FLOAT` is enabled it can be fractional too.) |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_angles" file="widgets/arc/lv_arc.h" line="98" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L98">
      lv_arc_set_angles [#lv_arc_set_angles]

      Set the start and end angles

      ```c title=" " lineNumbers=1
      void lv_arc_set_angles(lv_obj_t *obj, lv_value_precise_t start, lv_value_precise_t end)
      ```

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

      | Name    | Type                                             | Description                                                              |
      | ------- | ------------------------------------------------ | ------------------------------------------------------------------------ |
      | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object                                                 |
      | `start` | <ApiLink name="lv_value_precise_t" />            | the start angle (if `LV_USE_FLOAT` is enabled it can be fractional too.) |
      | `end`   | <ApiLink name="lv_value_precise_t" />            | the end angle (if `LV_USE_FLOAT` is enabled it can be fractional too.)   |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_bg_start_angle" file="widgets/arc/lv_arc.h" line="105" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L105">
      lv_arc_set_bg_start_angle [#lv_arc_set_bg_start_angle]

      Set the start angle of an arc background. 0 deg: right, 90 bottom, etc.

      ```c title=" " lineNumbers=1
      void lv_arc_set_bg_start_angle(lv_obj_t *obj, lv_value_precise_t start)
      ```

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

      | Name    | Type                                             | Description                                                              |
      | ------- | ------------------------------------------------ | ------------------------------------------------------------------------ |
      | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object                                                 |
      | `start` | <ApiLink name="lv_value_precise_t" />            | the start angle (if `LV_USE_FLOAT` is enabled it can be fractional too.) |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_bg_end_angle" file="widgets/arc/lv_arc.h" line="112" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L112">
      lv_arc_set_bg_end_angle [#lv_arc_set_bg_end_angle]

      Set the start angle of an arc background. 0 deg: right, 90 bottom etc.

      ```c title=" " lineNumbers=1
      void lv_arc_set_bg_end_angle(lv_obj_t *obj, lv_value_precise_t end)
      ```

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

      | Name  | Type                                             | Description                                                            |
      | ----- | ------------------------------------------------ | ---------------------------------------------------------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object                                               |
      | `end` | <ApiLink name="lv_value_precise_t" />            | the end angle (if `LV_USE_FLOAT` is enabled it can be fractional too.) |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_bg_angles" file="widgets/arc/lv_arc.h" line="120" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L120">
      lv_arc_set_bg_angles [#lv_arc_set_bg_angles]

      Set the start and end angles of the arc background

      ```c title=" " lineNumbers=1
      void lv_arc_set_bg_angles(lv_obj_t *obj, lv_value_precise_t start, lv_value_precise_t end)
      ```

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

      | Name    | Type                                             | Description                                                              |
      | ------- | ------------------------------------------------ | ------------------------------------------------------------------------ |
      | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object                                                 |
      | `start` | <ApiLink name="lv_value_precise_t" />            | the start angle (if `LV_USE_FLOAT` is enabled it can be fractional too.) |
      | `end`   | <ApiLink name="lv_value_precise_t" />            | the end angle (if `LV_USE_FLOAT` is enabled it can be fractional too.)   |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_rotation" file="widgets/arc/lv_arc.h" line="127" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L127">
      lv_arc_set_rotation [#lv_arc_set_rotation]

      Set the rotation for the whole arc

      ```c title=" " lineNumbers=1
      void lv_arc_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 an arc object |
      | `rotation` | <ApiLink name="int32_t" />                       | rotation angle           |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_mode" file="widgets/arc/lv_arc.h" line="134" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L134">
      lv_arc_set_mode [#lv_arc_set_mode]

      Set in which direction the indicator should grow.

      ```c title=" " lineNumbers=1
      void lv_arc_set_mode(lv_obj_t *obj, lv_arc_mode_t type)
      ```

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

      | Name   | Type                                             | Description           |
      | ------ | ------------------------------------------------ | --------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to arc object |
      | `type` | <ApiLink name="lv_arc_mode_t" />                 | arc's mode            |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_value" file="widgets/arc/lv_arc.h" line="141" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L141">
      lv_arc_set_value [#lv_arc_set_value]

      Set a new value on the arc

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

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

      | Name    | Type                                             | Description              |
      | ------- | ------------------------------------------------ | ------------------------ |
      | `obj`   | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object |
      | `value` | <ApiLink name="int32_t" />                       | new value                |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_range" file="widgets/arc/lv_arc.h" line="149" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L149">
      lv_arc_set_range [#lv_arc_set_range]

      Set minimum and the maximum values of an arc

      ```c title=" " lineNumbers=1
      void lv_arc_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 the arc object |
      | `min` | <ApiLink name="int32_t" />                       | minimum value             |
      | `max` | <ApiLink name="int32_t" />                       | maximum value             |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_min_value" file="widgets/arc/lv_arc.h" line="156" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L156">
      lv_arc_set_min_value [#lv_arc_set_min_value]

      Set the minimum values of an arc

      ```c title=" " lineNumbers=1
      void lv_arc_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 the arc object |
      | `min` | <ApiLink name="int32_t" />                       | minimum value             |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_max_value" file="widgets/arc/lv_arc.h" line="163" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L163">
      lv_arc_set_max_value [#lv_arc_set_max_value]

      Set the maximum values of an arc

      ```c title=" " lineNumbers=1
      void lv_arc_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 the arc object |
      | `max` | <ApiLink name="int32_t" />                       | maximum value             |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_change_rate" file="widgets/arc/lv_arc.h" line="170" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L170">
      lv_arc_set_change_rate [#lv_arc_set_change_rate]

      Set a change rate to limit the speed how fast the arc should reach the pressed point.

      ```c title=" " lineNumbers=1
      void lv_arc_set_change_rate(lv_obj_t *obj, uint32_t rate)
      ```

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

      | Name   | Type                                             | Description              |
      | ------ | ------------------------------------------------ | ------------------------ |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object |
      | `rate` | <ApiLink name="uint32_t" />                      | the change rate          |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_set_knob_offset" file="widgets/arc/lv_arc.h" line="177" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L177">
      lv_arc_set_knob_offset [#lv_arc_set_knob_offset]

      Set an offset angle for the knob

      ```c title=" " lineNumbers=1
      void lv_arc_set_knob_offset(lv_obj_t *obj, int32_t offset)
      ```

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

      | Name     | Type                                             | Description                          |
      | -------- | ------------------------------------------------ | ------------------------------------ |
      | `obj`    | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to an arc object             |
      | `offset` | <ApiLink name="int32_t" />                       | knob offset from main arc in degrees |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Getters (11)">
    <ApiMember kind="function" name="lv_arc_get_angle_start" file="widgets/arc/lv_arc.h" line="188" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L188">
      lv_arc_get_angle_start [#lv_arc_get_angle_start]

      Get the start angle of an arc.

      ```c title=" " lineNumbers=1
      lv_value_precise_t lv_arc_get_angle_start(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 an arc object |

      **Returns:** <ApiLink name="lv_value_precise_t" /> — the start angle \[0..360] (if `LV_USE_FLOAT` is enabled it can be fractional too.)
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_angle_end" file="widgets/arc/lv_arc.h" line="195" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L195">
      lv_arc_get_angle_end [#lv_arc_get_angle_end]

      Get the end angle of an arc.

      ```c title=" " lineNumbers=1
      lv_value_precise_t lv_arc_get_angle_end(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 an arc object |

      **Returns:** <ApiLink name="lv_value_precise_t" /> — the end angle \[0..360] (if `LV_USE_FLOAT` is enabled it can be fractional too.)
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_bg_angle_start" file="widgets/arc/lv_arc.h" line="202" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L202">
      lv_arc_get_bg_angle_start [#lv_arc_get_bg_angle_start]

      Get the start angle of an arc background.

      ```c title=" " lineNumbers=1
      lv_value_precise_t lv_arc_get_bg_angle_start(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 an arc object |

      **Returns:** <ApiLink name="lv_value_precise_t" /> — the start angle \[0..360] (if `LV_USE_FLOAT` is enabled it can be fractional too.)
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_bg_angle_end" file="widgets/arc/lv_arc.h" line="209" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L209">
      lv_arc_get_bg_angle_end [#lv_arc_get_bg_angle_end]

      Get the end angle of an arc background.

      ```c title=" " lineNumbers=1
      lv_value_precise_t lv_arc_get_bg_angle_end(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 an arc object |

      **Returns:** <ApiLink name="lv_value_precise_t" /> — the end angle \[0..360] (if `LV_USE_FLOAT` is enabled it can be fractional too.)
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_value" file="widgets/arc/lv_arc.h" line="216" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L216">
      lv_arc_get_value [#lv_arc_get_value]

      Get the value of an arc

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

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

      | Name  | Type                                                   | Description              |
      | ----- | ------------------------------------------------------ | ------------------------ |
      | `obj` | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object |

      **Returns:** <ApiLink name="int32_t" /> — the value of the arc
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_min_value" file="widgets/arc/lv_arc.h" line="223" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L223">
      lv_arc_get_min_value [#lv_arc_get_min_value]

      Get the minimum value of an arc

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

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

      | Name  | Type                                                   | Description              |
      | ----- | ------------------------------------------------------ | ------------------------ |
      | `obj` | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object |

      **Returns:** <ApiLink name="int32_t" /> — the minimum value of the arc
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_max_value" file="widgets/arc/lv_arc.h" line="230" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L230">
      lv_arc_get_max_value [#lv_arc_get_max_value]

      Get the maximum value of an arc

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

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

      | Name  | Type                                                   | Description              |
      | ----- | ------------------------------------------------------ | ------------------------ |
      | `obj` | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object |

      **Returns:** <ApiLink name="int32_t" /> — the maximum value of the arc
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_mode" file="widgets/arc/lv_arc.h" line="237" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L237">
      lv_arc_get_mode [#lv_arc_get_mode]

      Get whether the arc is type or not.

      ```c title=" " lineNumbers=1
      lv_arc_mode_t lv_arc_get_mode(const lv_obj_t *obj)
      ```

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

      | Name  | Type                                                   | Description              |
      | ----- | ------------------------------------------------------ | ------------------------ |
      | `obj` | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object |

      **Returns:** <ApiLink name="lv_arc_mode_t" /> — arc's mode
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_rotation" file="widgets/arc/lv_arc.h" line="244" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L244">
      lv_arc_get_rotation [#lv_arc_get_rotation]

      Get the rotation for the whole arc

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

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

      | Name  | Type                                                   | Description              |
      | ----- | ------------------------------------------------------ | ------------------------ |
      | `obj` | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object |

      **Returns:** <ApiLink name="int32_t" /> — arc's current rotation
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_knob_offset" file="widgets/arc/lv_arc.h" line="251" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L251">
      lv_arc_get_knob_offset [#lv_arc_get_knob_offset]

      Get the current knob angle offset

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

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

      | Name  | Type                                                   | Description              |
      | ----- | ------------------------------------------------------ | ------------------------ |
      | `obj` | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object |

      **Returns:** <ApiLink name="int32_t" /> — arc's current knob offset
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_get_change_rate" file="widgets/arc/lv_arc.h" line="258" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L258">
      lv_arc_get_change_rate [#lv_arc_get_change_rate]

      Get the change rate of an arc

      ```c title=" " lineNumbers=1
      uint32_t lv_arc_get_change_rate(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 an arc object |

      **Returns:** <ApiLink name="uint32_t" /> — the change rate
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (4)">
    <ApiMember kind="function" name="lv_arc_create" file="widgets/arc/lv_arc.h" line="68" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L68">
      lv_arc_create [#lv_arc_create]

      Create an arc object

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_arc_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 an object, it will be the parent of the new arc |

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

    <ApiMember kind="function" name="lv_arc_bind_value" file="widgets/arc/lv_arc.h" line="271" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L271">
      lv_arc_bind_value [#lv_arc_bind_value]

      Bind an integer subject to an Arc's value.

      ```c title=" " lineNumbers=1
      lv_observer_t * lv_arc_bind_value(lv_obj_t *obj, 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 Arc     |
      | `subject` | <ApiLink name="lv_subject_t" display="lv_subject_t *" /> | pointer to Subject |

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

    <ApiMember kind="function" name="lv_arc_align_obj_to_angle" file="widgets/arc/lv_arc.h" line="281" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L281">
      lv_arc_align_obj_to_angle [#lv_arc_align_obj_to_angle]

      Align an object to the current position of the arc (knob)

      ```c title=" " lineNumbers=1
      void lv_arc_align_obj_to_angle(const lv_obj_t *obj, lv_obj_t *obj_to_align, int32_t r_offset)
      ```

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

      | Name           | Type                                                   | Description                                                           |
      | -------------- | ------------------------------------------------------ | --------------------------------------------------------------------- |
      | `obj`          | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object                                              |
      | `obj_to_align` | <ApiLink name="lv_obj_t" display="lv_obj_t *" />       | pointer to an object to align                                         |
      | `r_offset`     | <ApiLink name="int32_t" />                             | consider the radius larger with this value (\< 0: for smaller radius) |
    </ApiMember>

    <ApiMember kind="function" name="lv_arc_rotate_obj_to_angle" file="widgets/arc/lv_arc.h" line="289" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L289">
      lv_arc_rotate_obj_to_angle [#lv_arc_rotate_obj_to_angle]

      Rotate an object to the current position of the arc (knob)

      ```c title=" " lineNumbers=1
      void lv_arc_rotate_obj_to_angle(const lv_obj_t *obj, lv_obj_t *obj_to_rotate, int32_t r_offset)
      ```

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

      | Name            | Type                                                   | Description                                                           |
      | --------------- | ------------------------------------------------------ | --------------------------------------------------------------------- |
      | `obj`           | <ApiLink name="lv_obj_t" display="const lv_obj_t *" /> | pointer to an arc object                                              |
      | `obj_to_rotate` | <ApiLink name="lv_obj_t" display="lv_obj_t *" />       | pointer to an object to rotate                                        |
      | `r_offset`      | <ApiLink name="int32_t" />                             | consider the radius larger with this value (\< 0: for smaller radius) |
    </ApiMember>
  </ApiTab>
</ApiTabs>

Enums [#enums]

<ApiMember kind="enum" name="lv_arc_mode_t" file="widgets/arc/lv_arc.h" line="34" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L34">
  lv_arc_mode_t [#lv_arc_mode_t]

  In which direction the indicator should grow.

  | Name                      | Description                  |
  | ------------------------- | ---------------------------- |
  | `LV_ARC_MODE_NORMAL`      | Clock-wise                   |
  | `LV_ARC_MODE_SYMMETRICAL` | Left/right from the midpoint |
  | `LV_ARC_MODE_REVERSE`     | Counterclock-wise            |
</ApiMember>

<TypeUsedBy name="lv_arc_mode_t" count="1">
  * `lv_arc_set_mode` — param `type`
</TypeUsedBy>

<ApiMember kind="enum" name="_lv_property_arc_id_t" file="widgets/arc/lv_arc.h" line="43" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L43">
  \_lv_property_arc_id_t [#_lv_property_arc_id_t]

  | Name                             | Value                                                         |
  | -------------------------------- | ------------------------------------------------------------- |
  | `LV_PROPERTY_ARC_START_ANGLE`    | `(LV_PROPERTY_ARC_START + ((int) 0 )) \| ((  2   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_END_ANGLE`      | `(LV_PROPERTY_ARC_START + ((int) 1 )) \| ((  2   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_BG_START_ANGLE` | `(LV_PROPERTY_ARC_START + ((int) 2 )) \| ((  2   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_BG_END_ANGLE`   | `(LV_PROPERTY_ARC_START + ((int) 3 )) \| ((  2   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_ROTATION`       | `(LV_PROPERTY_ARC_START + ((int) 4 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_MODE`           | `(LV_PROPERTY_ARC_START + ((int) 5 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_VALUE`          | `(LV_PROPERTY_ARC_START + ((int) 6 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_MIN_VALUE`      | `(LV_PROPERTY_ARC_START + ((int) 7 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_MAX_VALUE`      | `(LV_PROPERTY_ARC_START + ((int) 8 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_CHANGE_RATE`    | `(LV_PROPERTY_ARC_START + ((int) 9 )) \| ((  1   ) <<  28 )`  |
  | `LV_PROPERTY_ARC_KNOB_OFFSET`    | `(LV_PROPERTY_ARC_START + ((int) 10 )) \| ((  1   ) <<  28 )` |
  | `LV_PROPERTY_ARC_END`            |                                                               |
</ApiMember>

Variables [#variables]

<ApiMember kind="variable" name="lv_arc_class" file="widgets/arc/lv_arc.h" line="40" url="https://github.com/lvgl/lvgl/tree/a7b95c5b0839ce901c09c205610bc2c77cc3345d/src/widgets/arc/lv_arc.h#L40">
  lv_arc_class [#lv_arc_class]

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

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_obj.h&#x22;, &#x22;lv_observer.h&#x22;]" includedBy="[&#x22;lv_arc_private.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_array.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_conf_kconfig.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_property_names.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_style_properties.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_tick.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
