tinymist_std::typst::foundations

Trait Resolve

pub trait Resolve {
    type Output;

    // Required method
    fn resolve(self, styles: StyleChain<'_>) -> Self::Output;
}
Expand description

A property that is resolved with other properties from the style chain.

Required Associated Types§

type Output

The type of the resolved output.

Required Methods§

fn resolve(self, styles: StyleChain<'_>) -> Self::Output

Resolve the value using the style chain.

Implementations on Foreign Types§

§

impl<T> Resolve for Option<T>
where T: Resolve,

§

type Output = Option<<T as Resolve>::Output>

§

fn resolve(self, styles: StyleChain<'_>) -> <Option<T> as Resolve>::Output

§

impl<T> Resolve for Arc<T>
where T: Clone + Resolve,

§

type Output = Arc<<T as Resolve>::Output>

§

fn resolve(self, styles: StyleChain<'_>) -> <Arc<T> as Resolve>::Output

Implementors§

§

impl Resolve for Alignment

§

type Output = Axes<FixedAlignment>

§

impl Resolve for Augment

§

type Output = Augment<Abs>

§

impl Resolve for DashLength

§

type Output = DashLength<Abs>

§

impl Resolve for DashPattern

§

type Output = DashPattern<Abs>

§

impl Resolve for Em

§

type Output = Abs

§

impl Resolve for HAlignment

§

type Output = FixedAlignment

§

impl Resolve for Length

§

type Output = Abs

§

impl Resolve for OuterHAlignment

§

type Output = FixedAlignment

§

impl Resolve for Stroke

§

type Output = Stroke<Abs>

§

impl Resolve for TextDir

§

type Output = Dir

§

impl Resolve for TextSize

§

type Output = Abs

§

impl Resolve for VAlignment

§

type Output = FixedAlignment

§

impl<H, V> Resolve for SpecificAlignment<H, V>
where H: Default + Copy + FixAlignment, V: Default + Copy + FixAlignment,

§

type Output = Axes<FixedAlignment>

§

impl<T> Resolve for Smart<T>
where T: Resolve,

§

type Output = Smart<<T as Resolve>::Output>

§

impl<T> Resolve for Axes<T>
where T: Resolve,

§

type Output = Axes<<T as Resolve>::Output>

§

impl<T> Resolve for Celled<T>
where T: Resolve,

§

type Output = ResolvedCelled<T>

§

impl<T> Resolve for Corners<T>
where T: Resolve,

§

type Output = Corners<<T as Resolve>::Output>

§

impl<T> Resolve for Rel<T>
where T: Resolve + Numeric, <T as Resolve>::Output: Numeric,

§

type Output = Rel<<T as Resolve>::Output>

§

impl<T> Resolve for Sides<T>
where T: Resolve,

§

type Output = Sides<<T as Resolve>::Output>