API Theme

Définition

pub struct Theme {
    // Couleurs
    pub bg: Color,
    pub header_bg: Color,
    pub header_text: Color,
    pub cell_text: Color,
    pub grid_line: Color,
    pub header_border: Color,
    pub selection_fill: Color,
    pub selection_border: Color,
    pub scrollbar_track: Color,
    pub scrollbar_thumb: Color,
    pub row_alt_bg: Color,
    pub row_hover_bg: Color,
    pub search_highlight: Color,
    pub search_current: Color,
    pub skeleton_fg: Color,

    // Typographie
    pub font_size: f64,
    pub header_font_size: f64,
    pub header_font_bold: bool,

    // Espacement
    pub cell_padding: f64,
    pub scrollbar_width: f64,
    pub scrollbar_radius: f64,
}

Tous les champs

ChampTypeDéfaut clairDéfaut sombre
bgColorrgb(255,255,255)rgb(26,27,38)
header_bgColorrgb(248,249,250)rgb(36,40,59)
header_textColorrgb(24,29,31)rgb(169,177,214)
cell_textColorrgb(24,29,31)rgb(192,202,245)
grid_lineColorrgb(224,224,224)rgb(42,47,69)
header_borderColorrgb(186,191,199)rgb(61,68,102)
selection_fillColorrgba(31,119,220,46)rgba(122,162,255,51)
selection_borderColorrgba(31,119,220,210)rgba(122,162,255,204)
scrollbar_trackColorrgb(241,241,241)rgb(31,35,53)
scrollbar_thumbColorrgba(100,100,110,160)rgba(169,177,214,102)
row_alt_bgColorrgb(252,252,253)rgb(30,32,48)
row_hover_bgColorrgba(0,0,0,10)rgba(255,255,255,10)
search_highlightColorrgba(255,213,0,80)rgba(255,213,0,80)
search_currentColorrgba(255,165,0,140)rgba(255,165,0,140)
skeleton_fgColorrgba(200,200,200,100)rgba(60,65,90,100)
font_sizef6414.014.0
header_font_sizef6412.013.0
header_font_boldbooltruetrue
cell_paddingf6410.010.0
scrollbar_widthf6414.014.0
scrollbar_radiusf644.04.0

Constructeurs

Theme::light()   // palette claire inspirée d'AG Grid
Theme::dark()    // palette sombre inspirée de Tokyo Night
Theme::default() // identique à light()

Étendre un thème

let custom = Theme {
    bg: Color::rgb(30, 30, 46),
    cell_text: Color::rgb(205, 214, 244),
    ..Theme::dark()
};