diff options
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/CSoftwareTexture.h')
-rw-r--r-- | libraries/irrlicht-1.8/source/Irrlicht/CSoftwareTexture.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/CSoftwareTexture.h b/libraries/irrlicht-1.8/source/Irrlicht/CSoftwareTexture.h new file mode 100644 index 0000000..ff06e16 --- /dev/null +++ b/libraries/irrlicht-1.8/source/Irrlicht/CSoftwareTexture.h | |||
@@ -0,0 +1,76 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __C_SOFTWARE_TEXTURE_H_INCLUDED__ | ||
6 | #define __C_SOFTWARE_TEXTURE_H_INCLUDED__ | ||
7 | |||
8 | #include "ITexture.h" | ||
9 | #include "CImage.h" | ||
10 | |||
11 | namespace irr | ||
12 | { | ||
13 | namespace video | ||
14 | { | ||
15 | |||
16 | /*! | ||
17 | interface for a Video Driver dependent Texture. | ||
18 | */ | ||
19 | class CSoftwareTexture : public ITexture | ||
20 | { | ||
21 | public: | ||
22 | |||
23 | //! constructor | ||
24 | CSoftwareTexture(IImage* surface, const io::path& name, | ||
25 | bool renderTarget=false, void* mipmapData=0); | ||
26 | |||
27 | //! destructor | ||
28 | virtual ~CSoftwareTexture(); | ||
29 | |||
30 | //! lock function | ||
31 | virtual void* lock(E_TEXTURE_LOCK_MODE mode=ETLM_READ_WRITE, u32 mipmapLevel=0); | ||
32 | |||
33 | //! unlock function | ||
34 | virtual void unlock(); | ||
35 | |||
36 | //! Returns original size of the texture. | ||
37 | virtual const core::dimension2d<u32>& getOriginalSize() const; | ||
38 | |||
39 | //! Returns (=size) of the texture. | ||
40 | virtual const core::dimension2d<u32>& getSize() const; | ||
41 | |||
42 | //! returns unoptimized surface | ||
43 | virtual CImage* getImage(); | ||
44 | |||
45 | //! returns texture surface | ||
46 | virtual CImage* getTexture(); | ||
47 | |||
48 | //! returns driver type of texture (=the driver, who created the texture) | ||
49 | virtual E_DRIVER_TYPE getDriverType() const; | ||
50 | |||
51 | //! returns color format of texture | ||
52 | virtual ECOLOR_FORMAT getColorFormat() const; | ||
53 | |||
54 | //! returns pitch of texture (in bytes) | ||
55 | virtual u32 getPitch() const; | ||
56 | |||
57 | //! Regenerates the mip map levels of the texture. Useful after locking and | ||
58 | //! modifying the texture | ||
59 | virtual void regenerateMipMapLevels(void* mipmapData=0); | ||
60 | |||
61 | //! is it a render target? | ||
62 | virtual bool isRenderTarget() const; | ||
63 | |||
64 | private: | ||
65 | CImage* Image; | ||
66 | CImage* Texture; | ||
67 | core::dimension2d<u32> OrigSize; | ||
68 | bool IsRenderTarget; | ||
69 | }; | ||
70 | |||
71 | |||
72 | } // end namespace video | ||
73 | } // end namespace irr | ||
74 | |||
75 | #endif | ||
76 | |||