65 lines
1.6 KiB
C
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*/
|