T11b loading: progress bars and rings that glide, loading overlay, lazy load, suspense and async view, refresh and typing indicators, upload list; draw-time notifies ask for a frame
This commit is contained in:
38 files changed
+1646
-91
No files matched your search
+4
-2
@@ -22,11 +22,12 @@ fn shortest(heights: &[Pixels]) -> usize {
|
||||
|
||||
fn measure_width(state: gpui::Entity<Pixels>) -> impl IntoElement {
|
||||
canvas(
|
||||
move |bounds, _, cx| {
|
||||
move |bounds, window, cx| {
|
||||
if *state.read(cx) != bounds.size.width {
|
||||
state.update(cx, |width, cx| {
|
||||
*width = bounds.size.width;
|
||||
cx.notify();
|
||||
window.request_animation_frame();
|
||||
});
|
||||
}
|
||||
},
|
||||
@@ -135,11 +136,12 @@ impl RenderOnce for Masonry {
|
||||
.child(child)
|
||||
.child(
|
||||
canvas(
|
||||
move |bounds, _, cx| {
|
||||
move |bounds, window, cx| {
|
||||
if state.read(cx)[ix] != bounds.size.height {
|
||||
state.update(cx, |heights, cx| {
|
||||
heights[ix] = bounds.size.height;
|
||||
cx.notify();
|
||||
window.request_animation_frame();
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user