pub struct GridTheme {Show 29 fields
pub bg: Hsla,
pub header_bg: Hsla,
pub filter_bg: Hsla,
pub filter_active_bg: Hsla,
pub row_header_bg: Hsla,
pub selection_bg: Hsla,
pub alt_row_bg: Hsla,
pub grid_line: Hsla,
pub header_fg: Hsla,
pub text_fg: Hsla,
pub negative_fg: Hsla,
pub sort_indicator: Hsla,
pub filter_cursor: Hsla,
pub menu_bg: Hsla,
pub menu_hover_bg: Hsla,
pub menu_fg: Hsla,
pub muted_text: Hsla,
pub null_fg: Hsla,
pub null_bg: Hsla,
pub pivot_group_bg: Hsla,
pub pivot_subtotal_bg: Hsla,
pub pivot_grand_total_bg: Hsla,
pub pivot_total_fg: Hsla,
pub pivot_drop_zone_bg: Hsla,
pub pivot_drop_zone_active_bg: Hsla,
pub pivot_chip_bg: Hsla,
pub pivot_chip_fg: Hsla,
pub scrollbar_thumb: Hsla,
pub overlay_scrim: Hsla,
}Fields§
§bg: Hsla§header_bg: Hsla§filter_bg: Hsla§filter_active_bg: Hsla§row_header_bg: Hsla§selection_bg: Hsla§alt_row_bg: Hsla§grid_line: Hsla§header_fg: Hsla§text_fg: Hsla§negative_fg: Hsla§sort_indicator: Hsla§filter_cursor: HslaBackground fill of the right-click context menu / filter popup surface.
Fill drawn behind the menu item currently under the pointer (hover).
Foreground color for menu item labels.
muted_text: HslaMuted text color for labels, placeholders, and secondary text inside
the filter panel and context menu. Chosen for legibility against
menu_bg / bg in both light and dark palettes.
null_fg: HslaForeground for the null-value placeholder (see
crate::config::NullFormat).
null_bg: HslaDistinctive background painted behind null-value cells when the
column’s crate::config::NullFormat::background is enabled.
pivot_group_bg: HslaBackground of pivot group-header rows (expanded groups).
pivot_subtotal_bg: HslaBackground of pivot subtotal cells (collapsed groups, “Total” columns).
pivot_grand_total_bg: HslaBackground of the pivot grand-total row/column.
pivot_total_fg: HslaForeground for pivot subtotal / grand-total values and labels.
pivot_drop_zone_bg: HslaResting background of a sidebar drop zone.
pivot_drop_zone_active_bg: HslaBackground of a drop zone while a compatible chip hovers over it.
pivot_chip_bg: HslaBackground of a field chip in the pivot sidebar.
pivot_chip_fg: HslaLabel color of a field chip in the pivot sidebar.
scrollbar_thumb: HslaFill of the scrollbar thumb (the track uses row_header_bg). Kept at
≥ 3:1 contrast against the track in the shipped palettes.
overlay_scrim: HslaTranslucent scrim painted behind modal overlays (e.g. the pivot format dialog) to dim the content beneath. The only intentionally non-opaque color in the theme.
Implementations§
Source§impl GridTheme
impl GridTheme
Sourcepub fn neutral_light() -> Self
pub fn neutral_light() -> Self
Neutral light: pure-white canvas, gray ramp at zero chroma, azure accent reserved for selection, sort, and filter state.
Sourcepub fn neutral_dark() -> Self
pub fn neutral_dark() -> Self
Neutral dark: near-black gray ramp; depth comes from surface lightness, accents are slightly desaturated to sit on dark.
Sourcepub fn signature_light() -> Self
pub fn signature_light() -> Self
Signature light: pure-white canvas with teal-tinted neutrals; the
teal anchor (oklch(0.47 0.115 195) family) carries selection,
chips, and the totals hierarchy.
Sourcepub fn signature_dark() -> Self
pub fn signature_dark() -> Self
Signature dark: teal-tinted near-black; surfaces keep the anchor hue at whisper chroma, and the accent brightens to hold on dark.
Sourcepub fn light() -> Self
pub fn light() -> Self
The Neutral light palette. Identical to GridTheme::default;
provided as a named constructor so callers can be explicit about
intent.
Sourcepub fn dark() -> Self
pub fn dark() -> Self
The Neutral dark palette, tuned to pair with GridTheme::light.
Sourcepub fn for_appearance(appearance: WindowAppearance) -> Self
pub fn for_appearance(appearance: WindowAppearance) -> Self
Pick the Neutral-family palette that matches the OS window
appearance. Dark and VibrantDark resolve to
GridTheme::neutral_dark; everything else to
GridTheme::neutral_light. For other families use
GridThemePair::for_appearance.
Trait Implementations§
impl StructuralPartialEq for GridTheme
Auto Trait Implementations§
impl Freeze for GridTheme
impl RefUnwindSafe for GridTheme
impl Send for GridTheme
impl Sync for GridTheme
impl Unpin for GridTheme
impl UnsafeUnpin for GridTheme
impl UnwindSafe for GridTheme
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().