pub struct StyleAndLayoutChanges {
pub style_changes: Option<BTreeMap<DomId, RestyleNodes>>,
pub layout_changes: Option<BTreeMap<DomId, RelayoutNodes>>,
pub focus_change: Option<FocusChange>,
pub nodes_that_changed_size: Option<BTreeMap<DomId, Vec<NodeId>>>,
pub nodes_that_changed_text_content: Option<BTreeMap<DomId, Vec<NodeId>>>,
pub gpu_key_changes: Option<BTreeMap<DomId, GpuEventChanges>>,
}Expand description
Style and layout changes
Fields§
§style_changes: Option<BTreeMap<DomId, RestyleNodes>>Changes that were made to style properties of nodes
layout_changes: Option<BTreeMap<DomId, RelayoutNodes>>Changes that were made to layout properties of nodes
focus_change: Option<FocusChange>Whether the focus has actually changed
nodes_that_changed_size: Option<BTreeMap<DomId, Vec<NodeId>>>Used to call On::Resize handlers
nodes_that_changed_text_content: Option<BTreeMap<DomId, Vec<NodeId>>>Changes to the text content
gpu_key_changes: Option<BTreeMap<DomId, GpuEventChanges>>Changes to GPU-cached opacity / transform values
Implementations§
Source§impl StyleAndLayoutChanges
impl StyleAndLayoutChanges
Sourcepub fn new(
nodes: &NodesToCheck,
layout_results: &mut [LayoutResult],
image_cache: &ImageCache,
renderer_resources: &mut RendererResources,
window_size: LayoutSize,
document_id: &DocumentId,
css_changes: Option<&BTreeMap<DomId, BTreeMap<NodeId, Vec<CssProperty>>>>,
word_changes: Option<&BTreeMap<DomId, BTreeMap<NodeId, AzString>>>,
callbacks_new_focus: &Option<Option<DomNodeId>>,
relayout_cb: RelayoutFn,
) -> StyleAndLayoutChanges
pub fn new( nodes: &NodesToCheck, layout_results: &mut [LayoutResult], image_cache: &ImageCache, renderer_resources: &mut RendererResources, window_size: LayoutSize, document_id: &DocumentId, css_changes: Option<&BTreeMap<DomId, BTreeMap<NodeId, Vec<CssProperty>>>>, word_changes: Option<&BTreeMap<DomId, BTreeMap<NodeId, AzString>>>, callbacks_new_focus: &Option<Option<DomNodeId>>, relayout_cb: RelayoutFn, ) -> StyleAndLayoutChanges
Determines and immediately applies the changes to the layout results
pub fn did_resize_nodes(&self) -> bool
pub fn need_regenerate_display_list(&self) -> bool
pub fn is_empty(&self) -> bool
pub fn need_redraw(&self) -> bool
Trait Implementations§
Source§impl Clone for StyleAndLayoutChanges
impl Clone for StyleAndLayoutChanges
Source§fn clone(&self) -> StyleAndLayoutChanges
fn clone(&self) -> StyleAndLayoutChanges
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StyleAndLayoutChanges
impl Debug for StyleAndLayoutChanges
Source§impl PartialEq for StyleAndLayoutChanges
impl PartialEq for StyleAndLayoutChanges
impl StructuralPartialEq for StyleAndLayoutChanges
Auto Trait Implementations§
impl Freeze for StyleAndLayoutChanges
impl RefUnwindSafe for StyleAndLayoutChanges
impl Send for StyleAndLayoutChanges
impl Sync for StyleAndLayoutChanges
impl Unpin for StyleAndLayoutChanges
impl UnwindSafe for StyleAndLayoutChanges
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more