Struct webrender::hit_test::HitTestingScene
source · pub struct HitTestingScene {
clip_nodes: FastHashMap<ClipNodeId, HitTestClipNode>,
items: Vec<HitTestingItem>,
}
Expand description
Defines the immutable part of a hit tester for a given scene. The hit tester is recreated each time a frame is built, since it relies on the current values of the spatial tree. However, the clip chain and item definitions don’t change, so they are created once per scene, and shared between hit tester instances via Arc.
Fields§
§clip_nodes: FastHashMap<ClipNodeId, HitTestClipNode>
§items: Vec<HitTestingItem>
List of hit testing primitives.
Implementations§
source§impl HitTestingScene
impl HitTestingScene
sourcepub fn new(stats: &HitTestingSceneStats) -> Self
pub fn new(stats: &HitTestingSceneStats) -> Self
Construct a new hit testing scene, pre-allocating to size provided by previous scene stats.
pub fn reset(&mut self)
sourcepub fn get_stats(&self) -> HitTestingSceneStats
pub fn get_stats(&self) -> HitTestingSceneStats
Get stats about the current scene allocation sizes.
fn add_clip_node( &mut self, clip_node_id: ClipNodeId, clip_tree_builder: &ClipTreeBuilder, interners: &Interners, )
sourcepub fn add_item(
&mut self,
tag: ItemTag,
anim_id: u64,
info: &LayoutPrimitiveInfo,
spatial_node_index: SpatialNodeIndex,
clip_node_id: ClipNodeId,
clip_tree_builder: &ClipTreeBuilder,
interners: &Interners,
)
pub fn add_item( &mut self, tag: ItemTag, anim_id: u64, info: &LayoutPrimitiveInfo, spatial_node_index: SpatialNodeIndex, clip_node_id: ClipNodeId, clip_tree_builder: &ClipTreeBuilder, interners: &Interners, )
Add a hit testing primitive.
Trait Implementations§
source§impl MallocSizeOf for HitTestingScene
impl MallocSizeOf for HitTestingScene
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Auto Trait Implementations§
impl Freeze for HitTestingScene
impl RefUnwindSafe for HitTestingScene
impl Send for HitTestingScene
impl Sync for HitTestingScene
impl Unpin for HitTestingScene
impl UnwindSafe for HitTestingScene
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 more