summaryrefslogtreecommitdiff
path: root/include/mbgl/geometry
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2014-08-27 12:08:21 +0200
committerKonstantin Käfer <mail@kkaefer.com>2014-08-27 12:08:21 +0200
commitc3cb4582250fc9f6bc125cfa11729a502b7d7a04 (patch)
tree5e14e4559629a58c14d160fdf8dd57e454016e36 /include/mbgl/geometry
parent67629d7f869e603517bd7c97c2fb8ff21dd57bc6 (diff)
downloadqtlocation-mapboxgl-c3cb4582250fc9f6bc125cfa11729a502b7d7a04.tar.gz
make ElementGroup and VertexArrayObject movable to avoid using unique_ptrs
Diffstat (limited to 'include/mbgl/geometry')
-rw-r--r--include/mbgl/geometry/elements_buffer.hpp5
-rw-r--r--include/mbgl/geometry/vao.hpp10
2 files changed, 15 insertions, 0 deletions
diff --git a/include/mbgl/geometry/elements_buffer.hpp b/include/mbgl/geometry/elements_buffer.hpp
index 44b5c71dd2..56080e29fe 100644
--- a/include/mbgl/geometry/elements_buffer.hpp
+++ b/include/mbgl/geometry/elements_buffer.hpp
@@ -20,6 +20,11 @@ struct ElementGroup : public util::noncopyable {
: vertex_length(vertex_length),
elements_length(elements_length) {
}
+
+ ElementGroup(ElementGroup &&rhs) noexcept
+ : array(std::move(rhs.array)),
+ vertex_length(rhs.vertex_length),
+ elements_length(rhs.elements_length) {};
};
class TriangleElementsBuffer : public Buffer<
diff --git a/include/mbgl/geometry/vao.hpp b/include/mbgl/geometry/vao.hpp
index 3d32ed28a8..bb1f571fff 100644
--- a/include/mbgl/geometry/vao.hpp
+++ b/include/mbgl/geometry/vao.hpp
@@ -12,6 +12,16 @@ namespace mbgl {
#if GL_ARB_vertex_array_object
class VertexArrayObject : public util::noncopyable {
public:
+ inline VertexArrayObject() {};
+
+ inline VertexArrayObject(VertexArrayObject &&rhs) noexcept
+ : vao(rhs.vao),
+ bound_shader(rhs.bound_shader),
+ bound_shader_name(rhs.bound_shader_name),
+ bound_vertex_buffer(rhs.bound_vertex_buffer),
+ bound_elements_buffer(rhs.bound_elements_buffer),
+ bound_offset(rhs.bound_offset) {};
+
template <typename Shader, typename VertexBuffer>
inline void bind(Shader& shader, VertexBuffer &vertexBuffer, char *offset) {
bindVertexArrayObject();