pub struct GridCell {
pub body: Content,
/* private fields */
}
Expand description
A cell in the grid. You can use this function in the argument list of a grid to override grid style properties for an individual cell or manually positioning it within the grid. You can also use this function in show rules to apply certain styles to multiple cells at once.
For example, you can override the position and stroke for a single cell:
>>> #set page(width: auto)
>>> #set text(15pt, font: "Noto Sans Symbols 2", bottom-edge: -.2em)
<<< #set text(15pt, font: "Noto Sans Symbols 2")
#show regex("[♚-♟︎]"): set text(fill: rgb("21212A"))
#show regex("[♔-♙]"): set text(fill: rgb("111015"))
#grid(
fill: (x, y) => rgb(
if calc.odd(x + y) { "7F8396" }
else { "EFF0F3" }
),
columns: (1em,) * 8,
rows: 1em,
align: center + horizon,
[♖], [♘], [♗], [♕], [♔], [♗], [♘], [♖],
[♙], [♙], [♙], [♙], [], [♙], [♙], [♙],
grid.cell(
x: 4, y: 3,
stroke: blue.transparentize(60%)
)[♙],
..(grid.cell(y: 6)[♟],) * 8,
..([♜], [♞], [♝], [♛], [♚], [♝], [♞], [♜])
.map(grid.cell.with(y: 7)),
)
You may also apply a show rule on grid.cell
to style all cells at once,
which allows you, for example, to apply styles based on a cell’s position.
Refer to the examples of the table.cell
element to learn
more about this.
Fields§
§body: Content
Implementations§
Source§impl GridCell
impl GridCell
Sourcepub fn with_colspan(self, colspan: NonZeroUsize) -> Self
pub fn with_colspan(self, colspan: NonZeroUsize) -> Self
Builder-style setter for the colspan
field.
Sourcepub fn with_rowspan(self, rowspan: NonZeroUsize) -> Self
pub fn with_rowspan(self, rowspan: NonZeroUsize) -> Self
Builder-style setter for the rowspan
field.
Sourcepub fn with_fill(self, fill: Smart<Option<Paint>>) -> Self
pub fn with_fill(self, fill: Smart<Option<Paint>>) -> Self
Builder-style setter for the fill
field.
Sourcepub fn with_align(self, align: Smart<Alignment>) -> Self
pub fn with_align(self, align: Smart<Alignment>) -> Self
Builder-style setter for the align
field.
Sourcepub fn with_inset(self, inset: Smart<Sides<Option<Rel<Length>>>>) -> Self
pub fn with_inset(self, inset: Smart<Sides<Option<Rel<Length>>>>) -> Self
Builder-style setter for the inset
field.
Sourcepub fn with_stroke(self, stroke: Sides<Option<Option<Arc<Stroke>>>>) -> Self
pub fn with_stroke(self, stroke: Sides<Option<Option<Arc<Stroke>>>>) -> Self
Builder-style setter for the stroke
field.
Sourcepub fn with_breakable(self, breakable: Smart<bool>) -> Self
pub fn with_breakable(self, breakable: Smart<bool>) -> Self
Builder-style setter for the breakable
field.
Sourcepub fn push_colspan(&mut self, colspan: NonZeroUsize)
pub fn push_colspan(&mut self, colspan: NonZeroUsize)
Setter for the colspan
field.
Sourcepub fn push_rowspan(&mut self, rowspan: NonZeroUsize)
pub fn push_rowspan(&mut self, rowspan: NonZeroUsize)
Setter for the rowspan
field.
Sourcepub fn push_align(&mut self, align: Smart<Alignment>)
pub fn push_align(&mut self, align: Smart<Alignment>)
Setter for the align
field.
Sourcepub fn push_inset(&mut self, inset: Smart<Sides<Option<Rel<Length>>>>)
pub fn push_inset(&mut self, inset: Smart<Sides<Option<Rel<Length>>>>)
Setter for the inset
field.
Sourcepub fn push_stroke(&mut self, stroke: Sides<Option<Option<Arc<Stroke>>>>)
pub fn push_stroke(&mut self, stroke: Sides<Option<Option<Arc<Stroke>>>>)
Setter for the stroke
field.
Sourcepub fn push_breakable(&mut self, breakable: Smart<bool>)
pub fn push_breakable(&mut self, breakable: Smart<bool>)
Setter for the breakable
field.
Sourcepub fn x(&self, styles: StyleChain<'_>) -> Smart<usize>
pub fn x(&self, styles: StyleChain<'_>) -> Smart<usize>
The cell’s column (zero-indexed). This field may be used in show rules to style a cell depending on its column.
You may override this field to pick in which column the cell must
be placed. If no row (y
) is chosen, the cell will be placed in the
first row (starting at row 0) with that column available (or a new row
if none). If both x
and y
are chosen, however, the cell will be
placed in that exact position. An error is raised if that position is
not available (thus, it is usually wise to specify cells with a custom
position before cells with automatic positions).
#let circ(c) = circle(
fill: c, width: 5mm
)
#grid(
columns: 4,
rows: 7mm,
stroke: .5pt + blue,
align: center + horizon,
inset: 1mm,
grid.cell(x: 2, y: 2, circ(aqua)),
circ(yellow),
grid.cell(x: 3, circ(green)),
circ(black),
)
Sourcepub fn y(&self, styles: StyleChain<'_>) -> Smart<usize>
pub fn y(&self, styles: StyleChain<'_>) -> Smart<usize>
The cell’s row (zero-indexed). This field may be used in show rules to style a cell depending on its row.
You may override this field to pick in which row the cell must be
placed. If no column (x
) is chosen, the cell will be placed in the
first column (starting at column 0) available in the chosen row. If all
columns in the chosen row are already occupied, an error is raised.
#let tri(c) = polygon.regular(
fill: c,
size: 5mm,
vertices: 3,
)
#grid(
columns: 2,
stroke: blue,
inset: 1mm,
tri(black),
grid.cell(y: 1, tri(teal)),
grid.cell(y: 1, tri(red)),
grid.cell(y: 2, tri(orange))
)
Sourcepub fn colspan(&self, styles: StyleChain<'_>) -> NonZeroUsize
pub fn colspan(&self, styles: StyleChain<'_>) -> NonZeroUsize
The amount of columns spanned by this cell.
Sourcepub fn rowspan(&self, styles: StyleChain<'_>) -> NonZeroUsize
pub fn rowspan(&self, styles: StyleChain<'_>) -> NonZeroUsize
The amount of rows spanned by this cell.
Sourcepub fn inset(&self, styles: StyleChain<'_>) -> Smart<Sides<Option<Rel<Length>>>>
pub fn inset(&self, styles: StyleChain<'_>) -> Smart<Sides<Option<Rel<Length>>>>
The cell’s inset override.
Sourcepub fn stroke(
&self,
styles: StyleChain<'_>,
) -> <Sides<Option<Option<Arc<Stroke>>>> as Resolve>::Output
pub fn stroke( &self, styles: StyleChain<'_>, ) -> <Sides<Option<Option<Arc<Stroke>>>> as Resolve>::Output
The cell’s stroke override.
Sourcepub fn breakable(&self, styles: StyleChain<'_>) -> Smart<bool>
pub fn breakable(&self, styles: StyleChain<'_>) -> Smart<bool>
Whether rows spanned by this cell can be placed in different pages.
When equal to {auto}
, a cell spanning only fixed-size rows is
unbreakable, while a cell spanning at least one {auto}
-sized row is
breakable.
Sourcepub fn x_in(styles: StyleChain<'_>) -> Smart<usize>
pub fn x_in(styles: StyleChain<'_>) -> Smart<usize>
Access the x
field in the given style chain.
Sourcepub fn y_in(styles: StyleChain<'_>) -> Smart<usize>
pub fn y_in(styles: StyleChain<'_>) -> Smart<usize>
Access the y
field in the given style chain.
Sourcepub fn colspan_in(styles: StyleChain<'_>) -> NonZeroUsize
pub fn colspan_in(styles: StyleChain<'_>) -> NonZeroUsize
Access the colspan
field in the given style chain.
Sourcepub fn rowspan_in(styles: StyleChain<'_>) -> NonZeroUsize
pub fn rowspan_in(styles: StyleChain<'_>) -> NonZeroUsize
Access the rowspan
field in the given style chain.
Sourcepub fn fill_in(styles: StyleChain<'_>) -> Smart<Option<Paint>>
pub fn fill_in(styles: StyleChain<'_>) -> Smart<Option<Paint>>
Access the fill
field in the given style chain.
Sourcepub fn align_in(styles: StyleChain<'_>) -> Smart<Alignment>
pub fn align_in(styles: StyleChain<'_>) -> Smart<Alignment>
Access the align
field in the given style chain.
Sourcepub fn inset_in(styles: StyleChain<'_>) -> Smart<Sides<Option<Rel<Length>>>>
pub fn inset_in(styles: StyleChain<'_>) -> Smart<Sides<Option<Rel<Length>>>>
Access the inset
field in the given style chain.
Sourcepub fn stroke_in(
styles: StyleChain<'_>,
) -> <Sides<Option<Option<Arc<Stroke>>>> as Resolve>::Output
pub fn stroke_in( styles: StyleChain<'_>, ) -> <Sides<Option<Option<Arc<Stroke>>>> as Resolve>::Output
Access the stroke
field in the given style chain.
Sourcepub fn breakable_in(styles: StyleChain<'_>) -> Smart<bool>
pub fn breakable_in(styles: StyleChain<'_>) -> Smart<bool>
Access the breakable
field in the given style chain.
Sourcepub fn set_colspan(colspan: NonZeroUsize) -> Property
pub fn set_colspan(colspan: NonZeroUsize) -> Property
Create a style property for the colspan
field.
Sourcepub fn set_rowspan(rowspan: NonZeroUsize) -> Property
pub fn set_rowspan(rowspan: NonZeroUsize) -> Property
Create a style property for the rowspan
field.
Sourcepub fn set_fill(fill: Smart<Option<Paint>>) -> Property
pub fn set_fill(fill: Smart<Option<Paint>>) -> Property
Create a style property for the fill
field.
Sourcepub fn set_align(align: Smart<Alignment>) -> Property
pub fn set_align(align: Smart<Alignment>) -> Property
Create a style property for the align
field.
Sourcepub fn set_inset(inset: Smart<Sides<Option<Rel<Length>>>>) -> Property
pub fn set_inset(inset: Smart<Sides<Option<Rel<Length>>>>) -> Property
Create a style property for the inset
field.
Sourcepub fn set_stroke(stroke: Sides<Option<Option<Arc<Stroke>>>>) -> Property
pub fn set_stroke(stroke: Sides<Option<Option<Arc<Stroke>>>>) -> Property
Create a style property for the stroke
field.
Sourcepub fn set_breakable(breakable: Smart<bool>) -> Property
pub fn set_breakable(breakable: Smart<bool>) -> Property
Create a style property for the breakable
field.
Trait Implementations§
Source§impl Fields for GridCell
impl Fields for GridCell
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 FromValue for GridCell
impl FromValue for GridCell
Source§fn from_value(value: Value) -> HintedStrResult<Self>
fn from_value(value: Value) -> HintedStrResult<Self>
Self
.Source§impl NativeElement for GridCell
impl NativeElement for GridCell
Auto Trait Implementations§
impl Freeze for GridCell
impl !RefUnwindSafe for GridCell
impl Send for GridCell
impl Sync for GridCell
impl Unpin for GridCell
impl !UnwindSafe for GridCell
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> FromValue<Spanned<Value>> for Twhere
T: FromValue,
impl<T> FromValue<Spanned<Value>> for Twhere
T: FromValue,
Source§fn from_value(value: Spanned<Value>) -> Result<T, HintedString>
fn from_value(value: Spanned<Value>) -> Result<T, HintedString>
Self
.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