27 #ifndef _CEGUIDirect3D9Texture_h_
28 #define _CEGUIDirect3D9Texture_h_
30 #include "../../Base.h"
31 #include "../../Renderer.h"
32 #include "../../Texture.h"
33 #include "CEGUI/RendererModules/Direct3D9/Renderer.h"
36 # pragma warning(push)
37 # pragma warning(disable : 4251)
44 class DIRECT3D9_GUIRENDERER_API Direct3D9Texture :
public Texture
52 void setDirect3D9Texture(LPDIRECT3DTEXTURE9 tex);
61 LPDIRECT3DTEXTURE9 getDirect3D9Texture()
const;
70 void setOriginalDataSize(
const Sizef& sz);
79 const String& getName()
const;
80 const Sizef& getSize()
const;
81 const Sizef& getOriginalDataSize()
const;
82 const Vector2f& getTexelScaling()
const;
83 void loadFromFile(
const String& filename,
const String& resourceGroup);
84 void loadFromMemory(
const void* buffer,
const Sizef& buffer_size,
85 PixelFormat pixel_format);
86 void blitFromMemory(
const void* sourceData,
const Rectf& area);
87 void blitToMemory(
void* targetData);
88 bool isPixelFormatSupported(
const PixelFormat fmt)
const;
99 LPDIRECT3DTEXTURE9 tex);
104 Direct3D9Texture(Direct3D9Renderer& owner,
const String& name);
106 Direct3D9Texture(Direct3D9Renderer& owner,
const String& name,
107 const String& filename,
const String& resourceGroup);
109 Direct3D9Texture(Direct3D9Renderer& owner,
const String& name,
112 Direct3D9Texture(Direct3D9Renderer& owner,
const String& name,
113 LPDIRECT3DTEXTURE9 tex);
115 virtual ~Direct3D9Texture();
118 void createDirect3D9Texture(
const Sizef sz, D3DFORMAT format);
120 void cleanupDirect3D9Texture();
122 IDirect3DSurface9* getTextureSurface()
const;
124 void updateCachedScaleValues();
126 void updateTextureSize();
129 Direct3D9Renderer& d_owner;
131 LPDIRECT3DTEXTURE9 d_texture;
137 Vector2f d_texelScaling;
139 D3DSURFACE_DESC d_savedSurfaceDesc;
141 bool d_savedSurfaceDescValid;
148 #if defined(_MSC_VER)
149 # pragma warning(pop)
152 #endif // end of guard _CEGUIDirect3D9Texture_h_