class CCTextureAtlas : public CCObject
{
    unsigned int getTotalQuads();
    unsigned int getCapacity();

    void setTexture(CCTexture2D* val);
    CCTexture2D* getTexture();

    void setQuads(V3F_C4B_T2F_Quad* val);
    V3F_C4B_T2F_Quad* getQuads();

    void updateQuad(V3F_C4B_T2F_Quad* quad, unsigned int index);
    void insertQuad(V3F_C4B_T2F_Quad* quad, unsigned int index);
    void insertQuadFromIndex(unsigned int fromIndex, unsigned int newIndex);
    void removeQuadAtIndex(unsigned int index);
    void removeAllQuads();
    bool resizeCapacity(unsigned int n);
    void drawNumberOfQuads(unsigned int n);
    void drawNumberOfQuads(unsigned int n, unsigned int start);

	void increaseTotalQuadsWith(unsigned int amount);
    void moveQuadsFromIndex(unsigned int oldIndex, unsigned int amount, unsigned int newIndex);
    void moveQuadsFromIndex(unsigned int index, unsigned int newIndex);
    void fillWithEmptyQuadsFromIndex(unsigned int index, unsigned int amount);
    void drawQuads();

    static CCTextureAtlas* create(const char* file , unsigned int capacity);
    static CCTextureAtlas* createWithTexture(CCTexture2D *texture, unsigned int capacity);
};