pub struct Matrix { /* private fields */ }Expand description
Values in a grid between square brackets. Each cell is a Txt, so
cell(1, 0).text().set("7") changes it and .fill() colors it.
row_frame and column_frame
give outlines that fade in to point at a row or a column.
let a = view.add(Matrix::new([[1, 2], [3, 4]]));
let r = a.row_frame(0);
r.fade_in().await;
a.cell(0, 1).fill().to(Accent.into(), 0.3).await;Implementations§
Source§impl Matrix
impl Matrix
Sourcepub fn new<R, V>(rows: impl IntoIterator<Item = R>) -> MatrixBuilderwhere
R: IntoIterator<Item = V>,
V: Display,
pub fn new<R, V>(rows: impl IntoIterator<Item = R>) -> MatrixBuilderwhere
R: IntoIterator<Item = V>,
V: Display,
A matrix from rows of values: numbers, &str or anything that
implements Display. Rows shorter than the longest get empty cells.
Sourcepub fn row_frame(&self, row: usize) -> Rect
pub fn row_frame(&self, row: usize) -> Rect
A rounded outline around row row, hidden: .fade_in() shows it.
Sourcepub fn column_frame(&self, column: usize) -> Rect
pub fn column_frame(&self, column: usize) -> Rect
A rounded outline around column column, hidden.
Sourcepub fn cell_frame(&self, row: usize, column: usize) -> Rect
pub fn cell_frame(&self, row: usize, column: usize) -> Rect
A rounded outline around one cell, hidden.
Methods from Deref<Target = Node>§
Sourcepub fn rotation(self) -> Signal<f64>
pub fn rotation(self) -> Signal<f64>
Degrees, clockwise.
The rotation property as an animatable signal.
Sourcepub fn line_width(self) -> Signal<f64>
pub fn line_width(self) -> Signal<f64>
The line_width property as an animatable signal.
Sourcepub fn start(self) -> Signal<f64>
pub fn start(self) -> Signal<f64>
Start of the drawn part of the outline (fraction of its length).
The start property as an animatable signal.
Sourcepub fn end(self) -> Signal<f64>
pub fn end(self) -> Signal<f64>
End of the drawn part of the outline.
The end property as an animatable signal.
Sourcepub fn fill_gradient(self) -> Signal<Option<Gradient>>
pub fn fill_gradient(self) -> Signal<Option<Gradient>>
The fill_gradient property as an animatable signal.
Sourcepub fn stroke_gradient(self) -> Signal<Option<Gradient>>
pub fn stroke_gradient(self) -> Signal<Option<Gradient>>
The stroke_gradient property as an animatable signal.
Sourcepub fn dash_offset(self) -> Signal<f64>
pub fn dash_offset(self) -> Signal<f64>
The dash_offset property as an animatable signal.
Sourcepub fn shadow_color(self) -> Signal<Color>
pub fn shadow_color(self) -> Signal<Color>
The shadow_color property as an animatable signal.
Sourcepub fn shadow_blur(self) -> Signal<f64>
pub fn shadow_blur(self) -> Signal<f64>
The shadow_blur property as an animatable signal.
Sourcepub fn shadow_offset(self) -> Signal<Vec2>
pub fn shadow_offset(self) -> Signal<Vec2>
The shadow_offset property as an animatable signal.
Sourcepub fn align_self(self) -> Signal<Option<LayoutAlign>>
pub fn align_self(self) -> Signal<Option<LayoutAlign>>
The align_self property as an animatable signal.
Sourcepub fn add<B>(self, child: B) -> <B as NodeBuilder>::Handlewhere
B: NodeBuilder,
pub fn add<B>(self, child: B) -> <B as NodeBuilder>::Handlewhere
B: NodeBuilder,
Adds a child node; children are positioned relative to the parent.
The call site is stored on the node (oxframe check and oxframe inspect print it). .name("title") overrides the automatic label.
Sourcepub fn fade_in(self) -> Tween<f64> ⓘ
pub fn fade_in(self) -> Tween<f64> ⓘ
Fades the node in from transparent, over the theme’s normal duration with its enter easing.
Sourcepub fn pop_in(self) -> Tween<Vec2> ⓘ
pub fn pop_in(self) -> Tween<Vec2> ⓘ
Grows the node from nothing to its current scale with a small
overshoot (the theme’s emphasis easing, OUT_BACK by default).
Sourcepub fn draw_on(self) -> Tween<f64> ⓘ
pub fn draw_on(self) -> Tween<f64> ⓘ
Draws the outline from start to end (end from 0 to 1), as if with a
pen. Works on every shape with an outline: paths, lines, rectangles,
circles, polygons.
Sourcepub fn slide_in(self, from: Side) -> impl Future<Output = ()> + 'static
pub fn slide_in(self, from: Side) -> impl Future<Output = ()> + 'static
Slides the node into its place from SLIDE_DISTANCE pixels towards
from, fading in on the way.
Sourcepub fn next_to(self, other: impl Into<Node>, side: Side) -> Node
pub fn next_to(self, other: impl Into<Node>, side: Side) -> Node
Sits just outside other. The gap is the theme’s Md step, and the
position is recomputed every frame.
Sourcepub fn align_to(self, other: impl Into<Node>, edge: Edge) -> Node
pub fn align_to(self, other: impl Into<Node>, edge: Edge) -> Node
Lines this node’s edge up with the same edge of other.
Sourcepub fn to_edge(self, edge: Edge) -> Node
pub fn to_edge(self, edge: Edge) -> Node
Pins one edge to the safe area. The other axis is left as it is.
Sourcepub fn fade_out(self) -> Tween<f64> ⓘ
pub fn fade_out(self) -> Tween<f64> ⓘ
Fades the node out, over the theme’s normal duration with its exit easing.
Sourcepub fn effect(self, effect: EffectBuilder) -> Effect
pub fn effect(self, effect: EffectBuilder) -> Effect
Runs a shader effect on this node’s pixels, children included.
let ring = card.effect(shaders::ripple().strength(0.0));
ring.strength().to(1.0, 0.6).await;A node has one effect; a second call replaces the first. The node
must not sit inside a group with opacity below 1, a blur, a clip, a
blend, a shadow or another effect: there its pixels are not
finished, and check reports input_cycle.
Sourcepub fn absolute_position(self) -> Vec2
pub fn absolute_position(self) -> Vec2
Position of the node’s origin in scene coordinates.