Trait SettableProperty

pub trait SettableProperty<const I: u8>: NativeElement {
    type Type: Clone;

    const FIELD: SettablePropertyData<Self, I>;
    const FOLD: Option<fn(Self::Type, Self::Type) -> Self::Type> = _;

    // Provided methods
    fn default() -> Self::Type { ... }
    fn default_ref() -> &'static Self::Type { ... }
}
Expand description

A field that has a default value and can be configured via a set rule, but is never present on elements.

This is provided for all SettableField impls through a blanket impl. In the case of #[ghost] fields, which only live in the style chain and not in elements, it is also implemented manually.

Required Associated Constants§

const FIELD: SettablePropertyData<Self, I>

Provided Associated Constants§

const FOLD: Option<fn(Self::Type, Self::Type) -> Self::Type> = _

Required Associated Types§

type Type: Clone

Provided Methods§

fn default() -> Self::Type

Produces an instance of the property’s default value.

fn default_ref() -> &'static Self::Type

Produces a static reference to this property’s default value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl SettableProperty<4> for HtmlElem

Implementors§

§

impl SettableProperty<0> for DocumentElem

§

const FIELD: SettablePropertyData<DocumentElem, 0>

§

type Type = Option<Content>

§

impl SettableProperty<0> for ParLine

§

const FIELD: SettablePropertyData<ParLine, 0>

§

type Type = Option<Numbering>

§

impl SettableProperty<0> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 0>

§

type Type = FontList

§

impl SettableProperty<1> for DocumentElem

§

impl SettableProperty<1> for HideElem

§

const FIELD: SettablePropertyData<HideElem, 1>

§

type Type = bool

§

impl SettableProperty<1> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 1>

§

type Type = Smart<Length>

§

impl SettableProperty<1> for ParLine

§

const FIELD: SettablePropertyData<ParLine, 1>

§

type Type = Smart<HAlignment>

§

impl SettableProperty<1> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 1>

§

type Type = bool

§

impl SettableProperty<2> for DocumentElem

§

const FIELD: SettablePropertyData<DocumentElem, 2>

§

type Type = Option<Content>

§

impl SettableProperty<2> for LinkElem

§

const FIELD: SettablePropertyData<LinkElem, 2>

§

type Type = Option<Destination>

§

impl SettableProperty<2> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 2>

§

type Type = Smart<Length>

§

impl SettableProperty<2> for ParLine

§

const FIELD: SettablePropertyData<ParLine, 2>

§

type Type = OuterHAlignment

§

impl SettableProperty<2> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 2>

§

type Type = FontStyle

§

impl SettableProperty<3> for DocumentElem

§

impl SettableProperty<3> for OutlineEntry

§

const FIELD: SettablePropertyData<OutlineEntry, 3>

§

type Type = Option<Packed<OutlineElem>>

§

impl SettableProperty<3> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 3>

§

type Type = bool

§

impl SettableProperty<3> for ParLine

§

const FIELD: SettablePropertyData<ParLine, 3>

§

type Type = Smart<Length>

§

impl SettableProperty<3> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 3>

§

type Type = FontWeight

§

impl SettableProperty<4> for DocumentElem

§

const FIELD: SettablePropertyData<DocumentElem, 4>

§

type Type = Smart<Option<Datetime>>

§

impl SettableProperty<4> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 4>

§

type Type = Margin

§

impl SettableProperty<4> for ParLine

§

const FIELD: SettablePropertyData<ParLine, 4>

§

type Type = LineNumberingScope

§

impl SettableProperty<4> for QuoteElem

§

const FIELD: SettablePropertyData<QuoteElem, 4>

§

type Type = Depth

§

impl SettableProperty<4> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 4>

§

type Type = FontStretch

§

impl SettableProperty<5> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 5>

§

type Type = Smart<Binding>

§

impl SettableProperty<5> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 5>

§

type Type = TextSize

§

impl SettableProperty<6> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 6>

§

type Type = MathSize

§

impl SettableProperty<6> for ListElem

§

const FIELD: SettablePropertyData<ListElem, 6>

§

type Type = Depth

§

impl SettableProperty<6> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 6>

§

type Type = NonZero<usize>

§

impl SettableProperty<6> for TermsElem

§

const FIELD: SettablePropertyData<TermsElem, 6>

§

type Type = bool

§

impl SettableProperty<6> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 6>

§

type Type = Paint

§

impl SettableProperty<7> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 7>

§

type Type = Option<MathVariant>

§

impl SettableProperty<7> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 7>

§

type Type = Smart<Option<Paint>>

§

impl SettableProperty<7> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 7>

§

type Type = Option<Stroke>

§

impl SettableProperty<8> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 8>

§

type Type = bool

§

impl SettableProperty<8> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 8>

§

type Type = Option<Numbering>

§

impl SettableProperty<8> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 8>

§

type Type = Length

§

impl SettableProperty<9> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 9>

§

type Type = bool

§

impl SettableProperty<9> for PageElem

§

impl SettableProperty<9> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 9>

§

type Type = Rel

§

impl SettableProperty<10> for EnumElem

§

const FIELD: SettablePropertyData<EnumElem, 10>

§

type Type = SmallVec<[u64; 4]>

§

impl SettableProperty<10> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 10>

§

type Type = Option<bool>

§

impl SettableProperty<10> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 10>

§

type Type = SpecificAlignment<HAlignment, OuterVAlignment>

§

impl SettableProperty<10> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 10>

§

type Type = Smart<Option<Never>>

§

impl SettableProperty<11> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 11>

§

type Type = Option<MathClass>

§

impl SettableProperty<11> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 11>

§

type Type = Smart<Option<Content>>

§

impl SettableProperty<11> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 11>

§

type Type = Length

§

impl SettableProperty<12> for EquationElem

§

const FIELD: SettablePropertyData<EquationElem, 12>

§

type Type = (i16, i16)

§

impl SettableProperty<12> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 12>

§

type Type = Rel

§

impl SettableProperty<12> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 12>

§

type Type = bool

§

impl SettableProperty<13> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 13>

§

type Type = Smart<Option<Content>>

§

impl SettableProperty<13> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 13>

§

type Type = TopEdge

§

impl SettableProperty<14> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 14>

§

type Type = Rel

§

impl SettableProperty<14> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 14>

§

type Type = BottomEdge

§

impl SettableProperty<15> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 15>

§

type Type = Option<Content>

§

impl SettableProperty<15> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 15>

§

type Type = Lang

§

impl SettableProperty<16> for PageElem

§

const FIELD: SettablePropertyData<PageElem, 16>

§

type Type = Option<Content>

§

impl SettableProperty<16> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 16>

§

type Type = Option<Region>

§

impl SettableProperty<17> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 17>

§

type Type = Smart<WritingScript>

§

impl SettableProperty<18> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 18>

§

type Type = TextDir

§

impl SettableProperty<19> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 19>

§

type Type = Smart<bool>

§

impl SettableProperty<20> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 20>

§

type Type = Costs

§

impl SettableProperty<21> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 21>

§

type Type = bool

§

impl SettableProperty<22> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 22>

§

type Type = bool

§

impl SettableProperty<23> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 23>

§

type Type = StylisticSets

§

impl SettableProperty<24> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 24>

§

type Type = bool

§

impl SettableProperty<25> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 25>

§

type Type = bool

§

impl SettableProperty<26> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 26>

§

type Type = bool

§

impl SettableProperty<27> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 27>

§

type Type = Smart<NumberType>

§

impl SettableProperty<28> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 28>

§

type Type = Smart<NumberWidth>

§

impl SettableProperty<29> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 29>

§

type Type = bool

§

impl SettableProperty<30> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 30>

§

type Type = bool

§

impl SettableProperty<31> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 31>

§

type Type = FontFeatures

§

impl SettableProperty<34> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 34>

§

type Type = usize

§

impl SettableProperty<35> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 35>

§

type Type = WeightDelta

§

impl SettableProperty<36> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 36>

§

type Type = ItalicToggle

§

impl SettableProperty<37> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 37>

§

type Type = SmallVec<[Decoration; 1]>

§

impl SettableProperty<38> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 38>

§

type Type = Option<Case>

§

impl SettableProperty<39> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 39>

§

type Type = Option<Smallcaps>

§

impl SettableProperty<40> for TextElem

§

const FIELD: SettablePropertyData<TextElem, 40>

§

type Type = Option<ShiftSettings>

§

impl<T, const I: u8> SettableProperty<I> for T
where T: SettableField<I>,

§

const FIELD: SettablePropertyData<T, I>

§

type Type = <T as SettableField<I>>::Type