/* $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
*/
#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"
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> &);
};
- Batch(PrimitiveType t);
- void append(uint);
- void append(const std::vector<uint> &);
- void draw() const;
private:
PrimitiveType type;
std::vector<uint> indices;
uint min_index;
uint max_index;
+
+public:
+ Batch(PrimitiveType t);
+ Batch &append(uint);
+ void append(const std::vector<uint> &);
+ PrimitiveType get_type() const { return type; }
+ unsigned size() const { return indices.size(); }
+ const std::vector<uint> &get_indices() const { return indices; }
+ void draw() const;
+ void draw_with_buffer(unsigned) const;
};
} // namespace GL