27 #ifndef _CEGUIDirect3D9GeometryBuffer_h_
28 #define _CEGUIDirect3D9GeometryBuffer_h_
30 #include "../../GeometryBuffer.h"
31 #include "CEGUI/RendererModules/Direct3D9/Renderer.h"
32 #include "../../Rect.h"
33 #include "../../Quaternion.h"
39 # pragma warning(push)
40 # pragma warning(disable : 4251)
46 class Direct3D9Texture;
52 class DIRECT3D9_GUIRENDERER_API Direct3D9GeometryBuffer :
public GeometryBuffer
56 Direct3D9GeometryBuffer(Direct3D9Renderer& owner, LPDIRECT3DDEVICE9 device);
59 const D3DXMATRIX* getMatrix()
const;
63 void setTranslation(
const Vector3f& t);
64 void setRotation(
const Quaternion& r);
65 void setPivot(
const Vector3f& p);
66 void setClippingRegion(
const Rectf& region);
67 void appendVertex(
const Vertex& vertex);
68 void appendGeometry(
const Vertex*
const vbuff, uint vertex_count);
69 void setActiveTexture(Texture* texture);
71 Texture* getActiveTexture()
const;
72 uint getVertexCount()
const;
73 uint getBatchCount()
const;
76 void setClippingActive(
const bool active);
77 bool isClippingActive()
const;
81 void performBatchManagement();
83 void updateMatrix()
const;
99 LPDIRECT3DTEXTURE9 texture;
105 Direct3D9Renderer& d_owner;
107 Direct3D9Texture* d_activeTexture;
119 bool d_clippingActive;
129 LPDIRECT3DDEVICE9 d_device;
131 mutable D3DXMATRIX d_matrix;
133 mutable bool d_matrixValid;
138 #if defined(_MSC_VER)
139 # pragma warning(pop)
142 #endif // end of guard _CEGUIDirect3D9GeometryBuffer_h_