Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
Référence du fichier ui_knob.c

Knob plein (remplissage angulaire 0..360°) avec clip au disque. Plus de détails...

#include "ui_knob.h"
#include "drv_display.h"
#include <stdint.h>
#include <stdbool.h>
#include <math.h>

Fonctions

void ui_knob_set_diameter_px (int d_px)
 Fixe un diamètre explicite (px) pour TOUS les knobs (0 pour désactiver). Si défini, l’argument r passé à ui_draw_knob() est ignoré.
 
void ui_draw_knob (int cx, int cy, int r_in, int val, int vmin, int vmax)
 Dessine un knob plein (unipolaire/bipolaire) centré en (cx,cy).
 

Description détaillée

Knob plein (remplissage angulaire 0..360°) avec clip au disque.

  • Unipolaire : départ SUD (+90°), remplissage 0→360° (full à la valeur max).
  • Bipolaire : 0 au NORD (−90°), négatif vers l’EST (horaire), positif vers l’OUEST (anti-horaire), jusqu’à 180°.
  • Compatible avec toute plage [min..max] (pas besoin de 0..255).
  • Pas de débordement (clip strict dans le disque) et pas de “pixels fantômes”.
  • Réglage fin du diamètre au pixel près via ui_knob_set_diameter_px().

Documentation des fonctions

◆ ui_draw_knob()

void ui_draw_knob ( int  cx,
int  cy,
int  r,
int  val,
int  vmin,
int  vmax 
)

Dessine un knob plein (unipolaire/bipolaire) centré en (cx,cy).

Paramètres
cx,cyCentre du knob.
rRayon “extérieur” du knob (peut être écrasé si un diamètre override est actif).
valValeur courante.
vminBorne min de la plage.
vmaxBorne max de la plage.

◆ ui_knob_set_diameter_px()

void ui_knob_set_diameter_px ( int  d_px)

Fixe un diamètre explicite (px) pour TOUS les knobs (0 pour désactiver). Si défini, l’argument r passé à ui_draw_knob() est ignoré.

Fixe un diamètre explicite (px) pour tous les knobs. 0 = désactiver. Si défini, l’argument r passé à ui_draw_knob() est ignoré.