Skip to main content

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}