pub struct CallbackChangeResult {Show 22 fields
pub timers: FastHashMap<TimerId, Timer>,
pub threads: FastHashMap<ThreadId, Thread>,
pub timers_removed: FastBTreeSet<TimerId>,
pub threads_removed: FastBTreeSet<ThreadId>,
pub windows_created: Vec<WindowCreateOptions>,
pub menus_to_open: Vec<(Menu, Option<LogicalPosition>)>,
pub tooltips_to_show: Vec<(AzString, LogicalPosition)>,
pub hide_tooltip: bool,
pub stop_propagation: bool,
pub prevent_default: bool,
pub focus_target: Option<FocusTarget>,
pub words_changed: BTreeMap<DomId, BTreeMap<NodeId, AzString>>,
pub images_changed: BTreeMap<DomId, BTreeMap<NodeId, (ImageRef, UpdateImageType)>>,
pub image_callbacks_changed: BTreeMap<DomId, FastBTreeSet<NodeId>>,
pub iframes_to_update: BTreeMap<DomId, FastBTreeSet<NodeId>>,
pub image_masks_changed: BTreeMap<DomId, BTreeMap<NodeId, ImageMask>>,
pub css_properties_changed: BTreeMap<DomId, BTreeMap<NodeId, CssPropertyVec>>,
pub nodes_scrolled: BTreeMap<DomId, BTreeMap<NodeHierarchyItemId, LogicalPosition>>,
pub modified_window_state: FullWindowState,
pub queued_window_states: Vec<FullWindowState>,
pub hit_test_update_requested: Option<LogicalPosition>,
pub text_input_triggered: Vec<(DomNodeId, Vec<EventFilter>)>,
}Expand description
Result of applying callback changes
This struct consolidates all the outputs from apply_callback_changes(),
eliminating the need for 18+ mutable reference parameters.
Fields§
§timers: FastHashMap<TimerId, Timer>Timers to add
threads: FastHashMap<ThreadId, Thread>Threads to add
timers_removed: FastBTreeSet<TimerId>Timers to remove
threads_removed: FastBTreeSet<ThreadId>Threads to remove
windows_created: Vec<WindowCreateOptions>New windows to create
Menus to open
tooltips_to_show: Vec<(AzString, LogicalPosition)>Tooltips to show
hide_tooltip: boolWhether to hide tooltip
stop_propagation: boolWhether stopPropagation() was called
prevent_default: boolWhether preventDefault() was called
focus_target: Option<FocusTarget>Focus target change
words_changed: BTreeMap<DomId, BTreeMap<NodeId, AzString>>Text changes that don’t require full relayout
images_changed: BTreeMap<DomId, BTreeMap<NodeId, (ImageRef, UpdateImageType)>>Image changes (for animated images/video)
image_callbacks_changed: BTreeMap<DomId, FastBTreeSet<NodeId>>Image callback nodes that need to be re-rendered (for resize/animations) Unlike images_changed, this triggers a callback re-invocation
iframes_to_update: BTreeMap<DomId, FastBTreeSet<NodeId>>IFrame nodes that need to be re-rendered (for content updates) This triggers the IFrame callback to be called with DomRecreated reason
image_masks_changed: BTreeMap<DomId, BTreeMap<NodeId, ImageMask>>Clip mask changes (for vector animations)
css_properties_changed: BTreeMap<DomId, BTreeMap<NodeId, CssPropertyVec>>CSS property changes from callbacks
nodes_scrolled: BTreeMap<DomId, BTreeMap<NodeHierarchyItemId, LogicalPosition>>Scroll position changes from callbacks
modified_window_state: FullWindowStateModified window state
queued_window_states: Vec<FullWindowState>Queued window states to apply in sequence (for simulating clicks, etc.) Each state will trigger separate event processing to detect state changes.
hit_test_update_requested: Option<LogicalPosition>Hit test update requested at this position (for Debug API) When set, the shell layer should perform a hit test update before processing events
text_input_triggered: Vec<(DomNodeId, Vec<EventFilter>)>Text input events triggered by CreateTextInput These need to be processed by the recursive event loop to invoke user callbacks
Trait Implementations§
Source§impl Debug for CallbackChangeResult
impl Debug for CallbackChangeResult
Source§impl Default for CallbackChangeResult
impl Default for CallbackChangeResult
Source§fn default() -> CallbackChangeResult
fn default() -> CallbackChangeResult
Auto Trait Implementations§
impl Freeze for CallbackChangeResult
impl RefUnwindSafe for CallbackChangeResult
impl Send for CallbackChangeResult
impl Sync for CallbackChangeResult
impl Unpin for CallbackChangeResult
impl UnwindSafe for CallbackChangeResult
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
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>
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>
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