]> git.tdb.fi Git - libs/gl.git/blobdiff - source/batch.h
Get rid of the typedefs for fundamental types
[libs/gl.git] / source / batch.h
index 237995dcd7698b60061836336524e9ce8181cdc0..2b907d4846bc0032e51f1160678b48d779a6350f 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
+Copyright © 2007, 2009-2010 Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -9,10 +9,8 @@ Distributed under the LGPL
 #define MSP_GL_BATCH_H_
 
 #include <vector>
-#include <GL/gl.h>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
 #include "primitivetype.h"
-#include "types.h"
 
 namespace Msp {
 namespace GL {
@@ -20,25 +18,30 @@ namespace GL {
 class Batch
 {
 public:
-       class Loader: public DataFile::Loader
+       class Loader: public DataFile::ObjectLoader<Batch>
        {
        public:
                Loader(Batch &);
        private:
-               Batch &batch;
-
-               void indices(const std::vector<uint> &);
+               void indices(const std::vector<unsigned> &);
        };
 
-       Batch(PrimitiveType t);
-       Batch &append(uint);
-       void append(const std::vector<uint> &);
-       void draw() const;
 private:
        PrimitiveType type;
-       std::vector<uint> indices;
-       uint min_index;
-       uint max_index;
+       std::vector<unsigned> indices;
+       unsigned min_index;
+       unsigned max_index;
+
+public:
+       Batch(PrimitiveType t);
+
+       Batch &append(unsigned);
+       void append(const std::vector<unsigned> &);
+       PrimitiveType get_type() const { return type; }
+       unsigned size() const { return indices.size(); }
+       const std::vector<unsigned> &get_indices() const { return indices; }
+       void draw() const;
+       void draw_with_buffer(unsigned) const;
 };
 
 } // namespace GL