]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/batch.h
Use size_t to store sizes of buffers and such
[libs/gl.git] / source / core / batch.h
index 51cc573b18be326ac7b3ae4c26b75cf146e77aa6..1e0b4c4703e74b09602575b6f3fa206bfc746bdf 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <vector>
 #include <msp/datafile/objectloader.h>
+#include "batch_backend.h"
 #include "bufferable.h"
 #include "datatype.h"
 #include "primitivetype.h"
@@ -20,7 +21,7 @@ the Batch.
 This is a pretty low-level class and mainly intended to be used by the Mesh
 class.
 */
-class Batch: public Bufferable
+class Batch: public BatchBackend, public Bufferable
 {
 public:
        class Loader: public DataFile::ObjectLoader<Batch>
@@ -33,9 +34,7 @@ public:
 
 private:
        PrimitiveType prim_type;
-       GLenum gl_prim_type;
        DataType index_type;
-       GLenum gl_index_type;
        std::vector<std::uint8_t> data;
        unsigned max_index;
 
@@ -44,13 +43,8 @@ public:
        ~Batch();
 
        PrimitiveType get_type() const { return prim_type; }
-       GLenum get_gl_primitive_type() const { return gl_prim_type; }
        void set_index_type(DataType);
        DataType get_index_type() const { return index_type; }
-       GLenum get_gl_index_type() const { return gl_index_type; }
-
-       DEPRECATED void set_data_type(DataType t) { set_index_type(t); }
-       DEPRECATED DataType get_data_type() const { return index_type; }
 
        Batch &append(unsigned);
        Batch &append(const std::vector<unsigned> &);
@@ -58,14 +52,14 @@ public:
        Batch &append(const Batch &);
 private:
        void append_index(unsigned);
-       virtual unsigned get_data_size() const { return data.size(); }
+       virtual std::size_t get_data_size() const { return data.size(); }
        virtual const void *get_data_pointer() const { return &data[0]; }
-       virtual unsigned get_alignment() const { return get_index_size(); }
-       unsigned get_index_size() const;
+       virtual std::size_t get_alignment() const { return get_index_size(); }
+       std::size_t get_index_size() const;
 public:
-       unsigned size() const { return data.size()/get_index_size(); }
+       std::size_t size() const { return data.size()/get_index_size(); }
 
-       unsigned get_index(unsigned) const;
+       unsigned get_index(std::size_t) const;
 };
 
 } // namespace GL