pub struct VramRect {
pub x: u16,
pub y: u16,
pub w: u16,
pub h: u16,
}Expand description
An (x, y, w, h) rectangle in VRAM coordinates.
Construction asserts the rect fits in VRAM. Subsequent code can
pass VramRect around without re-checking – it’s by-construction
safe.
Fields§
§x: u16Top-left X in VRAM pixels (0..VRAM_WIDTH).
y: u16Top-left Y in VRAM pixels (0..VRAM_HEIGHT).
w: u16Width in pixels. x + w <= VRAM_WIDTH.
h: u16Height in pixels. y + h <= VRAM_HEIGHT.
Implementations§
Source§impl VramRect
impl VramRect
Sourcepub const fn new(x: u16, y: u16, w: u16, h: u16) -> Self
pub const fn new(x: u16, y: u16, w: u16, h: u16) -> Self
Build a rect, asserting it fits in VRAM.
Sourcepub const fn pixel_count(self) -> u32
pub const fn pixel_count(self) -> u32
Total pixel count. w * h.
Sourcepub const fn overlaps(self, other: Self) -> bool
pub const fn overlaps(self, other: Self) -> bool
Do these two rectangles share a pixel?
Const so a game can prove its fixed VRAM layout at compile time. See
first_vram_overlap.
Trait Implementations§
impl Copy for VramRect
impl Eq for VramRect
impl StructuralPartialEq for VramRect
Auto Trait Implementations§
impl Freeze for VramRect
impl RefUnwindSafe for VramRect
impl Send for VramRect
impl Sync for VramRect
impl Unpin for VramRect
impl UnsafeUnpin for VramRect
impl UnwindSafe for VramRect
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)