Most everything is built as shared libraries now except services.
[fail.git] / include / scenegraph / IndexBuffer16.h
blob42efef362f2d3360908e6bb72e6d3feecc8608dd
1 #ifndef AWFUL_SCENEGRAPH_INDEXBUFFER16_H_
2 #define AWFUL_SCENEGRAPH_INDEXBUFFER16_H_
4 #include "core/core.h"
5 #include "scenegraph/scenegraph_export.h"
6 #include "IndexBuffer.h"
7 #include <vector>
9 namespace awful { namespace scenegraph
11 class AWSCENEGRAPH_EXPORT IndexBuffer16 : public IndexBuffer
13 public:
14 IndexBuffer16();
15 IndexBuffer16( uint32_t Size_ );
16 IndexBuffer16( const Serialization_tag& );
18 void setIndex( uint32_t i, uint16_t Index )
20 m_Indices[i] = Index;
22 uint16_t getIndex( uint32_t i ) const
24 return m_Indices[i];
27 virtual void bind() const;
29 const uint32_t& getSize() const { return m_Size; }
30 void setSize( const uint32_t& Size_ ) { m_Size = Size_; m_Indices.resize( Size_ ); }
32 private:
33 template< class C, typename T > friend struct awful::attribute_traits;
34 uint32_t m_Size;
35 std::vector< uint16_t > m_Indices;
39 #endif