25 lines
706 B
Rust
25 lines
706 B
Rust
use iris::prelude::*;
|
|
|
|
const ROWS: usize = 1000;
|
|
|
|
pub(crate) fn build<Rsc: UiRsc>(
|
|
rsc: &mut Rsc,
|
|
ui_state: &mut impl HasRoot<Rsc>,
|
|
) -> WeakWidget<Span> {
|
|
let mut span = Span::empty(Dir::DOWN);
|
|
for _ in 0..ROWS {
|
|
let img = iris::image::DynamicImage::new_rgba8(32, 32);
|
|
let widget = image::<Rsc>(img)(rsc);
|
|
let widget = rsc.ui_mut().widgets.add_strong(widget);
|
|
span.push(widget.any());
|
|
}
|
|
let span = rsc.ui_mut().widgets.add_strong(span);
|
|
let span_weak = span.weak();
|
|
let root = rsc
|
|
.ui_mut()
|
|
.widgets
|
|
.add_strong(ScrollArea::new(span.any(), Axis::Y, Pin::End));
|
|
ui_state.set_root(rsc, root.any());
|
|
span_weak
|
|
}
|