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: CosmicPaletteoverride the palette for the builder
spacing: Spacingoverride spacing for the builder
corner_radii: CornerRadiioverride 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: boolenabled blurred transparency
gaps: (u32, u32)cosmic-comp window gaps size (outer, inner)
active_hint: u32cosmic-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§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> 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, 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