Struct frenderer::sprites::SheetRegion
source · #[repr(C)]pub struct SheetRegion {
pub sheet: u16,
pub depth: u16,
pub x: u16,
pub y: u16,
pub w: i16,
pub h: i16,
pub colormod: [u8; 4],
}
Expand description
A SheetRegion defines the visual appearance of a sprite: which spritesheet (of an array of spritesheets), its pixel region within the spritesheet, and its visual depth (larger meaning further away).
Fields§
§sheet: u16
Which array texture layer to use
depth: u16
How deep into the Z axis this sprite should be drawn; the range 0..u16::MAX
will be mapped onto 0.0..1.0
.
x: u16
The x coordinate in pixels of the top left corner of this sprite within the spritesheet texture.
y: u16
The y coordinate in pixels of the top left corner of this sprite within the spritesheet texture.
w: i16
The width in pixels of this sprite within the spritesheet texture. May be negative.
h: i16
The height in pixels of this sprite within the spritesheet texture. May be negative.
colormod: [u8; 4]
RGBA bytes where alpha indicates intensity of color modulation
Implementations§
source§impl SheetRegion
impl SheetRegion
pub const ZERO: Self = _
sourcepub const fn new(sheet: u16, x: u16, y: u16, depth: u16, w: i16, h: i16) -> Self
pub const fn new(sheet: u16, x: u16, y: u16, depth: u16, w: i16, h: i16) -> Self
Create a new SheetRegion
with the given parameters.
sourcepub const fn rect(x: u16, y: u16, w: i16, h: i16) -> Self
pub const fn rect(x: u16, y: u16, w: i16, h: i16) -> Self
Create a simple SheetRegion
with just the rectangle coordinates (SheetRegion::sheet
and SheetRegion::depth
will be set to 0).
sourcepub const fn with_sheet(self, which: u16) -> Self
pub const fn with_sheet(self, which: u16) -> Self
Produce a new SheetRegion
on a different spritesheet layer.
sourcepub const fn with_depth(self, depth: u16) -> Self
pub const fn with_depth(self, depth: u16) -> Self
Produce a new SheetRegion
drawn at a different depth level.
sourcepub const fn flip_horizontal(self) -> Self
pub const fn flip_horizontal(self) -> Self
Flips the texture horizontally by moving its position and inverting its width
sourcepub const fn flip_vertical(self) -> Self
pub const fn flip_vertical(self) -> Self
Flips the texture vertically by moving its position and inverting its height
sourcepub const fn with_colormod(self, colormod: [u8; 4]) -> Self
pub const fn with_colormod(self, colormod: [u8; 4]) -> Self
Changes the color modulation of the sheet region
Trait Implementations§
source§impl Clone for SheetRegion
impl Clone for SheetRegion
source§fn clone(&self) -> SheetRegion
fn clone(&self) -> SheetRegion
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SheetRegion
impl Debug for SheetRegion
source§impl Default for SheetRegion
impl Default for SheetRegion
source§fn default() -> SheetRegion
fn default() -> SheetRegion
impl Copy for SheetRegion
impl Pod for SheetRegion
Auto Trait Implementations§
impl Freeze for SheetRegion
impl RefUnwindSafe for SheetRegion
impl Send for SheetRegion
impl Sync for SheetRegion
impl Unpin for SheetRegion
impl UnwindSafe for SheetRegion
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
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.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>
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>
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)
&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)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.