1 // 2 // Copyright 2014 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // VertexAttribImpl.h: Defines the abstract rx::VertexAttribImpl class. 8 9 #ifndef LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_ 10 #define LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_ 11 12 #include "common/angleutils.h" 13 #include "libGLESv2/Buffer.h" 14 #include "libGLESv2/VertexAttribute.h" 15 16 namespace rx 17 { 18 19 class VertexArrayImpl 20 { 21 public: ~VertexArrayImpl()22 virtual ~VertexArrayImpl() { } 23 24 virtual void setElementArrayBuffer(const gl::Buffer *buffer) = 0; 25 virtual void setAttribute(size_t idx, const gl::VertexAttribute &attr) = 0; 26 virtual void setAttributeDivisor(size_t idx, GLuint divisor) = 0; 27 virtual void enableAttribute(size_t idx, bool enabledState) = 0; 28 }; 29 30 } 31 32 #endif // LIBGLESV2_RENDERER_VERTEXARRAYIMPL_H_ 33