00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _CEGUINullGeometryBuffer_h_
00029 #define _CEGUINullGeometryBuffer_h_
00030
00031 #include "../../CEGUIGeometryBuffer.h"
00032 #include "CEGUINullRenderer.h"
00033 #include "../../CEGUIRect.h"
00034 #include "../../CEGUIcolour.h"
00035 #include "../../CEGUIVertex.h"
00036
00037 #include <utility>
00038 #include <vector>
00039
00040 #if defined(_MSC_VER)
00041 # pragma warning(push)
00042 # pragma warning(disable : 4251)
00043 #endif
00044
00045
00046 namespace CEGUI
00047 {
00049 class NULL_GUIRENDERER_API NullGeometryBuffer : public GeometryBuffer
00050 {
00051 public:
00053 NullGeometryBuffer();
00055 virtual ~NullGeometryBuffer();
00056
00057
00058 void draw() const;
00059 void setTranslation(const Vector3& v);
00060 void setRotation(const Vector3& r);
00061 void setPivot(const Vector3& p);
00062 void setClippingRegion(const Rect& region);
00063 void appendVertex(const Vertex& vertex);
00064 void appendGeometry(const Vertex* const vbuff, uint vertex_count);
00065 void setActiveTexture(Texture* texture);
00066 void reset();
00067 Texture* getActiveTexture() const;
00068 uint getVertexCount() const;
00069 uint getBatchCount() const;
00070 void setRenderEffect(RenderEffect* effect);
00071 RenderEffect* getRenderEffect();
00072
00073 protected:
00075 NullTexture* d_activeTexture;
00077 Rect d_clipRect;
00079 Vector3 d_translation;
00081 Vector3 d_rotation;
00083 Vector3 d_pivot;
00085 RenderEffect* d_effect;
00087 typedef std::vector<Vertex> VertexList;
00089 VertexList d_vertices;
00090 };
00091
00092
00093 }
00094
00095 #if defined(_MSC_VER)
00096 # pragma warning(pop)
00097 #endif
00098
00099 #endif // end of guard _CEGUINullGeometryBuffer_h_