X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuffer.h;h=a7d4c2ba4314f8cbbc9db9fb6c2422cf0e85da2c;hb=8b99547d099c96bd8cc6037e2026db123b2523c1;hp=b3a2902f6cb2ca89f663b8c20a8ea0207e8bbdd7;hpb=80977251da90a6878b82d143c22b8335284d3b3e;p=libs%2Fgl.git diff --git a/source/buffer.h b/source/buffer.h index b3a2902f..a7d4c2ba 100644 --- a/source/buffer.h +++ b/source/buffer.h @@ -58,6 +58,12 @@ private: static void require_buffer_type(BufferType); public: + /** Returns the OpenGL ID of the buffer. For internal use only. */ + unsigned get_id() const { return id; } + + /** Returns the default binding type for the buffer. */ + BufferType get_type() const { return type; } + /** Sets the usage hint of the buffer. It will take effect the next time the buffer's contents are defined. */ void set_usage(BufferUsage); @@ -83,30 +89,11 @@ public: /** Unbinds the buffer from its default slot. */ void unbind() const { unbind_from(type); } - static const Buffer *current(BufferType t) { return binding(t); } + static const Buffer *current(BufferType); static void unbind_from(BufferType); private: static const Buffer *&binding(BufferType); static bool set_current(BufferType, const Buffer *); - static void restore(const Buffer *, BufferType); -}; - - -/** -An adaptor for Buffer to make it compatible with Bind. -*/ -template -class BufferAlias -{ -private: - const Buffer &buffer; - -public: - BufferAlias(const Buffer &b): buffer(b) { } - - void bind() const { buffer.bind_to(T); } - static const Buffer *current() { return Buffer::current(T); } - static void unbind() { Buffer::unbind_from(T); } };