pub struct RectElem { /* private fields */ }
Expand description
A rectangle with optional content.
§Example
// Without content.
#rect(width: 35%, height: 30pt)
// With content.
#rect[
Automatically sized \
to fit the content.
]
Implementations§
Source§impl RectElem
impl RectElem
Sourcepub fn with_width(self, width: Smart<Rel<Length>>) -> Self
pub fn with_width(self, width: Smart<Rel<Length>>) -> Self
Builder-style setter for the width
field.
Sourcepub fn with_height(self, height: Sizing) -> Self
pub fn with_height(self, height: Sizing) -> Self
Builder-style setter for the height
field.
Sourcepub fn with_stroke(self, stroke: Smart<Sides<Option<Option<Stroke>>>>) -> Self
pub fn with_stroke(self, stroke: Smart<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_height(&mut self, height: Sizing)
pub fn push_height(&mut self, height: Sizing)
Setter for the height
field.
Sourcepub fn push_stroke(&mut self, stroke: Smart<Sides<Option<Option<Stroke>>>>)
pub fn push_stroke(&mut self, stroke: Smart<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<'_>) -> Smart<Rel<Length>>
pub fn width(&self, styles: StyleChain<'_>) -> Smart<Rel<Length>>
The rectangle’s width, relative to its parent container.
Sourcepub fn height(&self, styles: StyleChain<'_>) -> Sizing
pub fn height(&self, styles: StyleChain<'_>) -> Sizing
The rectangle’s height, relative to its parent container.
Sourcepub fn fill(&self, styles: StyleChain<'_>) -> Option<Paint>
pub fn fill(&self, styles: StyleChain<'_>) -> Option<Paint>
How to fill the rectangle.
When setting a fill, the default stroke disappears. To create a rectangle with both fill and stroke, you have to configure both.
#rect(fill: blue)
Sourcepub fn stroke(
&self,
styles: StyleChain<'_>,
) -> <Smart<Sides<Option<Option<Stroke>>>> as Resolve>::Output
pub fn stroke( &self, styles: StyleChain<'_>, ) -> <Smart<Sides<Option<Option<Stroke>>>> as Resolve>::Output
How to stroke the rectangle. This can be:
{none}
to disable stroking{auto}
for a stroke of{1pt + black}
if and if only if no fill is given.- Any kind of [stroke]
- A dictionary describing the stroke for each side individually. The
dictionary can contain the following keys in order of precedence:
top
: The top stroke.right
: The right stroke.bottom
: The bottom stroke.left
: The left stroke.x
: The horizontal stroke.y
: The vertical stroke.rest
: The stroke on all sides except those for which the dictionary explicitly sets a size.
#stack(
dir: ltr,
spacing: 1fr,
rect(stroke: red),
rect(stroke: 2pt),
rect(stroke: 2pt + red),
)
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 rectangle’s corners, relative to the minimum of the width and height divided by two. This can be:
- A relative length for a uniform corner radius.
- A dictionary: With a dictionary, the stroke for each side can be set
individually. The dictionary can contain the following keys in order
of precedence:
top-left
: The top-left corner radius.top-right
: The top-right corner radius.bottom-right
: The bottom-right corner radius.bottom-left
: The bottom-left corner radius.left
: The top-left and bottom-left corner radii.top
: The top-left and top-right corner radii.right
: The top-right and bottom-right corner radii.bottom
: The bottom-left and bottom-right corner radii.rest
: The radii for all corners except those for which the dictionary explicitly sets a size.
#set rect(stroke: 4pt)
#rect(
radius: (
left: 5pt,
top-right: 20pt,
bottom-right: 10pt,
),
stroke: (
left: red,
top: yellow,
right: green,
bottom: blue,
),
)
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 rectangle’s content. See the box’s documentation for more details.
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 rectangle’s size without affecting the layout. See the box’s documentation for more details.
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 content to place into the rectangle.
When this is omitted, the rectangle takes on a default size of at most
{45pt}
by {30pt}
.
Sourcepub fn width_in(styles: StyleChain<'_>) -> Smart<Rel<Length>>
pub fn width_in(styles: StyleChain<'_>) -> Smart<Rel<Length>>
Access the width
field in the given style chain.
Sourcepub fn height_in(styles: StyleChain<'_>) -> Sizing
pub fn height_in(styles: StyleChain<'_>) -> Sizing
Access the height
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<'_>,
) -> <Smart<Sides<Option<Option<Stroke>>>> as Resolve>::Output
pub fn stroke_in( styles: StyleChain<'_>, ) -> <Smart<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 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_width(width: Smart<Rel<Length>>) -> Property
pub fn set_width(width: Smart<Rel<Length>>) -> Property
Create a style property for the width
field.
Sourcepub fn set_height(height: Sizing) -> Property
pub fn set_height(height: Sizing) -> Property
Create a style property for the height
field.
Sourcepub fn set_stroke(stroke: Smart<Sides<Option<Option<Stroke>>>>) -> Property
pub fn set_stroke(stroke: Smart<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 RectElem
impl Fields for RectElem
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 RectElem
impl NativeElement for RectElem
Auto Trait Implementations§
impl Freeze for RectElem
impl !RefUnwindSafe for RectElem
impl Send for RectElem
impl Sync for RectElem
impl Unpin for RectElem
impl !UnwindSafe for RectElem
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