pub struct Scene {
pub graph: Option<RenderGraph>,
pub hits: Vec<HitRegion>,
pub next_hit_z: usize,
pub node_index: HashMap<NodeId, usize>,
/* private fields */
}Fields§
§graph: Option<RenderGraph>§hits: Vec<HitRegion>§next_hit_z: usize§node_index: HashMap<NodeId, usize>Implementations§
Source§impl Scene
impl Scene
pub fn new() -> Self
pub fn diagnostics(&self) -> &RenderDiagnostics
Sourcepub fn rebuild_from_applier(&mut self, applier: &MemoryApplier, root: NodeId)
pub fn rebuild_from_applier(&mut self, applier: &MemoryApplier, root: NodeId)
Rebuilds the retained graph and hit targets from the applier, reusing storage from the previous graph.
Sourcepub fn update_from_applier(
&mut self,
applier: &MemoryApplier,
root: NodeId,
updates: SceneUpdates<'_>,
refresh_hits: bool,
)
pub fn update_from_applier( &mut self, applier: &MemoryApplier, root: NodeId, updates: SceneUpdates<'_>, refresh_hits: bool, )
Applies content and layer-property changes to the retained graph.
Empty updates or an unavailable scoped update rebuild the scene.
Hit targets are refreshed when their geometry changes or refresh_hits
is true, as required after layout or pointer-handler changes.
Sourcepub fn push_hit(
&mut self,
node_id: NodeId,
capture_path: &[NodeId],
geometry: HitGeometry<'_>,
target: HitTargetSpec<'_>,
)
pub fn push_hit( &mut self, node_id: NodeId, capture_path: &[NodeId], geometry: HitGeometry<'_>, target: HitTargetSpec<'_>, )
Adds an interactive target in draw order, ignoring targets that neither handle a pointer nor name a pointer icon.
Sourcepub fn clear_hits(&mut self)
pub fn clear_hits(&mut self)
Removes all hit targets and releases their handlers while retaining vector capacity.
pub fn replace_graph(&mut self, graph: RenderGraph)
Trait Implementations§
Source§impl HitGraphSink for Scene
impl HitGraphSink for Scene
fn push_hit( &mut self, node_id: NodeId, capture_path: &[NodeId], geometry: HitGeometry<'_>, hit: &HitTestNode, )
Source§impl RenderScene for Scene
impl RenderScene for Scene
type HitTarget = HitRegion
fn clear(&mut self)
Source§fn hit_test(&self, x: f32, y: f32) -> Vec<Self::HitTarget>
fn hit_test(&self, x: f32, y: f32) -> Vec<Self::HitTarget>
Performs hit testing at the given coordinates.
Returns hit targets ordered by z-index (top-to-bottom).
Source§fn hit_test_near(&self, x: f32, y: f32) -> Option<Self::HitTarget>
fn hit_test_near(&self, x: f32, y: f32) -> Option<Self::HitTarget>
The one target a press reaches when it misses every target but lands
inside a small target grown to the minimum touch size: the nearest such
target, and none when the point is outside every grown target.
Source§fn find_target(&self, node_id: NodeId) -> Option<Self::HitTarget>
fn find_target(&self, node_id: NodeId) -> Option<Self::HitTarget>
Finds a hit target by NodeId with fresh geometry from the current scene. Read more
Auto Trait Implementations§
impl !Freeze for Scene
impl !RefUnwindSafe for Scene
impl !Send for Scene
impl !Sync for Scene
impl !UnwindSafe for Scene
impl Unpin for Scene
impl UnsafeUnpin for Scene
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