Skip to main content

ThemeVariant

Struct ThemeVariant 

Source
pub struct ThemeVariant(/* private fields */);
Expand description

Specifies a UI theme variant that should be used for the control and application types.

Theme variants are compared by their key.

Implementations§

Source§

impl ThemeVariant

Source

pub fn new( key: impl Into<ResourceKey>, inherit_variant: Option<ThemeVariant>, ) -> Self

Creates a theme variant.

key is the key of the custom theme variant. inherit_variant is the variant that this variant inherits from: if set, a resource that is missing from the theme dictionary of the current variant is looked up in the dictionary of the inherited one. Inheriting the default variant is not supported.

Source

pub fn default() -> ThemeVariant

Use the default theme variant: inherit the variant from the parent, and at the root use the variant of the platform.

Source

pub fn light() -> ThemeVariant

Use the Light theme variant.

Source

pub fn dark() -> ThemeVariant

Use the Dark theme variant.

Source

pub fn actual_theme_variant_property() -> &'static StyledProperty<Option<ThemeVariant>>

Defines the ActualThemeVariant property: the theme variant in effect for an element, inherited down the tree. It is None until a root or an element with a requested variant sets it.

Source

pub fn requested_theme_variant_property() -> &'static StyledProperty<Option<ThemeVariant>>

Defines the RequestedThemeVariant property: the theme variant requested for an element and its descendants.

Source

pub fn key(&self) -> &ResourceKey

Key of the theme variant by which variants are compared.

Source

pub fn inherit_variant(&self) -> Option<ThemeVariant>

The theme variant that this variant inherits from.

Source

pub fn update_actual_theme_variant(target: &FerroObject)

Updates the actual theme variant of target from its requested theme variant: a requested variant other than the default becomes the actual one, otherwise the actual variant is inherited.

Source

pub fn register_theme_variant_root_type(type_: &'static TypeInfo)

Declares that the objects of a class that is not a styled element (the application class) are roots of theme variant resolution. Styled elements say so through the is_theme_variant_root virtual. (Upstream: the IThemeVariantRoot interface.)

Source

pub fn to_platform_theme_variant( theme_variant: Option<&ThemeVariant>, ) -> Option<PlatformThemeVariant>

The platform theme variant of a theme variant (the original’s explicit conversion to a nullable platform theme variant): the light and the dark variant convert to their counterparts, another variant converts as the variant it inherits from, and a variant that inherits from neither, or no variant, converts to nothing.

Trait Implementations§

Source§

impl Clone for ThemeVariant

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ThemeVariant

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ThemeVariant

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for ThemeVariant

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ThemeVariant

Source§

impl From<PlatformThemeVariant> for ThemeVariant

The original’s explicit conversion from a platform theme variant.

Source§

fn from(theme_variant: PlatformThemeVariant) -> Self

Converts to this type from the input type.
Source§

impl FromStr for ThemeVariant

Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Converts the name of a built in theme variant.

Source§

type Err = ThemeVariantParseError

The associated error which can be returned from parsing.
Source§

impl Hash for ThemeVariant

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl MarkupTyped for ThemeVariant

Source§

const MARKUP: &'static MarkupType

The markup metadata of the type.
Source§

impl PartialEq for ThemeVariant

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyValue for T
where T: PartialEq + 'static,

Source§

fn any_value_as_any(&self) -> &(dyn Any + 'static)

Source§

fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool

Source§

fn any_value_type_name(&self) -> &'static str

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PropertyValue for T
where T: Clone + PartialEq + 'static,

Source§

impl<T> ResourceKeyObject for T
where T: Eq + Hash + 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn dyn_eq(&self, other: &(dyn ResourceKeyObject + 'static)) -> bool

Source§

fn dyn_hash(&self, state: &mut dyn Hasher)

Source§

fn key_type_name(&self) -> &'static str

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.