style: add display="none"
This commit is contained in:
@@ -318,12 +318,16 @@ fn draw_children(params: &DrawParams, state: &mut DrawState, parent_node_id: taf
|
||||
let layout = ¶ms.layout;
|
||||
|
||||
for node_id in layout.state.tree.child_ids(parent_node_id) {
|
||||
let Some(widget_id) = layout.state.tree.get_node_context(node_id).copied() else {
|
||||
let Ok(style) = layout.state.tree.style(node_id) else {
|
||||
debug_assert!(false);
|
||||
continue;
|
||||
};
|
||||
|
||||
let Ok(style) = layout.state.tree.style(node_id) else {
|
||||
if style.display == taffy::Display::None {
|
||||
continue;
|
||||
}
|
||||
|
||||
let Some(widget_id) = layout.state.tree.get_node_context(node_id).copied() else {
|
||||
debug_assert!(false);
|
||||
continue;
|
||||
};
|
||||
|
||||
@@ -405,6 +405,10 @@ impl Layout {
|
||||
|
||||
let style = self.state.tree.style(node_id)?;
|
||||
|
||||
if style.display == taffy::Display::None {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let Some(widget) = self.state.widgets.get(widget_id) else {
|
||||
debug_assert!(false);
|
||||
anyhow::bail!("invalid widget");
|
||||
|
||||
@@ -117,6 +117,7 @@ pub fn parse_style(attribs: &[AttribPair]) -> taffy::Style {
|
||||
"flex" => style.display = Display::Flex,
|
||||
"block" => style.display = Display::Block,
|
||||
"grid" => style.display = Display::Grid,
|
||||
"none" => style.display = Display::None,
|
||||
_ => {
|
||||
print_invalid_attrib(key, value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user