lv_arc.h
Typedefs
-
typedef _lv_arc_mode_t lv_arc_mode_t
Enums
Functions
-
lv_obj_t *lv_arc_create(lv_obj_t *parent)
Create an arc object
- Parameters:
parent -- pointer to an object, it will be the parent of the new arc
- Returns:
pointer to the created arc
-
void lv_arc_set_start_angle(lv_obj_t *obj, lv_value_precise_t start)
Set the start angle of an arc. 0 deg: right, 90 bottom, etc.
- Parameters:
obj -- pointer to an arc object
start -- the start angle. (if
LV_USE_FLOAT
is enabled it can be fractional too.)
-
void lv_arc_set_end_angle(lv_obj_t *obj, lv_value_precise_t end)
Set the end angle of an arc. 0 deg: right, 90 bottom, etc.
- Parameters:
obj -- pointer to an arc object
end -- the end angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)
-
void lv_arc_set_angles(lv_obj_t *obj, lv_value_precise_t start, lv_value_precise_t end)
Set the start and end angles
- Parameters:
obj -- pointer to an arc object
start -- the start angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)end -- the end angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)
-
void lv_arc_set_bg_start_angle(lv_obj_t *obj, lv_value_precise_t start)
Set the start angle of an arc background. 0 deg: right, 90 bottom, etc.
- Parameters:
obj -- pointer to an arc object
start -- the start angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)
-
void lv_arc_set_bg_end_angle(lv_obj_t *obj, lv_value_precise_t end)
Set the start angle of an arc background. 0 deg: right, 90 bottom etc.
- Parameters:
obj -- pointer to an arc object
end -- the end angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)
-
void lv_arc_set_bg_angles(lv_obj_t *obj, lv_value_precise_t start, lv_value_precise_t end)
Set the start and end angles of the arc background
- Parameters:
obj -- pointer to an arc object
start -- the start angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)end -- the end angle (if
LV_USE_FLOAT
is enabled it can be fractional too.)
-
void lv_arc_set_rotation(lv_obj_t *obj, int32_t rotation)
Set the rotation for the whole arc
- Parameters:
obj -- pointer to an arc object
rotation -- rotation angle
-
void lv_arc_set_mode(lv_obj_t *obj, lv_arc_mode_t type)
Set the type of arc.
- Parameters:
obj -- pointer to arc object
type -- arc's mode
-
void lv_arc_set_value(lv_obj_t *obj, int32_t value)
Set a new value on the arc
- Parameters:
obj -- pointer to an arc object
value -- new value
-
void lv_arc_set_range(lv_obj_t *obj, int32_t min, int32_t max)
Set minimum and the maximum values of an arc
- Parameters:
obj -- pointer to the arc object
min -- minimum value
max -- maximum value
-
void lv_arc_set_change_rate(lv_obj_t *obj, uint32_t rate)
Set a change rate to limit the speed how fast the arc should reach the pressed point.
- Parameters:
obj -- pointer to an arc object
rate -- the change rate
-
void lv_arc_set_knob_offset(lv_obj_t *obj, int32_t offset)
Set an offset angle for the knob
- Parameters:
obj -- pointer to an arc object
offset -- knob offset from main arc in degrees
-
lv_value_precise_t lv_arc_get_angle_start(lv_obj_t *obj)
Get the start angle of an arc.
- Parameters:
obj -- pointer to an arc object
- Returns:
the start angle 0..360
-
lv_value_precise_t lv_arc_get_angle_end(lv_obj_t *obj)
Get the end angle of an arc.
- Parameters:
obj -- pointer to an arc object
- Returns:
the end angle 0..360
-
lv_value_precise_t lv_arc_get_bg_angle_start(lv_obj_t *obj)
Get the start angle of an arc background.
- Parameters:
obj -- pointer to an arc object
- Returns:
the start angle 0..360
-
lv_value_precise_t lv_arc_get_bg_angle_end(lv_obj_t *obj)
Get the end angle of an arc background.
- Parameters:
obj -- pointer to an arc object
- Returns:
the end angle 0..360
-
int32_t lv_arc_get_value(const lv_obj_t *obj)
Get the value of an arc
- Parameters:
obj -- pointer to an arc object
- Returns:
the value of the arc
-
int32_t lv_arc_get_min_value(const lv_obj_t *obj)
Get the minimum value of an arc
- Parameters:
obj -- pointer to an arc object
- Returns:
the minimum value of the arc
-
int32_t lv_arc_get_max_value(const lv_obj_t *obj)
Get the maximum value of an arc
- Parameters:
obj -- pointer to an arc object
- Returns:
the maximum value of the arc
-
lv_arc_mode_t lv_arc_get_mode(const lv_obj_t *obj)
Get whether the arc is type or not.
- Parameters:
obj -- pointer to an arc object
- Returns:
arc's mode
-
int32_t lv_arc_get_rotation(const lv_obj_t *obj)
Get the rotation for the whole arc
- Parameters:
obj -- pointer to an arc object
- Returns:
arc's current rotation
-
int32_t lv_arc_get_knob_offset(const lv_obj_t *obj)
Get the current knob angle offset
- Parameters:
obj -- pointer to an arc object
- Returns:
arc's current knob offset
-
void lv_arc_align_obj_to_angle(const lv_obj_t *obj, lv_obj_t *obj_to_align, int32_t r_offset)
Align an object to the current position of the arc (knob)
- Parameters:
obj -- pointer to an arc object
obj_to_align -- pointer to an object to align
r_offset -- consider the radius larger with this value (< 0: for smaller radius)
-
void lv_arc_rotate_obj_to_angle(const lv_obj_t *obj, lv_obj_t *obj_to_rotate, int32_t r_offset)
Rotate an object to the current position of the arc (knob)
- Parameters:
obj -- pointer to an arc object
obj_to_rotate -- pointer to an object to rotate
r_offset -- consider the radius larger with this value (< 0: for smaller radius)
Variables
-
const lv_obj_class_t lv_arc_class
-
struct lv_arc_t
Public Members
-
int32_t rotation
-
lv_value_precise_t indic_angle_start
-
lv_value_precise_t indic_angle_end
-
lv_value_precise_t bg_angle_start
-
lv_value_precise_t bg_angle_end
-
int32_t value
-
int32_t min_value
-
int32_t max_value
-
uint32_t dragging
-
uint32_t type
-
uint32_t min_close
-
uint32_t in_out
-
uint32_t chg_rate
-
uint32_t last_tick
-
lv_value_precise_t last_angle
-
int16_t knob_offset
-
int32_t rotation