Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# IGUISpriteBank.h

Go to the documentation of this file.

    00001 // Copyright (C) 2002-2009 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    00004
    00005 #ifndef __I_GUI_SPRITE_BANK_H_INCLUDED__
    00006 #define __I_GUI_SPRITE_BANK_H_INCLUDED__
    00007
    00008 #include "IReferenceCounted.h"
    00009 #include "irrArray.h"
    00010 #include "SColor.h"
    00011 #include "rect.h"
    00012
    00013 namespace irr
    00014 {
    00015
    00016 namespace video
    00017 {
    00018         class ITexture;
    00019 } // end namespace video
    00020
    00021 namespace gui
    00022 {
    00023
    00025 struct SGUISpriteFrame
    00026 {
    00027         u32 textureNumber;
    00028         u32 rectNumber;
    00029 };
    00030
    00032 struct SGUISprite
    00033 {
    00034         SGUISprite() : Frames(), frameTime(0) {}
    00035
    00036         core::array<SGUISpriteFrame> Frames;
    00037         u32 frameTime;
    00038 };
    00039
    00040
    00042
    00045 class IGUISpriteBank : public virtual IReferenceCounted
    00046 {
    00047 public:
    00048
    00050         virtual core::array< core::rect<s32> >& getPositions() = 0;
    00051
    00053         virtual core::array< SGUISprite >& getSprites() = 0;
    00054
    00056         virtual u32 getTextureCount() const = 0;
    00057
    00059         virtual video::ITexture* getTexture(u32 index) const = 0;
    00060
    00062         virtual void addTexture(video::ITexture* texture) = 0;
    00063
    00065         virtual void setTexture(u32 index, video::ITexture* texture) = 0;
    00066
    00070         virtual s32 addTextureAsSprite(video::ITexture* texture) = 0;
    00071
    00073         virtual void clear() = 0;
    00074
    00076         virtual void draw2DSprite(u32 index, const core::position2di& pos,
    00077                         const core::rect<s32>* clip=0,
    00078                         const video::SColor& color= video::SColor(255,255,255,255),
    00079                         u32 starttime=0, u32 currenttime=0,
    00080                         bool loop=true, bool center=false) = 0;
    00081
    00083         virtual void draw2DSpriteBatch(const core::array<u32>& indices, const core::array<core::position2di>& pos,
    00084                         const core::rect<s32>* clip=0,
    00085                         const video::SColor& color= video::SColor(255,255,255,255),
    00086                         u32 starttime=0, u32 currenttime=0,
    00087                         bool loop=true, bool center=false) = 0;
    00088 };
    00089
    00090
    00091 } // end namespace gui
    00092 } // end namespace irr
    00093
    00094 #endif // __I_GUI_SPRITE_BANK_H_INCLUDED__
    00095

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Feb 14 13:06:57 2010 by Doxygen (1.6.2)