#ifndef GOSUIMPL_GRAPHICS_TEXTURE_HPP #define GOSUIMPL_GRAPHICS_TEXTURE_HPP #include #include #include #include #include #include #include namespace Gosu { class Texture { BlockAllocator allocator; GLuint name; unsigned num; public: static unsigned maxTextureSize(); Texture(unsigned size); ~Texture(); unsigned size() const; GLuint texName() const; std::auto_ptr tryAlloc(Graphics& graphics, DrawOpQueueStack& queues, boost::shared_ptr ptr, const Bitmap& bmp, unsigned srcX, unsigned srcY, unsigned srcWidth, unsigned srcHeight, unsigned padding); void free(unsigned x, unsigned y); }; } #endif