File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -93,4 +93,22 @@ impl InoxNodeTree {
9393 . children ( & self . arena )
9494 . map ( |id| self . arena . get ( id) . unwrap ( ) . get ( ) )
9595 }
96+
97+ pub fn is_node_enabled ( & self , node : InoxNodeUuid ) -> bool {
98+ let mut node = self . get_node ( node) . unwrap ( ) ;
99+
100+ loop {
101+ if !node. enabled {
102+ return false ;
103+ }
104+
105+ if node. uuid == self . root_node_id {
106+ break ;
107+ }
108+
109+ node = self . get_parent ( node. uuid ) ;
110+ }
111+
112+ return true ;
113+ }
96114}
Original file line number Diff line number Diff line change @@ -291,8 +291,7 @@ impl<T: InoxRenderer> InoxRendererExt for T {
291291 DrawableKind :: Composite ( ref components) => & components. drawable . masks ,
292292 } ;
293293
294- let is_enabled = puppet. nodes . get_node ( id) . unwrap ( ) . enabled ;
295- if !is_enabled && !as_mask {
294+ if !as_mask && !puppet. nodes . is_node_enabled ( id) {
296295 // Disabled nodes don't render, but they can still be used as masks.
297296 return ;
298297 }
@@ -335,8 +334,7 @@ impl<T: InoxRenderer> InoxRendererExt for T {
335334 return ;
336335 }
337336
338- let is_enabled = puppet. nodes . get_node ( id) . unwrap ( ) . enabled ;
339- if !is_enabled && !as_mask {
337+ if !as_mask && !puppet. nodes . is_node_enabled ( id) {
340338 // Disabled nodes don't render, but they can still be used as masks.
341339 return ;
342340 }
You can’t perform that action at this time.
0 commit comments