pub struct Routines {Show 28 fields
pub eval_string: fn(routines: &Routines, world: Tracked<'_, dyn World + '_>, string: &str, span: Span, mode: EvalMode, scope: Scope) -> SourceResult<Value>,
pub eval_closure: fn(func: &Func, closure: &LazyHash<Closure>, routines: &Routines, world: Tracked<'_, dyn World + '_>, introspector: Tracked<'_, Introspector>, traced: Tracked<'_, Traced>, sink: TrackedMut<'_, Sink>, route: Tracked<'_, Route<'_>>, context: Tracked<'_, Context<'_>>, args: Args) -> SourceResult<Value>,
pub realize: for<'a> fn(kind: RealizationKind<'_>, engine: &mut Engine<'_>, locator: &mut SplitLocator<'_>, arenas: &'a Arenas, content: &'a Content, styles: StyleChain<'a>) -> SourceResult<Vec<Pair<'a>>>,
pub layout_fragment: fn(engine: &mut Engine<'_>, content: &Content, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_frame: fn(engine: &mut Engine<'_>, content: &Content, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_list: fn(elem: &Packed<ListElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_enum: fn(elem: &Packed<EnumElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_grid: fn(elem: &Packed<GridElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_table: fn(elem: &Packed<TableElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_stack: fn(elem: &Packed<StackElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_columns: fn(elem: &Packed<ColumnsElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_move: fn(elem: &Packed<MoveElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_rotate: fn(elem: &Packed<RotateElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_scale: fn(elem: &Packed<ScaleElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_skew: fn(elem: &Packed<SkewElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_repeat: fn(elem: &Packed<RepeatElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_pad: fn(elem: &Packed<PadElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
pub layout_line: fn(elem: &Packed<LineElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_curve: fn(elem: &Packed<CurveElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_path: fn(elem: &Packed<PathElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_polygon: fn(elem: &Packed<PolygonElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_rect: fn(elem: &Packed<RectElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_square: fn(elem: &Packed<SquareElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_ellipse: fn(elem: &Packed<EllipseElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_circle: fn(elem: &Packed<CircleElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_image: fn(elem: &Packed<ImageElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>,
pub layout_equation_inline: fn(elem: &Packed<EquationElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Size) -> SourceResult<Vec<InlineItem>>,
pub layout_equation_block: fn(elem: &Packed<EquationElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>,
}
Expand description
Defines implementation of various Typst compiler routines as a table of function pointers.
This is essentially dynamic linking and done to allow for crate splitting.
Fields§
§eval_string: fn(routines: &Routines, world: Tracked<'_, dyn World + '_>, string: &str, span: Span, mode: EvalMode, scope: Scope) -> SourceResult<Value>
Evaluates a string as code and return the resulting value.
eval_closure: fn(func: &Func, closure: &LazyHash<Closure>, routines: &Routines, world: Tracked<'_, dyn World + '_>, introspector: Tracked<'_, Introspector>, traced: Tracked<'_, Traced>, sink: TrackedMut<'_, Sink>, route: Tracked<'_, Route<'_>>, context: Tracked<'_, Context<'_>>, args: Args) -> SourceResult<Value>
Call the closure in the context with the arguments.
realize: for<'a> fn(kind: RealizationKind<'_>, engine: &mut Engine<'_>, locator: &mut SplitLocator<'_>, arenas: &'a Arenas, content: &'a Content, styles: StyleChain<'a>) -> SourceResult<Vec<Pair<'a>>>
Realizes content into a flat list of well-known, styled items.
layout_fragment: fn(engine: &mut Engine<'_>, content: &Content, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out content into multiple regions.
layout_frame: fn(engine: &mut Engine<'_>, content: &Content, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out content into a single region, producing a single frame.
layout_list: fn(elem: &Packed<ListElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out a ListElem
.
layout_enum: fn(elem: &Packed<EnumElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out an EnumElem
.
layout_grid: fn(elem: &Packed<GridElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out a GridElem
.
layout_table: fn(elem: &Packed<TableElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out a TableElem
.
layout_stack: fn(elem: &Packed<StackElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out a StackElem
.
layout_columns: fn(elem: &Packed<ColumnsElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out a ColumnsElem
.
layout_move: fn(elem: &Packed<MoveElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a MoveElem
.
layout_rotate: fn(elem: &Packed<RotateElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a RotateElem
.
layout_scale: fn(elem: &Packed<ScaleElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a ScaleElem
.
layout_skew: fn(elem: &Packed<SkewElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a SkewElem
.
layout_repeat: fn(elem: &Packed<RepeatElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a RepeatElem
.
layout_pad: fn(elem: &Packed<PadElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out a PadElem
.
layout_line: fn(elem: &Packed<LineElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a LineElem
.
layout_curve: fn(elem: &Packed<CurveElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a CurveElem
.
layout_path: fn(elem: &Packed<PathElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a PathElem
.
layout_polygon: fn(elem: &Packed<PolygonElem>, _: &mut Engine<'_>, _: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a PolygonElem
.
layout_rect: fn(elem: &Packed<RectElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a RectElem
.
layout_square: fn(elem: &Packed<SquareElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a SquareElem
.
layout_ellipse: fn(elem: &Packed<EllipseElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a EllipseElem
.
layout_circle: fn(elem: &Packed<CircleElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out a CircleElem
.
layout_image: fn(elem: &Packed<ImageElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Region) -> SourceResult<Frame>
Lays out an ImageElem
.
layout_equation_inline: fn(elem: &Packed<EquationElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, region: Size) -> SourceResult<Vec<InlineItem>>
Lays out an EquationElem
in a paragraph.
layout_equation_block: fn(elem: &Packed<EquationElem>, engine: &mut Engine<'_>, locator: Locator<'_>, styles: StyleChain<'_>, regions: Regions<'_>) -> SourceResult<Fragment>
Lays out an EquationElem
in a flow.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Routines
impl RefUnwindSafe for Routines
impl Send for Routines
impl Sync for Routines
impl Unpin for Routines
impl UnwindSafe for Routines
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, 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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
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, 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> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
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