Files
STM32F4-Base/Lib/lvgl/src/widgets/arc/lv_arc_private.h
T
2026-08-30 08:57:07 +08:00

65 lines
1.6 KiB
C

/**
* @file lv_arc_private.h
*
*/
#ifndef LV_ARC_PRIVATE_H
#define LV_ARC_PRIVATE_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#include "../../core/lv_obj_private.h"
#include "lv_arc.h"
#if LV_USE_ARC != 0
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
struct _lv_arc_t {
lv_obj_t obj;
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; /**< Current value of the arc */
int32_t min_value; /**< Minimum value of the arc */
int32_t max_value; /**< Maximum value of the arc */
uint32_t dragging : 1;
uint32_t type : 2;
uint32_t min_close : 1; /**< 1: the last pressed angle was closer to minimum end */
uint32_t in_out : 1; /**< 1: The click was within the background arc angles. 0: Click outside */
uint32_t chg_rate; /**< Drag angle rate of change of the arc (degrees/sec) */
uint32_t last_tick; /**< Last dragging event timestamp of the arc */
lv_value_precise_t last_angle; /**< Last dragging angle of the arc */
int16_t knob_offset; /**< knob offset from the main arc */
};
/**********************
* GLOBAL PROTOTYPES
**********************/
/**********************
* MACROS
**********************/
#endif /* LV_USE_ARC != 0 */
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*LV_ARC_PRIVATE_H*/