mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-27 06:30:20 +00:00
make resolve passes public
This commit is contained in:
parent
c7eeeef68e
commit
26d4e48480
1 changed files with 6 additions and 12 deletions
|
@ -829,23 +829,17 @@ fn traverse_breadth_first() {
|
|||
});
|
||||
}
|
||||
|
||||
enum PassDirection {
|
||||
Up,
|
||||
Down,
|
||||
Node,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Eq, Hash, Clone, Copy)]
|
||||
struct PassId(u64);
|
||||
pub struct PassId(u64);
|
||||
|
||||
trait UpwardPass<T> {
|
||||
pub trait UpwardPass<T> {
|
||||
fn pass_id(&self) -> PassId;
|
||||
fn dependancies(&self) -> &'static [PassId];
|
||||
fn dependants(&self) -> &'static [PassId];
|
||||
fn upward_pass(&self, node: &mut T, parent: Option<&mut T>) -> bool;
|
||||
}
|
||||
|
||||
trait DownwardPass<T> {
|
||||
pub trait DownwardPass<T> {
|
||||
fn pass_id(&self) -> PassId;
|
||||
fn dependancies(&self) -> &'static [PassId];
|
||||
fn dependants(&self) -> &'static [PassId];
|
||||
|
@ -856,14 +850,14 @@ trait DownwardPass<T> {
|
|||
) -> bool;
|
||||
}
|
||||
|
||||
trait NodePass<T> {
|
||||
pub trait NodePass<T> {
|
||||
fn pass_id(&self) -> PassId;
|
||||
fn dependancies(&self) -> &'static [PassId];
|
||||
fn dependants(&self) -> &'static [PassId];
|
||||
fn node_pass(&self, node: &mut T) -> bool;
|
||||
}
|
||||
|
||||
enum AnyPass<T> {
|
||||
pub enum AnyPass<T> {
|
||||
Upward(Box<dyn UpwardPass<T> + Send + Sync>),
|
||||
Downward(Box<dyn DownwardPass<T> + Send + Sync>),
|
||||
Node(Box<dyn NodePass<T> + Send + Sync>),
|
||||
|
@ -954,7 +948,7 @@ impl DirtyNodeStates {
|
|||
}
|
||||
}
|
||||
|
||||
fn resolve_passes<T>(
|
||||
pub fn resolve_passes<T>(
|
||||
tree: &mut impl TreeView<T>,
|
||||
starting_nodes: FxHashMap<NodeId, FxDashSet<PassId>>,
|
||||
mut passes: Vec<AnyPass<T>>,
|
||||
|
|
Loading…
Reference in a new issue