Widgets UI Brick — sélection de widget + rendu (icônes 20×14, switch, knob). Plus de détails...
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
#include "ui_widgets.h"
#include "ui_icons.h"
#include "drv_display.h"
#include "ui_knob.h"
Fonctions | |
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, choisie via label texte canonique. | |
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. | |
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. | |
void | uiw_draw_switch (int x, int y, int w, int h, bool on) |
Dessine un interrupteur booléen uniquement via icône (ON/OFF). Pas de fallback texte. | |
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) |
Dessine un knob continu via le moteur ui_knob.c (LUT 300°), sans débordement. | |
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. | |
Variables | |
const uiw_knob_style_t | UIW_KNOB_STYLE_DEFAULT |
Widgets UI Brick — sélection de widget + rendu (icônes 20×14, switch, knob).
Ce module implémente :
uiw_pick_from_labels
, uiw_pick_from_kind_label_only
),uiw_draw_switch
, uiw_draw_knob
, uiw_draw_knob_ex
,uiw_draw_icon_by_text
).Principes :
Hiérarchie : ui_renderer → ui_widgets → ui_icons → drv_display
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, choisie via label texte canonique.
Dessine une icône (20×14) centrée dans le cadre, choisie par label texte.
true | icône dessinée, false sinon (aucun dessin). |
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.
x,y | Position du coin supérieur gauche du cadre. |
w,h | Dimensions du cadre. |
value | Valeur actuelle. |
min | Borne minimale. |
max | Borne maximale (si max <= min , une borne sûre sera utilisée). |
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 | ||
) |
Dessine un knob continu via le moteur ui_knob.c (LUT 300°), sans débordement.
Variante avancée avec style configurable (taille/épaisseur).
void uiw_draw_switch | ( | int | x, |
int | y, | ||
int | w, | ||
int | h, | ||
bool | on | ||
) |
Dessine un interrupteur booléen uniquement via icône (ON/OFF). Pas de fallback texte.
Dessine un interrupteur booléen (ON/OFF) dans un cadre.
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.
kind | Type logique du paramètre (bool/enum/continu). |
label | Label du paramètre (peut être NULL). |
ui_widget_type_t
— famille de widget (ou UIW_NONE
). 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.
kind | Type logique du paramètre (bool/enum/continu), cf. ui_param_kind_t . |
label | Label principal du paramètre (peut aider à détecter “Wave”, “Filter”…). |
labels | Tableau des labels d’énum (peut être NULL). |
nlabels | Taille du tableau labels . |
ui_widget_type_t
— famille de widget à utiliser (ou UIW_NONE
si indéterminé).const uiw_knob_style_t UIW_KNOB_STYLE_DEFAULT |
Style par défaut (défini dans ui_widgets.c
).