Struct style::style_resolver::StyleResolverForElement
source · pub struct StyleResolverForElement<'a, 'ctx, 'le, E>where
E: TElement + MatchMethods + 'le,
'ctx: 'a,
'le: 'ctx,{
element: E,
context: &'a mut StyleContext<'ctx, E>,
rule_inclusion: RuleInclusion,
pseudo_resolution: PseudoElementResolution,
_marker: PhantomData<&'le E>,
}
Expand description
A struct that takes care of resolving the style of a given element.
Fields§
§element: E
§context: &'a mut StyleContext<'ctx, E>
§rule_inclusion: RuleInclusion
§pseudo_resolution: PseudoElementResolution
§_marker: PhantomData<&'le E>
Implementations§
source§impl<'a, 'ctx, 'le, E> StyleResolverForElement<'a, 'ctx, 'le, E>where
E: TElement + MatchMethods + 'le,
'ctx: 'a,
'le: 'ctx,
impl<'a, 'ctx, 'le, E> StyleResolverForElement<'a, 'ctx, 'le, E>where
E: TElement + MatchMethods + 'le,
'ctx: 'a,
'le: 'ctx,
sourcepub fn new(
element: E,
context: &'a mut StyleContext<'ctx, E>,
rule_inclusion: RuleInclusion,
pseudo_resolution: PseudoElementResolution,
) -> Self
pub fn new( element: E, context: &'a mut StyleContext<'ctx, E>, rule_inclusion: RuleInclusion, pseudo_resolution: PseudoElementResolution, ) -> Self
Trivially construct a new StyleResolverForElement.
sourcepub fn resolve_primary_style(
&mut self,
parent_style: Option<&ComputedValues>,
layout_parent_style: Option<&ComputedValues>,
include_starting_style: IncludeStartingStyle,
) -> PrimaryStyle
pub fn resolve_primary_style( &mut self, parent_style: Option<&ComputedValues>, layout_parent_style: Option<&ComputedValues>, include_starting_style: IncludeStartingStyle, ) -> PrimaryStyle
Resolve just the style of a given element.
fn cascade_primary_style( &mut self, inputs: CascadeInputs, parent_style: Option<&ComputedValues>, layout_parent_style: Option<&ComputedValues>, include_starting_style: IncludeStartingStyle, may_have_starting_style: bool, ) -> PrimaryStyle
sourcepub fn resolve_style(
&mut self,
parent_style: Option<&ComputedValues>,
layout_parent_style: Option<&ComputedValues>,
) -> ResolvedElementStyles
pub fn resolve_style( &mut self, parent_style: Option<&ComputedValues>, layout_parent_style: Option<&ComputedValues>, ) -> ResolvedElementStyles
Resolve the style of a given element, and all its eager pseudo-elements.
sourcepub fn resolve_style_with_default_parents(&mut self) -> ResolvedElementStyles
pub fn resolve_style_with_default_parents(&mut self) -> ResolvedElementStyles
Resolve an element’s styles with the default inheritance parent/layout parents.
sourcepub fn cascade_style_and_visited_with_default_parents(
&mut self,
inputs: CascadeInputs,
) -> ResolvedStyle
pub fn cascade_style_and_visited_with_default_parents( &mut self, inputs: CascadeInputs, ) -> ResolvedStyle
Cascade a set of rules, using the default parent for inheritance.
sourcepub fn cascade_style_and_visited_for_pseudo_with_default_parents(
&mut self,
inputs: CascadeInputs,
pseudo: &PseudoElement,
primary_style: &PrimaryStyle,
) -> ResolvedStyle
pub fn cascade_style_and_visited_for_pseudo_with_default_parents( &mut self, inputs: CascadeInputs, pseudo: &PseudoElement, primary_style: &PrimaryStyle, ) -> ResolvedStyle
Cascade a set of rules for pseudo element, using the default parent for inheritance.
fn cascade_style_and_visited( &mut self, inputs: CascadeInputs, parent_style: Option<&ComputedValues>, layout_parent_style: Option<&ComputedValues>, pseudo: Option<&PseudoElement>, ) -> ResolvedStyle
sourcepub fn cascade_styles_with_default_parents(
&mut self,
inputs: ElementCascadeInputs,
may_have_starting_style: bool,
) -> ResolvedElementStyles
pub fn cascade_styles_with_default_parents( &mut self, inputs: ElementCascadeInputs, may_have_starting_style: bool, ) -> ResolvedElementStyles
Cascade the element and pseudo-element styles with the default parents.
fn resolve_pseudo_style( &mut self, pseudo: &PseudoElement, originating_element_style: &PrimaryStyle, layout_parent_style: Option<&ComputedValues>, ) -> Option<ResolvedStyle>
fn match_primary( &mut self, visited_handling: VisitedHandlingMode, include_starting_style: IncludeStartingStyle, ) -> MatchingResults
fn match_pseudo( &mut self, originating_element_style: &ComputedValues, pseudo_element: &PseudoElement, visited_handling: VisitedHandlingMode, ) -> Option<MatchingResults>
sourcepub fn resolve_starting_style(&mut self) -> PrimaryStyle
pub fn resolve_starting_style(&mut self) -> PrimaryStyle
Resolve the starting style.
sourcepub fn after_change_style(
&mut self,
primary_style: &Arc<ComputedValues>,
) -> Option<Arc<ComputedValues>>
pub fn after_change_style( &mut self, primary_style: &Arc<ComputedValues>, ) -> Option<Arc<ComputedValues>>
If there is no transition rule in the ComputedValues, it returns None.
Auto Trait Implementations§
impl<'a, 'ctx, 'le, E> Freeze for StyleResolverForElement<'a, 'ctx, 'le, E>where
E: Freeze,
impl<'a, 'ctx, 'le, E> !RefUnwindSafe for StyleResolverForElement<'a, 'ctx, 'le, E>
impl<'a, 'ctx, 'le, E> Send for StyleResolverForElement<'a, 'ctx, 'le, E>
impl<'a, 'ctx, 'le, E> Sync for StyleResolverForElement<'a, 'ctx, 'le, E>where
E: Sync,
impl<'a, 'ctx, 'le, E> Unpin for StyleResolverForElement<'a, 'ctx, 'le, E>where
E: Unpin,
impl<'a, 'ctx, 'le, E> !UnwindSafe for StyleResolverForElement<'a, 'ctx, 'le, E>
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
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert