#ifndef __GLSPRITE_H__ #define __GLSPRITE_H__ #include #include #include #include #include "gltexture.h" #include "sprite.h" namespace mogltk { class glSprite : public Sprite { public: glSprite(Handle *, int, int); glSprite(Uint8 *, int, int); virtual ~glSprite(); virtual void draw(int, int, ColorP = WHITE); private: class TexList : public Base { public: TexList(int); virtual ~TexList(); glSprite * sprheader; const texture * GetTex() const; texture * GetTex(); static const TexList * GetHead(); const TexList * GetNext() const; TexList * GetNext(); void Bind() const; private: texture * tex; static TexList * header; TexList * next, * prev; }; glSprite * next, * prev; TexList * tlist; int sx, sy, posx, posy; void alloc(); bool canfit(int, int, int, int) const; bool intersect(int, int, int, int) const; }; }; #endif