pub struct DirtyRegion {
pub x: i32,
pub y: i32,
pub width: u32,
pub height: u32,
pub present: bool,
}Expand description
A rectangular region of the screen that needs redrawing.
Dirty regions are used to implement incremental rendering: only pixels within dirty regions are re-rendered each frame, skipping unchanged areas.
Fields§
§x: i32§y: i32§width: u32§height: u32§present: boolWhether this region contains any dirty area. When present is false,
the entire screen is considered clean (no redraw needed).
Implementations§
Source§impl DirtyRegion
impl DirtyRegion
Sourcepub fn empty() -> DirtyRegion
pub fn empty() -> DirtyRegion
An empty dirty region (nothing to redraw).
Sourcepub fn full(width: u32, height: u32) -> DirtyRegion
pub fn full(width: u32, height: u32) -> DirtyRegion
A dirty region covering the entire screen.
Sourcepub fn new(x: i32, y: i32, width: u32, height: u32) -> DirtyRegion
pub fn new(x: i32, y: i32, width: u32, height: u32) -> DirtyRegion
Create a dirty region at (x, y) with the given dimensions.
Sourcepub fn union(&self, other: &DirtyRegion) -> DirtyRegion
pub fn union(&self, other: &DirtyRegion) -> DirtyRegion
Union this region with another, producing the bounding box of both.
Sourcepub fn contains_pixel(&self, px: u32, py: u32) -> bool
pub fn contains_pixel(&self, px: u32, py: u32) -> bool
Check whether a pixel at (px, py) is within this dirty region.
Returns false when the region is not present (nothing to redraw).
Trait Implementations§
Source§impl Clone for DirtyRegion
impl Clone for DirtyRegion
Source§fn clone(&self) -> DirtyRegion
fn clone(&self) -> DirtyRegion
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DirtyRegion
Source§impl Debug for DirtyRegion
impl Debug for DirtyRegion
Source§impl Default for DirtyRegion
impl Default for DirtyRegion
Source§fn default() -> DirtyRegion
fn default() -> DirtyRegion
Returns the “default value” for a type. Read more
impl Eq for DirtyRegion
Source§impl PartialEq for DirtyRegion
impl PartialEq for DirtyRegion
impl StructuralPartialEq for DirtyRegion
Auto Trait Implementations§
impl Freeze for DirtyRegion
impl RefUnwindSafe for DirtyRegion
impl Send for DirtyRegion
impl Sync for DirtyRegion
impl Unpin for DirtyRegion
impl UnsafeUnpin for DirtyRegion
impl UnwindSafe for DirtyRegion
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.