X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexture2d.h;h=2a49eca572ee06e25a7a770488b0639d6fd07fc9;hb=refs%2Fheads%2Fmaster;hp=ff4d35b64b24685661f842b6f652604b0d4220a4;hpb=e003d7a1497dad3b13e4e88e681f8fa2afc40c83;p=libs%2Fgl.git diff --git a/source/texture2d.h b/source/texture2d.h deleted file mode 100644 index ff4d35b6..00000000 --- a/source/texture2d.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef MSP_GL_TEXTURE2D_H_ -#define MSP_GL_TEXTURE2D_H_ - -#include -#include -#include "datatype.h" -#include "pixelformat.h" -#include "texture.h" - -namespace Msp { -namespace GL { - -/** -Two-dimensional texture. Consists of an array of texels in the shape of a -rectangle. Texture coordinate have a principal range of [0, 1]. This is the -most common type of texture. -*/ -class Texture2D: public Texture -{ -public: - class Loader: public Texture::Loader - { - public: - Loader(Texture2D &); - private: - void image_data(const std::string &); - void raw_data(const std::string &); - void storage(PixelFormat, unsigned, unsigned); - void storage_b(PixelFormat, unsigned, unsigned, unsigned); - }; - -private: - PixelFormat ifmt; - unsigned width; - unsigned height; - unsigned allocated; - -public: - Texture2D(); - - /** Defines storage structure for the texture. Must be called before an - image can be uploaded. Once storage is defined, it can't be changed. */ - void storage(PixelFormat fmt, unsigned wd, unsigned ht); - - /** Allocates storage for the texture. The contents are initially - undefined. If storage has already been allocated, does nothing. */ - void allocate(unsigned level); - - /** Uploads an image to the texture. Storage must be defined beforehand. - The image data must have dimensions and format compatible with the defined - storage. */ - void image(unsigned level, PixelFormat fmt, DataType type, const void *data); - - /** Updates a rectangular region of the texture. Storage must be defined - and allocated beforehand. The update region must be fully inside the - texture. */ - void sub_image(unsigned level, int x, int y, unsigned wd, unsigned ht, - PixelFormat fmt, DataType type, const void *data); - - /** Loads an image from a file and uploads it to the texture. If storage - has not been defined, it will be set to match the loaded image. Otherwise - the image must be compatible with the defined storage. */ - void load_image(const std::string &fn); - - unsigned get_width() const { return width; } - unsigned get_height() const { return height; } - -private: - void image(const Graphics::Image &); - void get_level_size(unsigned, unsigned &, unsigned &); -}; - -} // namespace GL -} // namespace Msp - -#endif