pub struct StyledNode<'a> {
pub node: &'a Node,
pub specified_values: BTreeMap<String, String>,
pub hover_values: Option<BTreeMap<String, String>>,
pub focus_values: Option<BTreeMap<String, String>>,
pub active_values: Option<BTreeMap<String, String>>,
pub css_vars: Rc<BTreeMap<String, String>>,
pub children: Vec<StyledNode<'a>>,
}Fields§
§node: &'a Node§specified_values: BTreeMap<String, String>§hover_values: Option<BTreeMap<String, String>>§focus_values: Option<BTreeMap<String, String>>:focus 適用時に差分が生じる算出値(hover_values と同じ方式)。 事前に通常値と focus 時の値を両方計算しておき、実際にどちらを使うかは 描画側が focused_id と element_id の一致を見て選ぶ。フォーカス変更自体は DOM を変更しないため dom_needs_rebuild では再レイアウトが保証されず、 この事前計算方式(hover と同様)が必要。
active_values: Option<BTreeMap<String, String>>:active 適用時に差分が生じる算出値(hover_values/focus_values と同じ事前計算方式)。 実際の適用可否は描画側が「要素がホバー中 かつ マウス左ボタン押下中」を見て選ぶ。
css_vars: Rc<BTreeMap<String, String>>この要素のスコープで有効な CSS 変数(--foo)。
親から受け継いだ内容をそのまま持つノードが大半なので Rc で共有し、
変数を定義するノードだけが実体を複製する(cascade.rs 参照)。
children: Vec<StyledNode<'a>>Implementations§
Trait Implementations§
Source§impl<'a> Clone for StyledNode<'a>
impl<'a> Clone for StyledNode<'a>
Source§fn clone(&self) -> StyledNode<'a>
fn clone(&self) -> StyledNode<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'a> !Send for StyledNode<'a>
impl<'a> !Sync for StyledNode<'a>
impl<'a> Freeze for StyledNode<'a>
impl<'a> RefUnwindSafe for StyledNode<'a>
impl<'a> Unpin for StyledNode<'a>
impl<'a> UnsafeUnpin for StyledNode<'a>
impl<'a> UnwindSafe for StyledNode<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more