ferroui_base/layout/i_bring_into_view_layout_manager.rs
1use super::{BringIntoViewRequest, ILayoutManager};
2use std::rc::Rc;
3
4/// An [`ILayoutManager`] that handles [`BringIntoViewRequest`]s.
5pub trait IBringIntoViewLayoutManager: ILayoutManager {
6 /// Gets whether a layout pass is currently running.
7 fn is_in_layout_pass(&self) -> bool;
8
9 /// Enqueues a bring-into-view request to be processed at the end of the
10 /// current or next layout pass, replacing any previously enqueued request
11 /// for the same target.
12 fn enqueue_bring_into_view(&self, request: Rc<dyn BringIntoViewRequest>);
13}