• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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