Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::gui::IGUISpriteBank Class Referenceabstract

Sprite bank interface. More...

#include <nirtcpp/core/engine/IGUISpriteBank.hpp>

Inheritance diagram for nirt::gui::IGUISpriteBank:
Inheritance graph
Collaboration diagram for nirt::gui::IGUISpriteBank:
Collaboration graph

Public Member Functions

virtual core::array< core::rect< s32 > > & getPositions ()=0
 Returns the list of rectangles held by the sprite bank.
 
virtual core::array< SGUISprite > & getSprites ()=0
 Returns the array of animated sprites within the sprite bank.
 
virtual u32 getTextureCount () const =0
 Returns the number of textures held by the sprite bank.
 
virtual video::ITexturegetTexture (u32 index) const =0
 Gets the texture with the specified index.
 
virtual void addTexture (video::ITexture *texture)=0
 Adds a texture to the sprite bank.
 
virtual void setTexture (u32 index, video::ITexture *texture)=0
 Changes one of the textures in the sprite bank.
 
virtual s32 addTextureAsSprite (video::ITexture *texture)=0
 Add the texture and use it for a single non-animated sprite.
 
virtual void clear ()=0
 Clears sprites, rectangles and textures.
 
virtual void draw2DSprite (u32 index, const core::position2di &pos, const core::rect< s32 > *clip=0, const video::SColor &color=video::SColor(255, 255, 255, 255), u32 starttime=0, u32 currenttime=0, bool loop=true, bool center=false)=0
 Draws a sprite in 2d with position and color.
 
virtual void draw2DSprite (u32 index, const core::rect< s32 > &destRect, const core::rect< s32 > *clip=0, const video::SColor *const colors=0, u32 timeTicks=0, bool loop=true)=0
 Draws a sprite in 2d with destination rectangle and colors.
 
virtual void draw2DSpriteBatch (const core::array< u32 > &indices, const core::array< core::position2di > &pos, const core::rect< s32 > *clip=0, const video::SColor &color=video::SColor(255, 255, 255, 255), u32 starttime=0, u32 currenttime=0, bool loop=true, bool center=false)=0
 Draws a sprite batch in 2d using an array of positions and a color.
 
- Public Member Functions inherited from nirt::IReferenceCounted
 IReferenceCounted ()
 Constructor.
 
virtual ~IReferenceCounted ()
 Destructor.
 
void grab () const
 Grabs the object. Increments the reference counter by one.
 
bool drop () const
 Drops the object. Decrements the reference counter by one.
 
s32 getReferenceCount () const
 Get the reference count.
 
const c8getDebugName () const
 Returns the debug name of the object.
 

Additional Inherited Members

- Protected Member Functions inherited from nirt::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object.
 

Detailed Description

Sprite bank interface.

See http://http://nirtcpp.sourceforge.net/forum//viewtopic.php?f=9&t=25742 for more information how to use the spritebank.

Member Function Documentation

◆ addTextureAsSprite()

virtual s32 nirt::gui::IGUISpriteBank::addTextureAsSprite ( video::ITexture texture)
pure virtual

Add the texture and use it for a single non-animated sprite.

The texture and the corresponding rectangle and sprite will all be added to the end of each array.

Returns
The index of the sprite or -1 on failure

◆ draw2DSprite() [1/2]

virtual void nirt::gui::IGUISpriteBank::draw2DSprite ( u32  index,
const core::position2di pos,
const core::rect< s32 > *  clip = 0,
const video::SColor color = video::SColor(255, 255, 255, 255),
u32  starttime = 0,
u32  currenttime = 0,
bool  loop = true,
bool  center = false 
)
pure virtual

Draws a sprite in 2d with position and color.

Parameters
indexIndex of SGUISprite to draw
posTarget position - depending on center value either the left-top or the sprite center is used as pivot
clipClipping rectangle, can be 0 when clipping is not wanted.
colorColor with which the image is drawn. Note that the alpha component is used. If alpha is other than 255, the image will be transparent.
starttimeTick when the first frame was drawn (only difference currenttime-starttime matters).
currenttimeTo calculate the frame of animated sprites
loopWhen true animations are looped
centerWhen true pivot is set to the sprite-center. So it affects pos.

◆ draw2DSprite() [2/2]

virtual void nirt::gui::IGUISpriteBank::draw2DSprite ( u32  index,
const core::rect< s32 > &  destRect,
const core::rect< s32 > *  clip = 0,
const video::SColor *const  colors = 0,
u32  timeTicks = 0,
bool  loop = true 
)
pure virtual

Draws a sprite in 2d with destination rectangle and colors.

Parameters
indexIndex of SGUISprite to draw
destRectThe sprite will be scaled to fit this target rectangle
clipClipping rectangle, can be 0 when clipping is not wanted.
colorsArray of 4 colors denoting the color values of the corners of the destRect
timeTicksCurrent frame for animated sprites (same as currenttime-starttime in other draw2DSprite function)
loopWhen true animations are looped

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

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print