pub struct DirtyRectTracker { /* private fields */ }Expand description
Dirty rectangle tracking for visualization.
Tracks repainted screen regions for the diagnostic HUD overlay.
§Example
use martensite_devtools::hud::{DirtyRectTracker, Rect};
let mut tracker = DirtyRectTracker::new(64);
tracker.add(Rect::new(0, 0, 100, 100));
tracker.add(Rect::new(50, 50, 100, 100));
assert_eq!(tracker.rects().len(), 2);
assert!(tracker.total_area() > 0);Implementations§
Source§impl DirtyRectTracker
impl DirtyRectTracker
Sourcepub fn new(max_rects: usize) -> Self
pub fn new(max_rects: usize) -> Self
Creates a new tracker with the given maximum number of rectangles.
§Example
use martensite_devtools::hud::DirtyRectTracker;
let tracker = DirtyRectTracker::new(32);
assert!(tracker.is_empty());Sourcepub fn add(&mut self, rect: Rect)
pub fn add(&mut self, rect: Rect)
Adds a dirty rectangle. If the tracker is full, the oldest rectangle is dropped.
§Example
use martensite_devtools::hud::{DirtyRectTracker, Rect};
let mut tracker = DirtyRectTracker::new(2);
tracker.add(Rect::new(0, 0, 10, 10));
tracker.add(Rect::new(10, 10, 10, 10));
tracker.add(Rect::new(20, 20, 10, 10)); // drops oldest
assert_eq!(tracker.rects().len(), 2);Sourcepub fn total_area(&self) -> u64
pub fn total_area(&self) -> u64
Returns the total area of all tracked rectangles.
§Example
use martensite_devtools::hud::{DirtyRectTracker, Rect};
let mut tracker = DirtyRectTracker::new(10);
tracker.add(Rect::new(0, 0, 100, 100));
assert_eq!(tracker.total_area(), 10_000);Trait Implementations§
Source§impl Clone for DirtyRectTracker
impl Clone for DirtyRectTracker
Source§fn clone(&self) -> DirtyRectTracker
fn clone(&self) -> DirtyRectTracker
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 moreAuto Trait Implementations§
impl Freeze for DirtyRectTracker
impl RefUnwindSafe for DirtyRectTracker
impl Send for DirtyRectTracker
impl Sync for DirtyRectTracker
impl Unpin for DirtyRectTracker
impl UnsafeUnpin for DirtyRectTracker
impl UnwindSafe for DirtyRectTracker
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