Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
ui_widgets.h
Aller à la documentation de ce fichier.
1
26#ifndef UI_WIDGETS_H
27#define UI_WIDGETS_H
28
29#include <stdbool.h>
30#include <stdint.h>
31#include "ui_types.h" /* ui_widget_type_t, ui_param_kind_t */
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37/* ============================================================================
38 * SÉLECTION DU TYPE DE WIDGET
39 * ============================================================================
40 */
41
55 const char *label,
56 const char * const *labels,
57 int nlabels);
58
68 const char *label);
69
70/* ============================================================================
71 * DESSIN
72 * ============================================================================
73 */
74
82void uiw_draw_switch(int x, int y, int w, int h, bool on);
83
93void uiw_draw_knob(int x, int y, int w, int h, int value, int min, int max);
94
95/* ============================================================================
96 * UTILITAIRE ICÔNES PAR LABEL TEXTE
97 * ============================================================================
98 */
99
112bool uiw_draw_icon_by_text(const char *text, int x, int y, int w, int h);
113
119
121typedef struct {
122 uint8_t padding;
124 uint16_t fill_steps;
126
129
138void uiw_draw_knob_ex(int x, int y, int w, int h,
139 int value, int min, int max,
140 const uiw_knob_style_t *style);
141
142#ifdef __cplusplus
143}
144#endif
145
146#endif /* UI_WIDGETS_H */
ui_param_kind_t
Genre logique d’un paramètre UI.
Definition ui_types.h:21
ui_widget_type_t
Familles de widgets disponibles pour le rendu.
Definition ui_types.h:31
Definition ui_widgets.h:121
uint8_t ring_thickness
Definition ui_widgets.h:123
uint8_t padding
Definition ui_widgets.h:122
uint16_t fill_steps
Definition ui_widgets.h:124
Types communs de la couche UI Brick (kinds, widgets).
void uiw_draw_switch(int x, int y, int w, int h, bool on)
Dessine un interrupteur booléen (ON/OFF) dans un cadre.
Definition ui_widgets.c:195
ui_widget_type_t uiw_pick_from_labels(ui_param_kind_t kind, const char *label, const char *const *labels, int nlabels)
Détermine la famille de widget à utiliser en fonction du kind et des labels.
Definition ui_widgets.c:131
const uiw_knob_style_t UIW_KNOB_STYLE_DEFAULT
Definition ui_widgets.c:42
ui_widget_type_t uiw_pick_from_kind_label_only(ui_param_kind_t kind, const char *label)
Fallback de sélection quand on ne dispose que du kind et d’un label simple.
Definition ui_widgets.c:172
uiw_knob_mode_t
Definition ui_widgets.h:115
@ UIW_KNOB_UNIPOLAR
Definition ui_widgets.h:116
@ UIW_KNOB_BIPOLAR_ZERO_NORTH
Definition ui_widgets.h:117
void uiw_draw_knob(int x, int y, int w, int h, int value, int min, int max)
Dessine un knob circulaire pour une valeur continue.
Definition ui_widgets.c:242
void uiw_draw_knob_ex(int x, int y, int w, int h, int value, int min, int max, const uiw_knob_style_t *style)
Variante avancée avec style configurable (taille/épaisseur).
Definition ui_widgets.c:231
bool uiw_draw_icon_by_text(const char *text, int x, int y, int w, int h)
Dessine une icône (20×14) centrée dans le cadre, choisie par label texte.
Definition ui_widgets.c:105