pub struct CssPropertyCache {
pub node_count: usize,
pub user_overridden_properties: Vec<Vec<(CssPropertyType, CssProperty)>>,
pub cascaded_props: FlatVecVec<StatefulCssProperty>,
pub css_props: FlatVecVec<StatefulCssProperty>,
pub computed_values: Vec<Vec<(CssPropertyType, CssPropertyWithOrigin)>>,
pub compact_cache: Option<CompactLayoutCache>,
pub global_css_props: Vec<CssProperty>,
pub resolved_font_sizes_px: OnceLock<Vec<f32>>,
}Fields§
§node_count: usize§user_overridden_properties: Vec<Vec<(CssPropertyType, CssProperty)>>§cascaded_props: FlatVecVec<StatefulCssProperty>§css_props: FlatVecVec<StatefulCssProperty>§computed_values: Vec<Vec<(CssPropertyType, CssPropertyWithOrigin)>>§compact_cache: Option<CompactLayoutCache>§global_css_props: Vec<CssProperty>§resolved_font_sizes_px: OnceLock<Vec<f32>>Per-node resolved font-size, in pixels, for the Normal
pseudo-state. Populated lazily on first call to
[crate::styled_dom::StyledDom::resolved_font_size_px] via a
single bottom-up DOM walk; subsequent reads are O(1) Vec
index by NodeId::index().
Motivation: get_font_size is called ~730× per node per
layout pass (see AZ_PROP_COUNT=1 report — 329 629
cascade walks on excel.html alone). Each resolution
recursively reads the parent’s font-size (for em) plus
the root’s font-size (for rem), multiplying the walk
count. Caching the pre-resolved pixel value collapses that
to a single Vec<f32> indexed lookup.
Implementations§
Source§impl CssPropertyCache
impl CssPropertyCache
Sourcepub fn memory_breakdown(&self) -> CssPropertyCacheBreakdown
pub fn memory_breakdown(&self) -> CssPropertyCacheBreakdown
Approximate heap bytes retained by this cache, broken out by
subfield. Used by StyledDom::memory_breakdown + the
AZ_MEM_BREAKDOWN=1 reporter. Sums capacity × element size
for each Vec and adds a coarse allowance for the inner Vec
headers inside computed_values.
This is a measurement helper, not a tight bound — it doesn’t
chase into the CssProperty enum variants that carry their
own Vec/String allocations (notably FontFamily →
StyleFontFamilyVec → Vec<StyleFontFamily>), so the real
heap footprint for a property-rich DOM can be 2-3× these
numbers. Still useful for spotting gross duplication between
the pre-compact and compact caches.
Sourcepub fn prune_compact_normal_props(&mut self)
pub fn prune_compact_normal_props(&mut self)
Drop Normal-state properties that have compact encodings from
css_props and cascaded_props. After build_compact_cache_with_inheritance,
these are redundant — the compact cache is the source of truth for layout.
Non-Normal entries (hover/active/focus) and non-compact properties
(background, box-shadow, transform, etc.) are kept for get_property_slow.
Source§impl CssPropertyCache
impl CssPropertyCache
Sourcepub fn restyle(
&mut self,
css: &mut Css,
node_data: &NodeDataContainerRef<'_, NodeData>,
node_hierarchy: &NodeHierarchyItemVec,
non_leaf_nodes: &ParentWithNodeDepthVec,
html_tree: &NodeDataContainerRef<'_, CascadeInfo>,
) -> Vec<TagIdToNodeIdMapping>
pub fn restyle( &mut self, css: &mut Css, node_data: &NodeDataContainerRef<'_, NodeData>, node_hierarchy: &NodeHierarchyItemVec, non_leaf_nodes: &ParentWithNodeDepthVec, html_tree: &NodeDataContainerRef<'_, CascadeInfo>, ) -> Vec<TagIdToNodeIdMapping>
Match CSS selectors to nodes and populate css_props. Returns tag IDs for hit-testing. If compact_cache is available, uses it for fast display/overflow checks; otherwise falls back to slow path.
Sourcepub fn generate_tag_ids(
&self,
node_data: &NodeDataContainerRef<'_, NodeData>,
node_hierarchy: &NodeHierarchyItemVec,
) -> Vec<TagIdToNodeIdMapping>
pub fn generate_tag_ids( &self, node_data: &NodeDataContainerRef<'_, NodeData>, node_hierarchy: &NodeHierarchyItemVec, ) -> Vec<TagIdToNodeIdMapping>
Generate hit-test tag IDs for nodes that need event handling. Uses compact cache (if available) for fast display/overflow reads. Can be called separately after build_compact_cache_with_inheritance.
pub fn get_computed_css_style_string( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> String
Source§impl CssPropertyCache
impl CssPropertyCache
pub fn empty(node_count: usize) -> Self
Sourcepub fn invalidate_resolved_font_sizes(&mut self)
pub fn invalidate_resolved_font_sizes(&mut self)
Clear the lazily-populated font-size cache. Call after any
mutation that could change resolved font-sizes (restyle,
DOM mutation, append, etc.). The next
[crate::styled_dom::StyledDom::resolved_font_size_px] call
repopulates via a single bottom-up tree walk.
pub fn append(&mut self, other: &mut Self)
pub fn is_horizontal_overflow_visible( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> bool
pub fn is_vertical_overflow_visible( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> bool
pub fn get_text_color_or_default( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> StyleTextColor
Sourcepub fn get_font_id_or_default(
&self,
node_data: &NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> StyleFontFamilyVec
pub fn get_font_id_or_default( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> StyleFontFamilyVec
Returns the font family of the node, or the default font family if none is set.
pub fn get_font_size_or_default( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> StyleFontSize
pub fn has_border( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> bool
pub fn has_box_shadow( &self, node_data: &NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> bool
pub fn get_property<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, css_property_type: &CssPropertyType, ) -> Option<&CssProperty>
pub fn get_background_content<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundContentVecValue>
Sourcepub fn get_hyphens<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleHyphensValue>
pub fn get_hyphens<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleHyphensValue>
Method for getting hyphens property
Sourcepub fn get_word_break<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleWordBreakValue>
pub fn get_word_break<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleWordBreakValue>
Method for getting word-break property
Sourcepub fn get_overflow_wrap<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleOverflowWrapValue>
pub fn get_overflow_wrap<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleOverflowWrapValue>
Method for getting overflow-wrap property
Sourcepub fn get_line_break<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleLineBreakValue>
pub fn get_line_break<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleLineBreakValue>
Method for getting line-break property
Sourcepub fn get_text_align_last<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleTextAlignLastValue>
pub fn get_text_align_last<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextAlignLastValue>
Method for getting text-align-last property
Sourcepub fn get_object_fit<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleObjectFitValue>
pub fn get_object_fit<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleObjectFitValue>
Method for getting object-fit property
Sourcepub fn get_text_orientation<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleTextOrientationValue>
pub fn get_text_orientation<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextOrientationValue>
Method for getting text-orientation property
Sourcepub fn get_object_position<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleObjectPositionValue>
pub fn get_object_position<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleObjectPositionValue>
Method for getting object-position property
Sourcepub fn get_aspect_ratio<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleAspectRatioValue>
pub fn get_aspect_ratio<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleAspectRatioValue>
Method for getting aspect-ratio property
Sourcepub fn get_direction<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleDirectionValue>
pub fn get_direction<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleDirectionValue>
Method for getting direction property
pub fn get_unicode_bidi<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleUnicodeBidiValue>
pub fn get_text_box_trim<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextBoxTrimValue>
pub fn get_text_box_edge<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextBoxEdgeValue>
pub fn get_dominant_baseline<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleDominantBaselineValue>
pub fn get_alignment_baseline<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleAlignmentBaselineValue>
pub fn get_initial_letter_align<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleInitialLetterAlignValue>
pub fn get_initial_letter_wrap<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleInitialLetterWrapValue>
pub fn get_scrollbar_gutter<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleScrollbarGutterValue>
pub fn get_overflow_clip_margin<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleOverflowClipMarginValue>
pub fn get_clip<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleClipRectValue>
Sourcepub fn get_white_space<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleWhiteSpaceValue>
pub fn get_white_space<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleWhiteSpaceValue>
Method for getting white-space property
pub fn get_background_position<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundPositionVecValue>
pub fn get_background_size<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundSizeVecValue>
pub fn get_background_repeat<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundRepeatVecValue>
pub fn get_font_size<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFontSizeValue>
pub fn get_font_family<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFontFamilyVecValue>
pub fn get_font_weight<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFontWeightValue>
pub fn get_font_style<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFontStyleValue>
pub fn get_text_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextColorValue>
Sourcepub fn get_text_indent<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleTextIndentValue>
pub fn get_text_indent<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextIndentValue>
Method for getting text-indent property
Sourcepub fn get_initial_letter<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleInitialLetterValue>
pub fn get_initial_letter<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleInitialLetterValue>
Method for getting initial-letter property
Sourcepub fn get_line_clamp<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleLineClampValue>
pub fn get_line_clamp<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleLineClampValue>
Method for getting line-clamp property
Sourcepub fn get_hanging_punctuation<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleHangingPunctuationValue>
pub fn get_hanging_punctuation<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleHangingPunctuationValue>
Method for getting hanging-punctuation property
Sourcepub fn get_text_combine_upright<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleTextCombineUprightValue>
pub fn get_text_combine_upright<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextCombineUprightValue>
Method for getting text-combine-upright property
Sourcepub fn get_exclusion_margin<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleExclusionMarginValue>
pub fn get_exclusion_margin<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleExclusionMarginValue>
Method for getting -azul-exclusion-margin property
Sourcepub fn get_hyphenation_language<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleHyphenationLanguageValue>
pub fn get_hyphenation_language<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleHyphenationLanguageValue>
Method for getting -azul-hyphenation-language property
Sourcepub fn get_caret_color<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a CaretColorValue>
pub fn get_caret_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a CaretColorValue>
Method for getting caret-color property
Sourcepub fn get_caret_width<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a CaretWidthValue>
pub fn get_caret_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a CaretWidthValue>
Method for getting -azul-caret-width property
Sourcepub fn get_caret_animation_duration<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a CaretAnimationDurationValue>
pub fn get_caret_animation_duration<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a CaretAnimationDurationValue>
Method for getting caret-animation-duration property
Sourcepub fn get_selection_background_color<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a SelectionBackgroundColorValue>
pub fn get_selection_background_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a SelectionBackgroundColorValue>
Method for getting selection-background-color property
Sourcepub fn get_selection_color<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a SelectionColorValue>
pub fn get_selection_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a SelectionColorValue>
Method for getting selection-color property
Sourcepub fn get_selection_radius<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a SelectionRadiusValue>
pub fn get_selection_radius<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a SelectionRadiusValue>
Method for getting -azul-selection-radius property
Sourcepub fn get_text_justify<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutTextJustifyValue>
pub fn get_text_justify<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutTextJustifyValue>
Method for getting text-justify property
Sourcepub fn get_z_index<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutZIndexValue>
pub fn get_z_index<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutZIndexValue>
Method for getting z-index property
Sourcepub fn get_flex_basis<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutFlexBasisValue>
pub fn get_flex_basis<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutFlexBasisValue>
Method for getting flex-basis property
Sourcepub fn get_column_gap<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutColumnGapValue>
pub fn get_column_gap<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutColumnGapValue>
Method for getting column-gap property
Sourcepub fn get_row_gap<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutRowGapValue>
pub fn get_row_gap<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutRowGapValue>
Method for getting row-gap property
Sourcepub fn get_grid_template_columns<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridTemplateColumnsValue>
pub fn get_grid_template_columns<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridTemplateColumnsValue>
Method for getting grid-template-columns property
Sourcepub fn get_grid_template_rows<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridTemplateRowsValue>
pub fn get_grid_template_rows<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridTemplateRowsValue>
Method for getting grid-template-rows property
Sourcepub fn get_grid_auto_columns<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridAutoColumnsValue>
pub fn get_grid_auto_columns<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridAutoColumnsValue>
Method for getting grid-auto-columns property
Sourcepub fn get_grid_auto_rows<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridAutoRowsValue>
pub fn get_grid_auto_rows<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridAutoRowsValue>
Method for getting grid-auto-rows property
Sourcepub fn get_grid_column<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridColumnValue>
pub fn get_grid_column<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridColumnValue>
Method for getting grid-column property
Sourcepub fn get_grid_row<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridRowValue>
pub fn get_grid_row<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridRowValue>
Method for getting grid-row property
Sourcepub fn get_grid_auto_flow<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGridAutoFlowValue>
pub fn get_grid_auto_flow<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGridAutoFlowValue>
Method for getting grid-auto-flow property
Sourcepub fn get_justify_self<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutJustifySelfValue>
pub fn get_justify_self<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutJustifySelfValue>
Method for getting justify-self property
Sourcepub fn get_justify_items<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutJustifyItemsValue>
pub fn get_justify_items<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutJustifyItemsValue>
Method for getting justify-items property
Sourcepub fn get_gap<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutGapValue>
pub fn get_gap<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutGapValue>
Method for getting gap property
Sourcepub fn get_align_self<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutAlignSelfValue>
pub fn get_align_self<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutAlignSelfValue>
Method for getting align-self property
Sourcepub fn get_font<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleFontValue>
pub fn get_font<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFontValue>
Method for getting font property
Sourcepub fn get_writing_mode<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutWritingModeValue>
pub fn get_writing_mode<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutWritingModeValue>
Method for getting writing-mode property
Sourcepub fn get_clear<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutClearValue>
pub fn get_clear<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutClearValue>
Method for getting clear property
Sourcepub fn get_shape_outside<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ShapeOutsideValue>
pub fn get_shape_outside<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ShapeOutsideValue>
Method for getting shape-outside property
Sourcepub fn get_shape_inside<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ShapeInsideValue>
pub fn get_shape_inside<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ShapeInsideValue>
Method for getting shape-inside property
Sourcepub fn get_clip_path<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ClipPathValue>
pub fn get_clip_path<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ClipPathValue>
Method for getting clip-path property
Sourcepub fn get_scrollbar_track<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleBackgroundContentValue>
pub fn get_scrollbar_track<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundContentValue>
Method for getting scrollbar track background
Sourcepub fn get_scrollbar_thumb<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleBackgroundContentValue>
pub fn get_scrollbar_thumb<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundContentValue>
Method for getting scrollbar thumb background
Method for getting scrollbar button background
Sourcepub fn get_scrollbar_corner<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleBackgroundContentValue>
pub fn get_scrollbar_corner<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundContentValue>
Method for getting scrollbar corner background
Sourcepub fn get_scrollbar_resizer<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleBackgroundContentValue>
pub fn get_scrollbar_resizer<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackgroundContentValue>
Method for getting scrollbar resizer background
Sourcepub fn get_scrollbar_width<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a LayoutScrollbarWidthValue>
pub fn get_scrollbar_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutScrollbarWidthValue>
Method for getting scrollbar-width property
Sourcepub fn get_scrollbar_color<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleScrollbarColorValue>
pub fn get_scrollbar_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleScrollbarColorValue>
Method for getting scrollbar-color property
Sourcepub fn get_scrollbar_visibility<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ScrollbarVisibilityModeValue>
pub fn get_scrollbar_visibility<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ScrollbarVisibilityModeValue>
Method for getting -azul-scrollbar-visibility property
Sourcepub fn get_scrollbar_fade_delay<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ScrollbarFadeDelayValue>
pub fn get_scrollbar_fade_delay<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ScrollbarFadeDelayValue>
Method for getting -azul-scrollbar-fade-delay property
Sourcepub fn get_scrollbar_fade_duration<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ScrollbarFadeDurationValue>
pub fn get_scrollbar_fade_duration<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ScrollbarFadeDurationValue>
Method for getting -azul-scrollbar-fade-duration property
Sourcepub fn get_visibility<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StyleVisibilityValue>
pub fn get_visibility<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleVisibilityValue>
Method for getting visibility property
Sourcepub fn get_break_before<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a PageBreakValue>
pub fn get_break_before<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a PageBreakValue>
Method for getting break-before property
Sourcepub fn get_break_after<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a PageBreakValue>
pub fn get_break_after<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a PageBreakValue>
Method for getting break-after property
Sourcepub fn get_break_inside<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a BreakInsideValue>
pub fn get_break_inside<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a BreakInsideValue>
Method for getting break-inside property
Sourcepub fn get_orphans<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a OrphansValue>
pub fn get_orphans<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a OrphansValue>
Method for getting orphans property
Sourcepub fn get_widows<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a WidowsValue>
pub fn get_widows<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a WidowsValue>
Method for getting widows property
Sourcepub fn get_box_decoration_break<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a BoxDecorationBreakValue>
pub fn get_box_decoration_break<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a BoxDecorationBreakValue>
Method for getting box-decoration-break property
Sourcepub fn get_column_count<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnCountValue>
pub fn get_column_count<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnCountValue>
Method for getting column-count property
Sourcepub fn get_column_width<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnWidthValue>
pub fn get_column_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnWidthValue>
Method for getting column-width property
Sourcepub fn get_column_span<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnSpanValue>
pub fn get_column_span<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnSpanValue>
Method for getting column-span property
Sourcepub fn get_column_fill<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnFillValue>
pub fn get_column_fill<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnFillValue>
Method for getting column-fill property
Sourcepub fn get_column_rule_width<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnRuleWidthValue>
pub fn get_column_rule_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnRuleWidthValue>
Method for getting column-rule-width property
Sourcepub fn get_column_rule_style<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnRuleStyleValue>
pub fn get_column_rule_style<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnRuleStyleValue>
Method for getting column-rule-style property
Sourcepub fn get_column_rule_color<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ColumnRuleColorValue>
pub fn get_column_rule_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ColumnRuleColorValue>
Method for getting column-rule-color property
Sourcepub fn get_flow_into<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a FlowIntoValue>
pub fn get_flow_into<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a FlowIntoValue>
Method for getting flow-into property
Sourcepub fn get_flow_from<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a FlowFromValue>
pub fn get_flow_from<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a FlowFromValue>
Method for getting flow-from property
Sourcepub fn get_shape_margin<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ShapeMarginValue>
pub fn get_shape_margin<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ShapeMarginValue>
Method for getting shape-margin property
Sourcepub fn get_shape_image_threshold<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ShapeImageThresholdValue>
pub fn get_shape_image_threshold<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ShapeImageThresholdValue>
Method for getting shape-image-threshold property
Sourcepub fn get_content<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a ContentValue>
pub fn get_content<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a ContentValue>
Method for getting content property
Sourcepub fn get_counter_reset<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a CounterResetValue>
pub fn get_counter_reset<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a CounterResetValue>
Method for getting counter-reset property
Sourcepub fn get_counter_increment<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a CounterIncrementValue>
pub fn get_counter_increment<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a CounterIncrementValue>
Method for getting counter-increment property
Sourcepub fn get_string_set<'a>(
&'a self,
node_data: &'a NodeData,
node_id: &NodeId,
node_state: &StyledNodeState,
) -> Option<&'a StringSetValue>
pub fn get_string_set<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StringSetValue>
Method for getting string-set property
pub fn get_text_align<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextAlignValue>
pub fn get_user_select<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleUserSelectValue>
pub fn get_text_decoration<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTextDecorationValue>
pub fn get_vertical_align<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleVerticalAlignValue>
pub fn get_line_height<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleLineHeightValue>
pub fn get_letter_spacing<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleLetterSpacingValue>
pub fn get_word_spacing<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleWordSpacingValue>
pub fn get_tab_size<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTabSizeValue>
pub fn get_cursor<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleCursorValue>
pub fn get_box_shadow_left<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBoxShadowValue>
pub fn get_box_shadow_right<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBoxShadowValue>
pub fn get_box_shadow_top<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBoxShadowValue>
pub fn get_box_shadow_bottom<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBoxShadowValue>
pub fn get_border_top_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderTopColorValue>
pub fn get_border_left_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderLeftColorValue>
pub fn get_border_right_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderRightColorValue>
pub fn get_border_bottom_color<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderBottomColorValue>
pub fn get_border_top_style<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderTopStyleValue>
pub fn get_border_left_style<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderLeftStyleValue>
pub fn get_border_right_style<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderRightStyleValue>
pub fn get_border_bottom_style<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderBottomStyleValue>
pub fn get_border_top_left_radius<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderTopLeftRadiusValue>
pub fn get_border_top_right_radius<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderTopRightRadiusValue>
pub fn get_border_bottom_left_radius<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderBottomLeftRadiusValue>
pub fn get_border_bottom_right_radius<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderBottomRightRadiusValue>
pub fn get_opacity<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleOpacityValue>
pub fn get_transform<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTransformVecValue>
pub fn get_transform_origin<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleTransformOriginValue>
pub fn get_perspective_origin<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StylePerspectiveOriginValue>
pub fn get_backface_visibility<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBackfaceVisibilityValue>
pub fn get_display<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutDisplayValue>
pub fn get_float<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutFloatValue>
pub fn get_box_sizing<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutBoxSizingValue>
pub fn get_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutWidthValue>
pub fn get_height<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutHeightValue>
pub fn get_min_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMinWidthValue>
pub fn get_min_height<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMinHeightValue>
pub fn get_max_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMaxWidthValue>
pub fn get_max_height<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMaxHeightValue>
pub fn get_position<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutPositionValue>
pub fn get_top<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutTopValue>
pub fn get_bottom<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutInsetBottomValue>
pub fn get_right<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutRightValue>
pub fn get_left<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutLeftValue>
pub fn get_padding_top<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutPaddingTopValue>
pub fn get_padding_bottom<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutPaddingBottomValue>
pub fn get_padding_left<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutPaddingLeftValue>
pub fn get_padding_right<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutPaddingRightValue>
pub fn get_margin_top<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMarginTopValue>
pub fn get_margin_bottom<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMarginBottomValue>
pub fn get_margin_left<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMarginLeftValue>
pub fn get_margin_right<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutMarginRightValue>
pub fn get_border_top_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutBorderTopWidthValue>
pub fn get_border_left_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutBorderLeftWidthValue>
pub fn get_border_right_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutBorderRightWidthValue>
pub fn get_border_bottom_width<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutBorderBottomWidthValue>
pub fn get_overflow_x<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutOverflowValue>
pub fn get_overflow_y<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutOverflowValue>
pub fn get_overflow_block<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutOverflowValue>
pub fn get_overflow_inline<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutOverflowValue>
pub fn get_flex_direction<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutFlexDirectionValue>
pub fn get_flex_wrap<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutFlexWrapValue>
pub fn get_flex_grow<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutFlexGrowValue>
pub fn get_flex_shrink<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutFlexShrinkValue>
pub fn get_justify_content<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutJustifyContentValue>
pub fn get_align_items<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutAlignItemsValue>
pub fn get_align_content<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutAlignContentValue>
pub fn get_mix_blend_mode<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleMixBlendModeValue>
pub fn get_filter<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFilterVecValue>
pub fn get_backdrop_filter<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleFilterVecValue>
pub fn get_text_shadow<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBoxShadowValue>
pub fn get_list_style_type<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleListStyleTypeValue>
pub fn get_list_style_position<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleListStylePositionValue>
pub fn get_table_layout<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutTableLayoutValue>
pub fn get_border_collapse<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleBorderCollapseValue>
pub fn get_border_spacing<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a LayoutBorderSpacingValue>
pub fn get_caption_side<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleCaptionSideValue>
pub fn get_empty_cells<'a>( &'a self, node_data: &'a NodeData, node_id: &NodeId, node_state: &StyledNodeState, ) -> Option<&'a StyleEmptyCellsValue>
pub fn calc_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_min_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_max_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> Option<f32>
pub fn calc_height( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_min_height( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_max_height( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> Option<f32>
pub fn calc_left( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> Option<f32>
pub fn calc_right( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> Option<f32>
pub fn calc_top( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> Option<f32>
pub fn calc_bottom( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> Option<f32>
pub fn calc_border_left_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_border_right_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_border_top_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_border_bottom_width( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_padding_left( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_padding_right( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_padding_top( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_padding_bottom( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_margin_left( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_margin_right( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_width: f32, ) -> f32
pub fn calc_margin_top( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
pub fn calc_margin_bottom( &self, node_data: &NodeData, node_id: &NodeId, styled_node_state: &StyledNodeState, reference_height: f32, ) -> f32
Sourcepub fn apply_ua_css(&mut self, node_data: &[NodeData])
pub fn apply_ua_css(&mut self, node_data: &[NodeData])
Applies user-agent (UA) CSS properties to the cascade before inheritance.
UA CSS has the lowest priority in the cascade, so it should only be applied if the node doesn’t already have the property from inline styles or author CSS.
This is critical for text nodes: UA CSS properties (like font-weight: bold for H1) must be in the cascade maps so they can be inherited by child text nodes.
Uses a bitset per node to avoid O(n²) scanning of property vecs.
Sourcepub fn sort_cascaded_props(&mut self)
pub fn sort_cascaded_props(&mut self)
Sort cascaded_props by (state, prop_type) and flatten into contiguous memory. Must be called after apply_ua_css() which adds entries to cascaded_props.
Sourcepub fn compute_inherited_values(
&mut self,
node_hierarchy: &[NodeHierarchyItem],
node_data: &[NodeData],
) -> Vec<NodeId>
pub fn compute_inherited_values( &mut self, node_hierarchy: &[NodeHierarchyItem], node_data: &[NodeData], ) -> Vec<NodeId>
Compute inherited values for all nodes in the DOM tree.
Implements CSS inheritance: walk tree depth-first, apply cascade priority
(inherited → cascaded → css → inline → user), create dependency chains for
relative values. Call apply_ua_css() before this function.
Source§impl CssPropertyCache
impl CssPropertyCache
Sourcepub fn build_compact_cache(
&self,
node_data: &[NodeData],
prev_font_hashes: &[u64],
) -> CompactLayoutCache
pub fn build_compact_cache( &self, node_data: &[NodeData], prev_font_hashes: &[u64], ) -> CompactLayoutCache
Build a CompactLayoutCache from the current property cache state.
Must be called after restyle(), apply_ua_css(), and compute_inherited_values().
Resolves all layout-relevant properties for every node in the “normal” state
(no hover/active/focus) and encodes them into compact arrays.
Tier 1/2/2b provide fast-path access for layout-hot properties.
Non-compact properties (background, transform, box-shadow, etc.) are
resolved via the slow cascade path in get_property_slow().
prev_font_hashes is the per-node font hash array from the previous frame.
When non-empty, each node’s new font_family_hash is compared against the
previous value, and differing nodes are recorded in font_dirty_nodes.
On the first build (empty slice), ALL text nodes are marked dirty.
Sourcepub fn build_compact_cache_with_inheritance(
&self,
node_data: &[NodeData],
node_hierarchy: &[NodeHierarchyItem],
prev_font_hashes: &[u64],
) -> CompactLayoutCache
pub fn build_compact_cache_with_inheritance( &self, node_data: &[NodeData], node_hierarchy: &[NodeHierarchyItem], prev_font_hashes: &[u64], ) -> CompactLayoutCache
Build compact cache with inheritance in a single pass.
Replaces the separate compute_inherited_values() + build_compact_cache() calls.
For each node (in DOM index order, which is pre-order = parents before children):
- Copy parent’s compact values for INHERITABLE properties
- Apply this node’s CSS properties on top (from css_props + inline + UA)
- Write directly to compact arrays
This eliminates 50K Vec clones from compute_inherited_values and avoids re-reading properties from 5 separate data structures.
Sourcepub fn build_compact_cache_with_inheritance_debug(
&self,
node_data: &[NodeData],
node_hierarchy: &[NodeHierarchyItem],
prev_font_hashes: &[u64],
debug_messages: &mut Option<Vec<LayoutDebugMessage>>,
) -> CompactLayoutCache
pub fn build_compact_cache_with_inheritance_debug( &self, node_data: &[NodeData], node_hierarchy: &[NodeHierarchyItem], prev_font_hashes: &[u64], debug_messages: &mut Option<Vec<LayoutDebugMessage>>, ) -> CompactLayoutCache
Same as build_compact_cache_with_inheritance but with optional debug logging.
Trait Implementations§
Source§impl Clone for CssPropertyCache
impl Clone for CssPropertyCache
Source§fn clone(&self) -> CssPropertyCache
fn clone(&self) -> CssPropertyCache
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CssPropertyCache
impl Debug for CssPropertyCache
Source§impl Default for CssPropertyCache
impl Default for CssPropertyCache
Source§fn default() -> CssPropertyCache
fn default() -> CssPropertyCache
Source§impl PartialEq for CssPropertyCache
impl PartialEq for CssPropertyCache
Source§fn eq(&self, other: &CssPropertyCache) -> bool
fn eq(&self, other: &CssPropertyCache) -> bool
self and other values to be equal, and is used by ==.