Irrlicht 3D Engine
 
Loading...
Searching...
No Matches
IGUISpriteBank.h
Go to the documentation of this file.
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __I_GUI_SPRITE_BANK_H_INCLUDED__
6#define __I_GUI_SPRITE_BANK_H_INCLUDED__
7
8#include "IReferenceCounted.h"
9#include "irrArray.h"
10#include "SColor.h"
11#include "rect.h"
12
13namespace irr
14{
15
16namespace video
17{
18 class ITexture;
19} // end namespace video
20
21namespace gui
22{
23
30
39
40
42
45class IGUISpriteBank : public virtual IReferenceCounted
46{
47public:
48
51
54
56 virtual u32 getTextureCount() const = 0;
57
59 virtual video::ITexture* getTexture(u32 index) const = 0;
60
62 virtual void addTexture(video::ITexture* texture) = 0;
63
65 virtual void setTexture(u32 index, video::ITexture* texture) = 0;
66
70 virtual s32 addTextureAsSprite(video::ITexture* texture) = 0;
71
73 virtual void clear() = 0;
74
76 virtual void draw2DSprite(u32 index, const core::position2di& pos,
77 const core::rect<s32>* clip=0,
78 const video::SColor& color= video::SColor(255,255,255,255),
79 u32 starttime=0, u32 currenttime=0,
80 bool loop=true, bool center=false) = 0;
81
83 virtual void draw2DSpriteBatch(const core::array<u32>& indices, const core::array<core::position2di>& pos,
84 const core::rect<s32>* clip=0,
85 const video::SColor& color= video::SColor(255,255,255,255),
86 u32 starttime=0, u32 currenttime=0,
87 bool loop=true, bool center=false) = 0;
88};
89
90
91} // end namespace gui
92} // end namespace irr
93
94#endif // __I_GUI_SPRITE_BANK_H_INCLUDED__
95
Base class of most objects of the Irrlicht Engine.
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.h:22
Sprite bank interface.
virtual void setTexture(u32 index, video::ITexture *texture)=0
Changes one of the textures in the sprite bank.
virtual void clear()=0
clears sprites, rectangles and textures
virtual core::array< SGUISprite > & getSprites()=0
Returns the array of animated sprites within the sprite bank.
virtual s32 addTextureAsSprite(video::ITexture *texture)=0
virtual u32 getTextureCount() const =0
Returns the number of textures held by the sprite bank.
virtual video::ITexture * getTexture(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 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.
virtual core::array< core::rect< s32 > > & getPositions()=0
Returns the list of rectangles held by the sprite bank.
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.
Interface of a Video Driver dependent Texture.
Definition ITexture.h:99
Class representing a 32 bit ARGB color.
Definition SColor.h:202
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
signed int s32
32 bit signed variable.
Definition irrTypes.h:66
A single sprite frame.
A sprite composed of several frames.
core::array< SGUISpriteFrame > Frames