Kestrel Interface
Loading...
Searching...
No Matches
kest_parameter_widget.h
Go to the documentation of this file.
1#ifndef KEST_INT_PARAMETER_WIDGET_H_
2#define KEST_INT_PARAMETER_WIDGET_H_
3
4#define PARAM_WIDGET_LABEL_BUFSIZE 32
5
6#define PARAMETER_WIDGET_RANGE_SIZE 1000.0
7
8#define PARAM_WIDGET_VIRTUAL_POT 0
9#define PARAM_WIDGET_HSLIDER 1
10#define PARAM_WIDGET_VSLIDER 2
11#define PARAM_WIDGET_VSLIDER_TALL 3
12
13#define PARAM_WIDGET_SIZE_H ((int)(0.16 * DISPLAY_VRES))
14#define PARAM_WIDGET_SIZE_W PARAM_WIDGET_SIZE_H
15
16#define VIRTUAL_POT_SIZE_H ((int)(0.13 * DISPLAY_VRES))
17#define VIRTUAL_POT_SIZE_W VIRTUAL_POT_SIZE_H
18
19#define VPOT_PAD_H ((int)((45.0 / 1024.0) * DISPLAY_VRES))
20#define VPOT_PAD_W ((int)((70.0 / 600.0) * DISPLAY_HRES))
21
22#define HSLIDER_SIZE_H ((int)((15.0 / 1024.0) * DISPLAY_VRES))
23#define HSLIDER_SIZE_W ((int)((165.0 / 600.0) * DISPLAY_HRES))
24
25#define HSLIDER_PAD_H ((int)((50.0 / 1024.0) * DISPLAY_VRES))
26#define HSLIDER_PAD_W ((int)((10.0 / 600.0) * DISPLAY_HRES))
27
28#define VSLIDER_SIZE_H ((int)((150.0 / 1024.0) * DISPLAY_VRES))
29#define VSLIDER_SIZE_W ((int)((15.0 / 600.0) * DISPLAY_HRES))
30
31#define VSLIDER_PAD_H ((int)((40.0 / 1024.0) * DISPLAY_VRES))
32#define VSLIDER_PAD_W ((int)((90.0 / 600.0) * DISPLAY_HRES))
33
34#define VSLIDER_TALL_SIZE_H ((int)((300.0 / 1024.0) * DISPLAY_VRES))
35#define VSLIDER_TALL_SIZE_W ((int)((15.0 / 600.0) * DISPLAY_HRES))
36
37#define VSLIDER_TALL_PAD_H ((int)((130.0 / 1024.0) * DISPLAY_VRES))
38#define VSLIDER_TALL_PAD_W ((int)((80.0 / 600.0) * DISPLAY_HRES))
39
40struct kest_profile;
41
59
62
63int parameter_widget_create_ui(kest_parameter_widget *pw, lv_obj_t *parent);
65
67
69
71void parameter_widget_refresh_cb(lv_event_t *event);
72
74
76
77
78//
79//
80//
81// === setting widget ===
82//
83//
84//
85
86
87#define SETTING_WIDGET_DROPDOWN 0
88#define SETTING_WIDGET_SWITCH 1
89#define SETTING_WIDGET_FIELD 2
90
91typedef struct
92{
93 int type;
95
99
100 lv_obj_t *container;
101 lv_obj_t *obj;
102 lv_obj_t *label;
103 lv_obj_t *pad;
104
105 const char *name;
106
108
111
113int configure_setting_widget(kest_setting_widget *pw, kest_setting *setting, struct kest_profile *profile, kest_ui_page *parent);
114
115int setting_widget_create_ui(kest_setting_widget *pw, lv_obj_t *parent);
117
119
121
123void setting_widget_refresh_cb(lv_event_t *event);
124
126
129
130void param_widget_rep_update(void *representer, void *representee);
131void setting_widget_rep_update(void *representer, void *representee);
132
134
135#endif
#define DECLARE_LINKED_PTR_LIST(X)
void setting_widget_rep_update(void *representer, void *representee)
void param_widget_rep_update(void *representer, void *representee)
void setting_widget_change_cb_inner(kest_setting_widget *pw)
int parameter_widget_create_ui_no_callback(kest_parameter_widget *pw, lv_obj_t *parent)
int setting_widget_request_value(kest_setting_widget *pw)
int configure_parameter_widget(kest_parameter_widget *pw, kest_parameter *param, struct kest_profile *profile, kest_ui_page *parent)
int setting_widget_create_ui(kest_setting_widget *pw, lv_obj_t *parent)
void format_parameter_widget_value_label_v(kest_parameter_widget *pw, float v)
int param_widget_request_value(kest_parameter_widget *pw)
void parameter_widget_update_value_label_v(kest_parameter_widget *pw, float v)
void free_setting_widget(kest_setting_widget *pw)
int nullify_parameter_widget(kest_parameter_widget *pw)
int configure_setting_widget(kest_setting_widget *pw, kest_setting *setting, struct kest_profile *profile, kest_ui_page *parent)
#define PARAM_WIDGET_LABEL_BUFSIZE
int setting_widget_create_ui_no_callback(kest_setting_widget *pw, lv_obj_t *parent)
void parameter_widget_update_value_label(kest_parameter_widget *pot)
void free_parameter_widget(kest_parameter_widget *pw)
void parameter_widget_refresh_cb(lv_event_t *event)
int parameter_widget_create_ui(kest_parameter_widget *pw, lv_obj_t *parent)
void setting_widget_refresh_cb(lv_event_t *event)
void setting_widget_update_value_label(kest_setting_widget *pot)
int nullify_setting_widget(kest_setting_widget *pw)
void parameter_widget_change_cb_inner(kest_parameter_widget *pw)
char val_label_text[PARAM_WIDGET_LABEL_BUFSIZE]
struct kest_profile * profile
struct kest_profile * profile
kest_representation rep