pub struct Table { /* private fields */ }Expand description
A header and rows. The rows are a list you can change while the scene
runs: insert_row, remove_row
and sort_by_column move the other rows into
place.
let t = view.add(Table::new(["Renderer", "Frame"]).row(["vello", "4 ms"]).row(["skia", "9 ms"]));
t.insert_row(1, ["cairo", "14 ms"]).await;
t.sort_by_column(1, 0.8).await;Implementations§
Source§impl Table
impl Table
Sourcepub fn new<V: Display>(header: impl IntoIterator<Item = V>) -> TableBuilder
pub fn new<V: Display>(header: impl IntoIterator<Item = V>) -> TableBuilder
A table with these column titles. Add rows with
row.
Sourcepub fn cell(&self, row: usize, column: usize) -> Txt
pub fn cell(&self, row: usize, column: usize) -> Txt
The cell at row row, column column, by the current order.
Sourcepub fn insert_row<V: Display>(
&self,
at: usize,
cells: impl IntoIterator<Item = V>,
) -> impl Future<Output = ()> + 'static
pub fn insert_row<V: Display>( &self, at: usize, cells: impl IntoIterator<Item = V>, ) -> impl Future<Output = ()> + 'static
Adds a row at position at (clamped to the end): the rows below
slide down and the new one fades in. Await it.
Sourcepub fn push_row<V: Display>(
&self,
cells: impl IntoIterator<Item = V>,
) -> impl Future<Output = ()> + 'static
pub fn push_row<V: Display>( &self, cells: impl IntoIterator<Item = V>, ) -> impl Future<Output = ()> + 'static
Adds a row at the end.
Sourcepub fn remove_row(&self, i: usize) -> impl Future<Output = ()> + 'static
pub fn remove_row(&self, i: usize) -> impl Future<Output = ()> + 'static
Sourcepub fn sort_by(
&self,
compare: impl Fn(&[String], &[String]) -> Ordering,
duration: f64,
) -> impl Future<Output = ()> + 'static
pub fn sort_by( &self, compare: impl Fn(&[String], &[String]) -> Ordering, duration: f64, ) -> impl Future<Output = ()> + 'static
Reorders the rows by compare on their current values and moves
each one to its new place over duration seconds. The order is
stable: equal rows keep theirs.
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.