MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::SpriteImage Class Reference

#include <sprite_image.hpp>

Inheritance diagram for mage::rendering::SpriteImage:
mage::Component

Public Member Functions

 SpriteImage () noexcept
 
 SpriteImage (const SpriteImage &sprite) noexcept
 
 SpriteImage (SpriteImage &&sprite) noexcept
 
virtual ~SpriteImage ()
 
SpriteImageoperator= (const SpriteImage &sprite) noexcept
 
SpriteImageoperator= (SpriteImage &&sprite) noexcept
 
void Draw (SpriteBatch &sprite_batch) const
 
SpriteTransform2DGetSpriteTransform () noexcept
 
const SpriteTransform2DGetSpriteTransform () const noexcept
 
SpriteEffect GetSpriteEffects () const noexcept
 
void SetSpriteEffects (SpriteEffect sprite_effects) noexcept
 
RGBAGetBaseColor () noexcept
 
const RGBAGetBaseColor () const noexcept
 
const RECT GetBaseColorTextureRegion () const noexcept
 
bool HasMaximumBaseColorTextureRegion () const noexcept
 
void SetMaximumBaseColorTextureRegion () noexcept
 
void SetBaseColorTextureRegion (RECT texture_region) noexcept
 
TexturePtr GetBaseColorTexture () const noexcept
 
ID3D11ShaderResourceView * GetBaseColorSRV () const noexcept
 
void SetBaseColorTexture (TexturePtr base_color_texture) noexcept
 
- Public Member Functions inherited from mage::Component
virtual ~Component ()
 
Componentoperator= (const Component &component) noexcept
 
Componentoperator= (Component &&component) noexcept
 
State GetState () const noexcept
 
void SetState (State state) noexcept
 
U64 GetGuid () const noexcept
 
bool HasOwner () const noexcept
 
ProxyPtr< NodeGetOwner () noexcept
 
ProxyPtr< const NodeGetOwner () const noexcept
 

Private Attributes

SpriteTransform2D m_sprite_transform
 
SpriteEffect m_sprite_effects
 
RGBA m_base_color
 
RECT m_base_color_texture_region
 
TexturePtr m_base_color_texture
 

Additional Inherited Members

- Protected Member Functions inherited from mage::Component
 Component () noexcept
 
 Component (const Component &component) noexcept
 
 Component (Component &&component) noexcept
 

Detailed Description

A class of sprite images.

Constructor & Destructor Documentation

◆ SpriteImage() [1/3]

mage::rendering::SpriteImage::SpriteImage ( )
noexcept

Constructs a sprite image.

◆ SpriteImage() [2/3]

mage::rendering::SpriteImage::SpriteImage ( const SpriteImage sprite)
defaultnoexcept

Constructs a sprite image from the given sprite image.

Parameters
[in]spriteA reference to the sprite image to copy.

◆ SpriteImage() [3/3]

mage::rendering::SpriteImage::SpriteImage ( SpriteImage &&  sprite)
defaultnoexcept

Constructs a sprite image by moving the given sprite image.

Parameters
[in]spriteA reference to the sprite image to move.

◆ ~SpriteImage()

mage::rendering::SpriteImage::~SpriteImage ( )
virtualdefault

Destruct this sprite image.

Member Function Documentation

◆ Draw()

void mage::rendering::SpriteImage::Draw ( SpriteBatch sprite_batch) const

Draws this sprite image.

Parameters
[in,out]sprite_batchA reference to the sprite batch used for rendering this sprite image.

◆ GetBaseColor() [1/2]

RGBA& mage::rendering::SpriteImage::GetBaseColor ( )
noexcept

Returns the (linear) base color of this sprite image.

Returns
A reference to the (linear) base color of this sprite image.

◆ GetBaseColor() [2/2]

const RGBA& mage::rendering::SpriteImage::GetBaseColor ( ) const
noexcept

Returns the (linear) base color of this sprite image.

Returns
A reference to the (linear) base color of this sprite image.

◆ GetBaseColorSRV()

ID3D11ShaderResourceView* mage::rendering::SpriteImage::GetBaseColorSRV ( ) const
noexcept

Returns the shader resource view of the base color texture of this sprite image.

Returns
nullptr, if this sprite image has no base color texture.
A pointer to the shader resource view of the base color texture of this sprite image.

◆ GetBaseColorTexture()

TexturePtr mage::rendering::SpriteImage::GetBaseColorTexture ( ) const
noexcept

Returns the base color texture of this sprite image.

Returns
A pointer to the base color texture of this sprite image.

◆ GetBaseColorTextureRegion()

const RECT mage::rendering::SpriteImage::GetBaseColorTextureRegion ( ) const
noexcept

Returns the base color texture region of this sprite image.

Returns
The base color texture region of this sprite image.

◆ GetSpriteEffects()

SpriteEffect mage::rendering::SpriteImage::GetSpriteEffects ( ) const
noexcept

Returns the sprite effects of this sprite image.

Returns
The sprite effects of this sprite image.

◆ GetSpriteTransform() [1/2]

SpriteTransform2D& mage::rendering::SpriteImage::GetSpriteTransform ( )
noexcept

Returns the sprite transform of this sprite image.

Returns
A reference to the sprite transform of this sprite image.

◆ GetSpriteTransform() [2/2]

const SpriteTransform2D& mage::rendering::SpriteImage::GetSpriteTransform ( ) const
noexcept

Returns the sprite transform of this sprite image.

Returns
A reference to the sprite transform of this sprite image.

◆ HasMaximumBaseColorTextureRegion()

bool mage::rendering::SpriteImage::HasMaximumBaseColorTextureRegion ( ) const
noexcept

Checks whether the base color texture region of this sprite image corresponds to the maximum texture region.

Returns
true if the base color texture region of this sprite image corresponds to the maximum texture region. false otherwise.

◆ operator=() [1/2]

SpriteImage & mage::rendering::SpriteImage::operator= ( const SpriteImage sprite)
defaultnoexcept

Copies the given sprite image to this sprite image.

Parameters
[in]spriteA reference to the sprite image to copy.
Returns
A reference to the copy of the given sprite image (i.e. this sprite image).

◆ operator=() [2/2]

SpriteImage & mage::rendering::SpriteImage::operator= ( SpriteImage &&  sprite)
defaultnoexcept

Moves the given sprite image to this sprite image.

Parameters
[in]spriteA reference to the sprite image to move.
Returns
A reference to the moved sprite image (i.e. this sprite image).

◆ SetBaseColorTexture()

void mage::rendering::SpriteImage::SetBaseColorTexture ( TexturePtr  base_color_texture)
noexcept

Sets the base color texture of this sprite image to the given base color texture.

Parameters
[in]base_color_textureA pointer to the base color texture.

◆ SetBaseColorTextureRegion()

void mage::rendering::SpriteImage::SetBaseColorTextureRegion ( RECT  texture_region)
noexcept

Sets the base color texture region of this sprite image to the given texture region.

Parameters
[in]texture_regionThe texture region.

◆ SetMaximumBaseColorTextureRegion()

void mage::rendering::SpriteImage::SetMaximumBaseColorTextureRegion ( )
noexcept

Sets the base color texture region of this sprite image to the maximum texture region.

◆ SetSpriteEffects()

void mage::rendering::SpriteImage::SetSpriteEffects ( SpriteEffect  sprite_effects)
noexcept

Sets the sprite effects of this sprite image to the given sprite effects.

Parameters
[in]sprite_effectsThe sprite effects.

Member Data Documentation

◆ m_base_color

RGBA mage::rendering::SpriteImage::m_base_color
private

The (linear) base color of this sprite image.

◆ m_base_color_texture

TexturePtr mage::rendering::SpriteImage::m_base_color_texture
private

A pointer to the base color texture of this sprite image.

◆ m_base_color_texture_region

RECT mage::rendering::SpriteImage::m_base_color_texture_region
private

A pointer to the base color texture region of this sprite image.

If every member variable of the rectangle is zero, the full texture region is considered.

◆ m_sprite_effects

SpriteEffect mage::rendering::SpriteImage::m_sprite_effects
private

The sprite effects of this sprite image.

◆ m_sprite_transform

SpriteTransform2D mage::rendering::SpriteImage::m_sprite_transform
private

The sprite transform of this sprite image.