pub struct BoxElem { /* private fields */ }
Expand description
An inline-level container that sizes content.
All elements except inline math, text, and boxes are block-level and cannot occur inside of a paragraph. The box function can be used to integrate such elements into a paragraph. Boxes take the size of their contents by default but can also be sized explicitly.
§Example
Refer to the docs
#box(
height: 9pt,
image("docs.svg")
)
for more information.
Implementations§
Source§impl BoxElem
impl BoxElem
Sourcepub fn with_width(self, width: Sizing) -> Self
pub fn with_width(self, width: Sizing) -> Self
Builder-style setter for the width
field.
Sourcepub fn with_height(self, height: Smart<Rel<Length>>) -> Self
pub fn with_height(self, height: Smart<Rel<Length>>) -> Self
Builder-style setter for the height
field.
Sourcepub fn with_baseline(self, baseline: Rel<Length>) -> Self
pub fn with_baseline(self, baseline: Rel<Length>) -> Self
Builder-style setter for the baseline
field.
Sourcepub fn with_stroke(self, stroke: Sides<Option<Option<Stroke>>>) -> Self
pub fn with_stroke(self, stroke: Sides<Option<Option<Stroke>>>) -> Self
Builder-style setter for the stroke
field.
Sourcepub fn with_radius(self, radius: Corners<Option<Rel<Length>>>) -> Self
pub fn with_radius(self, radius: Corners<Option<Rel<Length>>>) -> Self
Builder-style setter for the radius
field.
Sourcepub fn with_inset(self, inset: Sides<Option<Rel<Length>>>) -> Self
pub fn with_inset(self, inset: Sides<Option<Rel<Length>>>) -> Self
Builder-style setter for the inset
field.
Sourcepub fn with_outset(self, outset: Sides<Option<Rel<Length>>>) -> Self
pub fn with_outset(self, outset: Sides<Option<Rel<Length>>>) -> Self
Builder-style setter for the outset
field.
Sourcepub fn push_width(&mut self, width: Sizing)
pub fn push_width(&mut self, width: Sizing)
Setter for the width
field.
Sourcepub fn push_baseline(&mut self, baseline: Rel<Length>)
pub fn push_baseline(&mut self, baseline: Rel<Length>)
Setter for the baseline
field.
Sourcepub fn push_stroke(&mut self, stroke: Sides<Option<Option<Stroke>>>)
pub fn push_stroke(&mut self, stroke: Sides<Option<Option<Stroke>>>)
Setter for the stroke
field.
Sourcepub fn push_radius(&mut self, radius: Corners<Option<Rel<Length>>>)
pub fn push_radius(&mut self, radius: Corners<Option<Rel<Length>>>)
Setter for the radius
field.
Sourcepub fn width(&self, styles: StyleChain<'_>) -> Sizing
pub fn width(&self, styles: StyleChain<'_>) -> Sizing
The width of the box.
Boxes can have fractional widths, as the example below demonstrates.
Note: Currently, only boxes and only their widths might be fractionally sized within paragraphs. Support for fractionally sized images, shapes, and more might be added in the future.
Line in #box(width: 1fr, line(length: 100%)) between.
Sourcepub fn baseline(
&self,
styles: StyleChain<'_>,
) -> <Rel<Length> as Resolve>::Output
pub fn baseline( &self, styles: StyleChain<'_>, ) -> <Rel<Length> as Resolve>::Output
An amount to shift the box’s baseline by.
Image: #box(baseline: 40%, image("tiger.jpg", width: 2cm)).
Sourcepub fn fill(&self, styles: StyleChain<'_>) -> Option<Paint>
pub fn fill(&self, styles: StyleChain<'_>) -> Option<Paint>
The box’s background color. See the rectangle’s documentation for more details.
Sourcepub fn stroke(
&self,
styles: StyleChain<'_>,
) -> <Sides<Option<Option<Stroke>>> as Resolve>::Output
pub fn stroke( &self, styles: StyleChain<'_>, ) -> <Sides<Option<Option<Stroke>>> as Resolve>::Output
The box’s border color. See the rectangle’s documentation for more details.
Sourcepub fn radius(
&self,
styles: StyleChain<'_>,
) -> <Corners<Option<Rel<Length>>> as Resolve>::Output
pub fn radius( &self, styles: StyleChain<'_>, ) -> <Corners<Option<Rel<Length>>> as Resolve>::Output
How much to round the box’s corners. See the rectangle’s documentation for more details.
Sourcepub fn inset(
&self,
styles: StyleChain<'_>,
) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
pub fn inset( &self, styles: StyleChain<'_>, ) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
How much to pad the box’s content.
Note: When the box contains text, its exact size depends on the current text edges.
#rect(inset: 0pt)[Tight]
Sourcepub fn outset(
&self,
styles: StyleChain<'_>,
) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
pub fn outset( &self, styles: StyleChain<'_>, ) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
How much to expand the box’s size without affecting the layout.
This is useful to prevent padding from affecting line layout. For a generalized version of the example below, see the documentation for the raw text’s block parameter.
An inline
#box(
fill: luma(235),
inset: (x: 3pt, y: 0pt),
outset: (y: 3pt),
radius: 2pt,
)[rectangle].
Sourcepub fn clip(&self, styles: StyleChain<'_>) -> bool
pub fn clip(&self, styles: StyleChain<'_>) -> bool
Whether to clip the content inside the box.
Clipping is useful when the box’s content is larger than the box itself, as any content that exceeds the box’s bounds will be hidden.
#box(
width: 50pt,
height: 50pt,
clip: true,
image("tiger.jpg", width: 100pt, height: 100pt)
)
Sourcepub fn body<'a>(&'a self, styles: StyleChain<'a>) -> &'a Option<Content>
pub fn body<'a>(&'a self, styles: StyleChain<'a>) -> &'a Option<Content>
The contents of the box.
Sourcepub fn width_in(styles: StyleChain<'_>) -> Sizing
pub fn width_in(styles: StyleChain<'_>) -> Sizing
Access the width
field in the given style chain.
Sourcepub fn height_in(styles: StyleChain<'_>) -> Smart<Rel<Length>>
pub fn height_in(styles: StyleChain<'_>) -> Smart<Rel<Length>>
Access the height
field in the given style chain.
Sourcepub fn baseline_in(styles: StyleChain<'_>) -> <Rel<Length> as Resolve>::Output
pub fn baseline_in(styles: StyleChain<'_>) -> <Rel<Length> as Resolve>::Output
Access the baseline
field in the given style chain.
Sourcepub fn fill_in(styles: StyleChain<'_>) -> Option<Paint>
pub fn fill_in(styles: StyleChain<'_>) -> Option<Paint>
Access the fill
field in the given style chain.
Sourcepub fn stroke_in(
styles: StyleChain<'_>,
) -> <Sides<Option<Option<Stroke>>> as Resolve>::Output
pub fn stroke_in( styles: StyleChain<'_>, ) -> <Sides<Option<Option<Stroke>>> as Resolve>::Output
Access the stroke
field in the given style chain.
Sourcepub fn radius_in(
styles: StyleChain<'_>,
) -> <Corners<Option<Rel<Length>>> as Resolve>::Output
pub fn radius_in( styles: StyleChain<'_>, ) -> <Corners<Option<Rel<Length>>> as Resolve>::Output
Access the radius
field in the given style chain.
Sourcepub fn inset_in(
styles: StyleChain<'_>,
) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
pub fn inset_in( styles: StyleChain<'_>, ) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
Access the inset
field in the given style chain.
Sourcepub fn outset_in(
styles: StyleChain<'_>,
) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
pub fn outset_in( styles: StyleChain<'_>, ) -> <Sides<Option<Rel<Length>>> as Resolve>::Output
Access the outset
field in the given style chain.
Sourcepub fn clip_in(styles: StyleChain<'_>) -> bool
pub fn clip_in(styles: StyleChain<'_>) -> bool
Access the clip
field in the given style chain.
Sourcepub fn body_in(styles: StyleChain<'_>) -> &Option<Content>
pub fn body_in(styles: StyleChain<'_>) -> &Option<Content>
Access the body
field in the given style chain.
Sourcepub fn set_height(height: Smart<Rel<Length>>) -> Property
pub fn set_height(height: Smart<Rel<Length>>) -> Property
Create a style property for the height
field.
Sourcepub fn set_baseline(baseline: Rel<Length>) -> Property
pub fn set_baseline(baseline: Rel<Length>) -> Property
Create a style property for the baseline
field.
Sourcepub fn set_stroke(stroke: Sides<Option<Option<Stroke>>>) -> Property
pub fn set_stroke(stroke: Sides<Option<Option<Stroke>>>) -> Property
Create a style property for the stroke
field.
Sourcepub fn set_radius(radius: Corners<Option<Rel<Length>>>) -> Property
pub fn set_radius(radius: Corners<Option<Rel<Length>>>) -> Property
Create a style property for the radius
field.
Sourcepub fn set_inset(inset: Sides<Option<Rel<Length>>>) -> Property
pub fn set_inset(inset: Sides<Option<Rel<Length>>>) -> Property
Create a style property for the inset
field.
Trait Implementations§
Source§impl Fields for BoxElem
impl Fields for BoxElem
Source§fn field(&self, id: u8) -> Result<Value, FieldAccessError>
fn field(&self, id: u8) -> Result<Value, FieldAccessError>
Source§fn field_with_styles(
&self,
id: u8,
styles: StyleChain<'_>,
) -> Result<Value, FieldAccessError>
fn field_with_styles( &self, id: u8, styles: StyleChain<'_>, ) -> Result<Value, FieldAccessError>
Source§fn field_from_styles(
id: u8,
styles: StyleChain<'_>,
) -> Result<Value, FieldAccessError>
fn field_from_styles( id: u8, styles: StyleChain<'_>, ) -> Result<Value, FieldAccessError>
Source§fn materialize(&mut self, styles: StyleChain<'_>)
fn materialize(&mut self, styles: StyleChain<'_>)
Source§impl NativeElement for BoxElem
impl NativeElement for BoxElem
Auto Trait Implementations§
impl Freeze for BoxElem
impl !RefUnwindSafe for BoxElem
impl Send for BoxElem
impl Sync for BoxElem
impl Unpin for BoxElem
impl !UnwindSafe for BoxElem
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> 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, 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> IntoResult for Twhere
T: IntoValue,
impl<T> IntoResult for Twhere
T: IntoValue,
Source§fn into_result(self, _: Span) -> Result<Value, EcoVec<SourceDiagnostic>>
fn into_result(self, _: Span) -> Result<Value, EcoVec<SourceDiagnostic>>
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> 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