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);
|
||||
}
|
||||
|
||||
@@ -5,18 +5,15 @@ use slotmap::{HopSlotMap, Key, SecondaryMap};
|
||||
|
||||
use crate::{
|
||||
overlays::{
|
||||
anchor::create_anchor,
|
||||
edit::EditWrapperManager,
|
||||
keyboard::builder::create_keyboard,
|
||||
screen::create_screens,
|
||||
watch::{create_watch, WATCH_NAME},
|
||||
anchor::create_anchor, edit::EditWrapperManager, keyboard::builder::create_keyboard,
|
||||
screen::create_screens, watch::create_watch,
|
||||
},
|
||||
state::AppState,
|
||||
windowing::{
|
||||
OverlayID, OverlaySelector,
|
||||
set::{OverlayWindowSet, SerializedWindowSet},
|
||||
snap_upright,
|
||||
window::OverlayWindowData,
|
||||
OverlayID, OverlaySelector,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user