Struct cosmic::cosmic_theme::ThemeBuilder
source · pub struct ThemeBuilder {Show 16 fields
pub palette: CosmicPalette,
pub spacing: Spacing,
pub corner_radii: CornerRadii,
pub neutral_tint: Option<Rgb>,
pub bg_color: Option<Alpha<Rgb, f32>>,
pub primary_container_bg: Option<Alpha<Rgb, f32>>,
pub secondary_container_bg: Option<Alpha<Rgb, f32>>,
pub text_tint: Option<Rgb>,
pub accent: Option<Rgb>,
pub success: Option<Rgb>,
pub warning: Option<Rgb>,
pub destructive: Option<Rgb>,
pub is_frosted: bool,
pub gaps: (u32, u32),
pub active_hint: u32,
pub window_hint: Option<Rgb>,
}
Expand description
Helper for building customized themes
Fields§
§palette: CosmicPalette
override the palette for the builder
spacing: Spacing
override spacing for the builder
corner_radii: CornerRadii
override corner radii for the builder
neutral_tint: Option<Rgb>
override neutral_tint for the builder
bg_color: Option<Alpha<Rgb, f32>>
override bg_color for the builder
primary_container_bg: Option<Alpha<Rgb, f32>>
override the primary container bg color for the builder
secondary_container_bg: Option<Alpha<Rgb, f32>>
override the secontary container bg color for the builder
text_tint: Option<Rgb>
override the text tint for the builder
accent: Option<Rgb>
override the accent color for the builder
success: Option<Rgb>
override the success color for the builder
warning: Option<Rgb>
override the warning color for the builder
destructive: Option<Rgb>
override the destructive color for the builder
is_frosted: bool
enabled blurred transparency
gaps: (u32, u32)
cosmic-comp window gaps size (outer, inner)
active_hint: u32
cosmic-comp active hint window outline width
window_hint: Option<Rgb>
cosmic-comp custom window hint color
Implementations§
source§impl ThemeBuilder
impl ThemeBuilder
sourcepub fn set_palette(
&mut self,
config: &Config,
value: CosmicPalette,
) -> Result<bool, Error>
pub fn set_palette( &mut self, config: &Config, value: CosmicPalette, ) -> Result<bool, Error>
Sets ThemeBuilder::palette
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_spacing(
&mut self,
config: &Config,
value: Spacing,
) -> Result<bool, Error>
pub fn set_spacing( &mut self, config: &Config, value: Spacing, ) -> Result<bool, Error>
Sets ThemeBuilder::spacing
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_corner_radii(
&mut self,
config: &Config,
value: CornerRadii,
) -> Result<bool, Error>
pub fn set_corner_radii( &mut self, config: &Config, value: CornerRadii, ) -> Result<bool, Error>
Sets ThemeBuilder::corner_radii
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_neutral_tint(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_neutral_tint( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::neutral_tint
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_bg_color(
&mut self,
config: &Config,
value: Option<Alpha<Rgb, f32>>,
) -> Result<bool, Error>
pub fn set_bg_color( &mut self, config: &Config, value: Option<Alpha<Rgb, f32>>, ) -> Result<bool, Error>
Sets ThemeBuilder::bg_color
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_primary_container_bg(
&mut self,
config: &Config,
value: Option<Alpha<Rgb, f32>>,
) -> Result<bool, Error>
pub fn set_primary_container_bg( &mut self, config: &Config, value: Option<Alpha<Rgb, f32>>, ) -> Result<bool, Error>
Sets ThemeBuilder::primary_container_bg
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_secondary_container_bg(
&mut self,
config: &Config,
value: Option<Alpha<Rgb, f32>>,
) -> Result<bool, Error>
pub fn set_secondary_container_bg( &mut self, config: &Config, value: Option<Alpha<Rgb, f32>>, ) -> Result<bool, Error>
Sets ThemeBuilder::secondary_container_bg
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_text_tint(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_text_tint( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::text_tint
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_accent(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_accent( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::accent
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_success(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_success( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::success
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_warning(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_warning( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::warning
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_destructive(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_destructive( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::destructive
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_is_frosted(
&mut self,
config: &Config,
value: bool,
) -> Result<bool, Error>
pub fn set_is_frosted( &mut self, config: &Config, value: bool, ) -> Result<bool, Error>
Sets ThemeBuilder::is_frosted
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_gaps(
&mut self,
config: &Config,
value: (u32, u32),
) -> Result<bool, Error>
pub fn set_gaps( &mut self, config: &Config, value: (u32, u32), ) -> Result<bool, Error>
Sets ThemeBuilder::gaps
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_active_hint(
&mut self,
config: &Config,
value: u32,
) -> Result<bool, Error>
pub fn set_active_hint( &mut self, config: &Config, value: u32, ) -> Result<bool, Error>
Sets ThemeBuilder::active_hint
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
sourcepub fn set_window_hint(
&mut self,
config: &Config,
value: Option<Rgb>,
) -> Result<bool, Error>
pub fn set_window_hint( &mut self, config: &Config, value: Option<Rgb>, ) -> Result<bool, Error>
Sets ThemeBuilder::window_hint
and writes to cosmic_config::Config
if changed
Returns Ok(true)
when the field’s value has changed and was written to disk
source§impl ThemeBuilder
impl ThemeBuilder
sourcepub fn dark() -> ThemeBuilder
pub fn dark() -> ThemeBuilder
Get a builder that is initialized with the default dark theme
sourcepub fn light() -> ThemeBuilder
pub fn light() -> ThemeBuilder
Get a builder that is initialized with the default light theme
sourcepub fn dark_high_contrast() -> ThemeBuilder
pub fn dark_high_contrast() -> ThemeBuilder
Get a builder that is initialized with the default dark high contrast theme
sourcepub fn light_high_contrast() -> ThemeBuilder
pub fn light_high_contrast() -> ThemeBuilder
Get a builder that is initialized with the default light high contrast theme
sourcepub fn palette(palette: CosmicPalette) -> ThemeBuilder
pub fn palette(palette: CosmicPalette) -> ThemeBuilder
Get a builder that is initialized with the provided palette
sourcepub fn spacing(self, spacing: Spacing) -> ThemeBuilder
pub fn spacing(self, spacing: Spacing) -> ThemeBuilder
set the spacing of the builder
sourcepub fn corner_radii(self, corner_radii: CornerRadii) -> ThemeBuilder
pub fn corner_radii(self, corner_radii: CornerRadii) -> ThemeBuilder
set the corner radii of the builder
sourcepub fn neutral_tint(self, tint: Rgb) -> ThemeBuilder
pub fn neutral_tint(self, tint: Rgb) -> ThemeBuilder
apply a neutral tint to the palette
sourcepub fn text_tint(self, tint: Rgb) -> ThemeBuilder
pub fn text_tint(self, tint: Rgb) -> ThemeBuilder
apply a text tint to the palette
sourcepub fn bg_color(self, c: Alpha<Rgb, f32>) -> ThemeBuilder
pub fn bg_color(self, c: Alpha<Rgb, f32>) -> ThemeBuilder
apply a background color to the palette
sourcepub fn primary_container_bg(self, c: Alpha<Rgb, f32>) -> ThemeBuilder
pub fn primary_container_bg(self, c: Alpha<Rgb, f32>) -> ThemeBuilder
apply a primary container background color to the palette
sourcepub fn accent(self, c: Rgb) -> ThemeBuilder
pub fn accent(self, c: Rgb) -> ThemeBuilder
apply a accent color to the palette
sourcepub fn success(self, c: Rgb) -> ThemeBuilder
pub fn success(self, c: Rgb) -> ThemeBuilder
apply a success color to the palette
sourcepub fn warning(self, c: Rgb) -> ThemeBuilder
pub fn warning(self, c: Rgb) -> ThemeBuilder
apply a warning color to the palette
sourcepub fn destructive(self, c: Rgb) -> ThemeBuilder
pub fn destructive(self, c: Rgb) -> ThemeBuilder
apply a destructive color to the palette
sourcepub fn dark_config() -> Result<Config, Error>
pub fn dark_config() -> Result<Config, Error>
Get the builder for the dark config
sourcepub fn light_config() -> Result<Config, Error>
pub fn light_config() -> Result<Config, Error>
Get the builder for the light config
Trait Implementations§
source§impl Clone for ThemeBuilder
impl Clone for ThemeBuilder
source§fn clone(&self) -> ThemeBuilder
fn clone(&self) -> ThemeBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl CosmicConfigEntry for ThemeBuilder
impl CosmicConfigEntry for ThemeBuilder
source§impl Debug for ThemeBuilder
impl Debug for ThemeBuilder
source§impl Default for ThemeBuilder
impl Default for ThemeBuilder
source§fn default() -> ThemeBuilder
fn default() -> ThemeBuilder
source§impl<'de> Deserialize<'de> for ThemeBuilder
impl<'de> Deserialize<'de> for ThemeBuilder
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ThemeBuilder, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ThemeBuilder, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for ThemeBuilder
impl PartialEq for ThemeBuilder
source§impl Serialize for ThemeBuilder
impl Serialize for ThemeBuilder
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ThemeBuilder
Auto Trait Implementations§
impl Freeze for ThemeBuilder
impl RefUnwindSafe for ThemeBuilder
impl Send for ThemeBuilder
impl Sync for ThemeBuilder
impl Unpin for ThemeBuilder
impl UnwindSafe for ThemeBuilder
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
source§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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
source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
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> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.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, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
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> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.source§impl<T> Pointable for T
impl<T> Pointable for T
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()
.source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more