pub struct CancelElem {
pub body: Content,
/* private fields */
}
Expand description
Displays a diagonal line over a part of an equation.
This is commonly used to show the elimination of a term.
§Example
>>> #set page(width: 140pt)
Here, we can simplify:
$ (a dot b dot cancel(x)) /
cancel(x) $
Fields§
§body: Content
Implementations§
Source§impl CancelElem
impl CancelElem
Sourcepub fn with_length(self, length: Rel<Length>) -> Self
pub fn with_length(self, length: Rel<Length>) -> Self
Builder-style setter for the length
field.
Sourcepub fn with_inverted(self, inverted: bool) -> Self
pub fn with_inverted(self, inverted: bool) -> Self
Builder-style setter for the inverted
field.
Sourcepub fn with_cross(self, cross: bool) -> Self
pub fn with_cross(self, cross: bool) -> Self
Builder-style setter for the cross
field.
Sourcepub fn with_angle(self, angle: Smart<CancelAngle>) -> Self
pub fn with_angle(self, angle: Smart<CancelAngle>) -> Self
Builder-style setter for the angle
field.
Sourcepub fn with_stroke(self, stroke: Stroke) -> Self
pub fn with_stroke(self, stroke: Stroke) -> Self
Builder-style setter for the stroke
field.
Sourcepub fn push_length(&mut self, length: Rel<Length>)
pub fn push_length(&mut self, length: Rel<Length>)
Setter for the length
field.
Sourcepub fn push_inverted(&mut self, inverted: bool)
pub fn push_inverted(&mut self, inverted: bool)
Setter for the inverted
field.
Sourcepub fn push_cross(&mut self, cross: bool)
pub fn push_cross(&mut self, cross: bool)
Setter for the cross
field.
Sourcepub fn push_angle(&mut self, angle: Smart<CancelAngle>)
pub fn push_angle(&mut self, angle: Smart<CancelAngle>)
Setter for the angle
field.
Sourcepub fn push_stroke(&mut self, stroke: Stroke)
pub fn push_stroke(&mut self, stroke: Stroke)
Setter for the stroke
field.
Sourcepub fn length(&self, styles: StyleChain<'_>) -> <Rel<Length> as Resolve>::Output
pub fn length(&self, styles: StyleChain<'_>) -> <Rel<Length> as Resolve>::Output
The length of the line, relative to the length of the diagonal spanning
the whole element being “cancelled”. A value of {100%}
would then have
the line span precisely the element’s diagonal.
>>> #set page(width: 140pt)
$ a + cancel(x, length: #200%)
- cancel(x, length: #200%) $
Sourcepub fn inverted(&self, styles: StyleChain<'_>) -> bool
pub fn inverted(&self, styles: StyleChain<'_>) -> bool
Whether the cancel line should be inverted (flipped along the y-axis). For the default angle setting, inverted means the cancel line points to the top left instead of top right.
>>> #set page(width: 140pt)
$ (a cancel((b + c), inverted: #true)) /
cancel(b + c, inverted: #true) $
Sourcepub fn cross(&self, styles: StyleChain<'_>) -> bool
pub fn cross(&self, styles: StyleChain<'_>) -> bool
Whether two opposing cancel lines should be drawn, forming a cross over
the element. Overrides inverted
.
>>> #set page(width: 140pt)
$ cancel(Pi, cross: #true) $
Sourcepub fn angle(&self, styles: StyleChain<'_>) -> Smart<CancelAngle>
pub fn angle(&self, styles: StyleChain<'_>) -> Smart<CancelAngle>
How much to rotate the cancel line.
- If given an angle, the line is rotated by that angle clockwise with respect to the y-axis.
- If
{auto}
, the line assumes the default angle; that is, along the rising diagonal of the content box. - If given a function
angle => angle
, the line is rotated, with respect to the y-axis, by the angle returned by that function. The function receives the default angle as its input.
>>> #set page(width: 140pt)
$ cancel(Pi)
cancel(Pi, angle: #0deg)
cancel(Pi, angle: #45deg)
cancel(Pi, angle: #90deg)
cancel(1/(1+x), angle: #(a => a + 45deg))
cancel(1/(1+x), angle: #(a => a + 90deg)) $
Sourcepub fn stroke(&self, styles: StyleChain<'_>) -> <Stroke as Resolve>::Output
pub fn stroke(&self, styles: StyleChain<'_>) -> <Stroke as Resolve>::Output
How to stroke the cancel line.
>>> #set page(width: 140pt)
$ cancel(
sum x,
stroke: #(
paint: red,
thickness: 1.5pt,
dash: "dashed",
),
) $
Sourcepub fn length_in(styles: StyleChain<'_>) -> <Rel<Length> as Resolve>::Output
pub fn length_in(styles: StyleChain<'_>) -> <Rel<Length> as Resolve>::Output
Access the length
field in the given style chain.
Sourcepub fn inverted_in(styles: StyleChain<'_>) -> bool
pub fn inverted_in(styles: StyleChain<'_>) -> bool
Access the inverted
field in the given style chain.
Sourcepub fn cross_in(styles: StyleChain<'_>) -> bool
pub fn cross_in(styles: StyleChain<'_>) -> bool
Access the cross
field in the given style chain.
Sourcepub fn angle_in(styles: StyleChain<'_>) -> Smart<CancelAngle>
pub fn angle_in(styles: StyleChain<'_>) -> Smart<CancelAngle>
Access the angle
field in the given style chain.
Sourcepub fn stroke_in(styles: StyleChain<'_>) -> <Stroke as Resolve>::Output
pub fn stroke_in(styles: StyleChain<'_>) -> <Stroke as Resolve>::Output
Access the stroke
field in the given style chain.
Sourcepub fn set_length(length: Rel<Length>) -> Property
pub fn set_length(length: Rel<Length>) -> Property
Create a style property for the length
field.
Sourcepub fn set_inverted(inverted: bool) -> Property
pub fn set_inverted(inverted: bool) -> Property
Create a style property for the inverted
field.
Sourcepub fn set_angle(angle: Smart<CancelAngle>) -> Property
pub fn set_angle(angle: Smart<CancelAngle>) -> Property
Create a style property for the angle
field.
Sourcepub fn set_stroke(stroke: Stroke) -> Property
pub fn set_stroke(stroke: Stroke) -> Property
Create a style property for the stroke
field.
Trait Implementations§
Source§impl Capable for CancelElem
impl Capable for CancelElem
Source§impl Clone for CancelElem
impl Clone for CancelElem
Source§fn clone(&self) -> CancelElem
fn clone(&self) -> CancelElem
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Construct for CancelElem
impl Construct for CancelElem
Source§impl Debug for CancelElem
impl Debug for CancelElem
Source§impl Fields for CancelElem
impl Fields for CancelElem
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 Hash for CancelElem
impl Hash for CancelElem
Source§impl IntoValue for CancelElem
impl IntoValue for CancelElem
Source§fn into_value(self) -> Value
fn into_value(self) -> Value
Source§impl NativeElement for CancelElem
impl NativeElement for CancelElem
Source§impl PartialEq for CancelElem
impl PartialEq for CancelElem
Source§impl Repr for CancelElem
impl Repr for CancelElem
Auto Trait Implementations§
impl Freeze for CancelElem
impl !RefUnwindSafe for CancelElem
impl Send for CancelElem
impl Sync for CancelElem
impl Unpin for CancelElem
impl !UnwindSafe for CancelElem
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