pub struct AxisConfig {
pub start: f32,
pub end: f32,
pub step: f32,
pub label: &'static [u8],
}Expand description
Définit un axe avec graduation statique fixe.
Cette structure configure un axe du graphique avec une plage de valeurs, un pas de graduation régulier et un label descriptif.
§Champs
start- Valeur minimale de l’axe (ex: 0.0)end- Valeur maximale de l’axe (ex: 10.0)step- Espacement régulier entre graduations (ex: 1.0)label- Label texte affiché le long de l’axe (ex: b“Temp (C)“)
§Exemple
use embassy_st7789v_plot::AxisConfig;
// Axe des temps de 0 à 60 secondes avec graduations tous les 10s
let time_axis = AxisConfig::new(0.0, 60.0, 10.0, b"Time (s)");
assert!(time_axis.is_valid());
assert_eq!(time_axis.tick_count(), 7); // 0, 10, 20, 30, 40, 50, 60
// Axe de température de -10 à 50°C avec graduations tous les 10°C
let temp_axis = AxisConfig::new(-10.0, 50.0, 10.0, b"Temp (C)");
assert_eq!(temp_axis.tick_count(), 7);Fields§
§start: f32§end: f32§step: f32§label: &'static [u8]Implementations§
Source§impl AxisConfig
impl AxisConfig
Sourcepub const fn new(start: f32, end: f32, step: f32, label: &'static [u8]) -> Self
pub const fn new(start: f32, end: f32, step: f32, label: &'static [u8]) -> Self
Crée une nouvelle configuration d’axe.
§Arguments
start- Valeur minimale (doit être <end)end- Valeur maximale (doit être >start)step- Pas de graduation (doit être > 0)label- Label statique affiché (par exemple b“Temp (C)“)
§Panics
Ne paniquera pas ici, mais utilisez is_valid après construction
pour vérifier la cohérence.
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Vérifie la cohérence de la configuration.
Retourne true si :
step> 0.0end>start
§Exemple
use embassy_st7789v_plot::AxisConfig;
let valid = AxisConfig::new(0.0, 10.0, 1.0, b"X");
assert!(valid.is_valid());
let invalid = AxisConfig::new(10.0, 0.0, 1.0, b"X");
assert!(!invalid.is_valid());Sourcepub fn tick_count(&self) -> usize
pub fn tick_count(&self) -> usize
Calcule le nombre de graduations (incluant start et end).
En no_std, le cast direct remplace f32::floor().
§Retour
Nombre de ticks incluant les extrémités, ou 0 si la configuration est invalide.
§Exemple
use embassy_st7789v_plot::AxisConfig;
let axis = AxisConfig::new(0.0, 10.0, 2.0, b"X");
assert_eq!(axis.tick_count(), 6); // 0, 2, 4, 6, 8, 10Trait Implementations§
Source§impl Clone for AxisConfig
impl Clone for AxisConfig
Source§fn clone(&self) -> AxisConfig
fn clone(&self) -> AxisConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AxisConfig
impl Debug for AxisConfig
impl Copy for AxisConfig
Auto Trait Implementations§
impl Freeze for AxisConfig
impl RefUnwindSafe for AxisConfig
impl Send for AxisConfig
impl Sync for AxisConfig
impl Unpin for AxisConfig
impl UnsafeUnpin for AxisConfig
impl UnwindSafe for AxisConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more