TinyGPU
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
FrameBuffer< RGB_T, SurfaceT >::SpriteInfo Struct Reference

#include <FrameBuffer.h>

Collaboration diagram for FrameBuffer< RGB_T, SurfaceT >::SpriteInfo:
Collaboration graph
[legend]

Public Member Functions

 SpriteInfo (size_t startX, size_t startY, const ISurface< RGB_T > &sourceSprite, RGB_T transparentColor, IFont< RGB_T > &font)
 
const ISurface< RGB_T > & currentSprite () const
 Returns the sprite image currently used for drawing.
 
void saveOriginalPixels (ISurface< RGB_T > &framebuffer)
 Saves the background pixels currently covered by the sprite.
 
void setMaxSize (size_t maxX, size_t maxY)
 Set the maximum buffer size for transformedSprite and allocate buffer.
 
void setTransformedSprite (SurfaceT &&newSprite)
 

Public Attributes

size_t x = 0
 
size_t y = 0
 
size_t maxWidth = 0
 
size_t maxHeight = 0
 
RGB_T invisibleColor = RGB_T(0)
 
const ISurface< RGB_T > * sprite = nullptr
 
std::unique_ptr< SurfaceT > transformedSprite
 
SurfaceT originalPixels
 
IFont< RGB_T > & fontRef
 

Detailed Description

template<typename RGB_T = RGB565, typename SurfaceT = Surface<RGB_T>>
struct tinygpu::FrameBuffer< RGB_T, SurfaceT >::SpriteInfo

Tracks a sprite instance together with its saved background pixels.

Each SpriteInfo stores the sprite position, transparent color, current sprite image, and a snapshot of the framebuffer region covered by it.

Constructor & Destructor Documentation

◆ SpriteInfo()

SpriteInfo ( size_t  startX,
size_t  startY,
const ISurface< RGB_T > &  sourceSprite,
RGB_T  transparentColor,
IFont< RGB_T > &  font 
)
inline

Member Function Documentation

◆ currentSprite()

const ISurface< RGB_T > & currentSprite ( ) const
inline

Returns the sprite image currently used for drawing.

◆ saveOriginalPixels()

void saveOriginalPixels ( ISurface< RGB_T > &  framebuffer)
inline

Saves the background pixels currently covered by the sprite.

◆ setMaxSize()

void setMaxSize ( size_t  maxX,
size_t  maxY 
)
inline

Set the maximum buffer size for transformedSprite and allocate buffer.

◆ setTransformedSprite()

void setTransformedSprite ( SurfaceT &&  newSprite)
inline

Replaces the current transformed sprite image, using only the allocated buffer.

Member Data Documentation

◆ fontRef

IFont<RGB_T>& fontRef

◆ invisibleColor

RGB_T invisibleColor = RGB_T(0)

◆ maxHeight

size_t maxHeight = 0

◆ maxWidth

size_t maxWidth = 0

◆ originalPixels

SurfaceT originalPixels

◆ sprite

const ISurface<RGB_T>* sprite = nullptr

◆ transformedSprite

std::unique_ptr<SurfaceT> transformedSprite

◆ x

size_t x = 0

◆ y

size_t y = 0

The documentation for this struct was generated from the following file: