#[non_exhaustive]pub struct ButtonStyle {
pub variant: Option<Variant>,
pub size: Option<Size>,
pub radius: Option<Pixels>,
pub background: Option<ComponentColor>,
pub foreground: Option<ComponentColor>,
pub hover_bg: Option<ComponentColor>,
pub hover_foreground: Option<ComponentColor>,
pub pressed_bg: Option<ComponentColor>,
pub pressed_foreground: Option<ComponentColor>,
pub disabled_foreground: Option<ComponentColor>,
pub style: Option<StyleRefinement>,
}Expand description
Button recipes can combine semantic colors with a sparse GPUI root style.
Instance sx is refined over this style; instance builders retain precedence.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.variant: Option<Variant>§size: Option<Size>§radius: Option<Pixels>§background: Option<ComponentColor>§foreground: Option<ComponentColor>§hover_bg: Option<ComponentColor>§hover_foreground: Option<ComponentColor>§pressed_bg: Option<ComponentColor>§pressed_foreground: Option<ComponentColor>§disabled_foreground: Option<ComponentColor>§style: Option<StyleRefinement>Implementations§
Source§impl ButtonStyle
impl ButtonStyle
Sourcepub fn variant(self, variant: Variant) -> Self
pub fn variant(self, variant: Variant) -> Self
The variant this recipe selects.
Ignored on any button whose call site named a variant of its own: the
instance is the more specific source. A recipe that must survive
.variant(..) should say what it wants outright —
ButtonStyle::hover_bg, ButtonStyle::background and their
neighbours all apply whatever variant ends up in force — rather than
express it by selecting a variant whose derived shades happen to match.
pub fn size(self, size: Size) -> Self
pub fn radius(self, radius: impl Into<Pixels>) -> Self
pub fn background(self, color: impl Into<ComponentColor>) -> Self
pub fn foreground(self, color: impl Into<ComponentColor>) -> Self
pub fn hover_bg(self, color: impl Into<ComponentColor>) -> Self
pub fn hover_foreground(self, color: impl Into<ComponentColor>) -> Self
pub fn pressed_bg(self, color: impl Into<ComponentColor>) -> Self
pub fn pressed_foreground(self, color: impl Into<ComponentColor>) -> Self
pub fn disabled_foreground(self, color: impl Into<ComponentColor>) -> Self
Trait Implementations§
Source§impl Clone for ButtonStyle
impl Clone for ButtonStyle
Source§impl ComponentStyle for ButtonStyle
impl ComponentStyle for ButtonStyle
Source§impl Debug for ButtonStyle
impl Debug for ButtonStyle
Auto Trait Implementations§
impl Freeze for ButtonStyle
impl RefUnwindSafe for ButtonStyle
impl Send for ButtonStyle
impl Sync for ButtonStyle
impl Unpin for ButtonStyle
impl UnsafeUnpin for ButtonStyle
impl UnwindSafe for ButtonStyle
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
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> 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> ⓘ
Converts
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> ⓘ
Converts
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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().