diff options
author | 2012-02-10 21:01:00 +0000 | |
---|---|---|
committer | 2012-02-10 21:01:00 +0000 | |
commit | dd182cbca60a7f0003330c01dfc64f69f56aea90 (patch) | |
tree | 19e01a17322afef55c47163c963e32a3678ca385 /src/gpu/gl/GrGLIndexBuffer.h | |
parent | 5eb7b8cf34a554a793f5e8122236a957cfb1b85f (diff) |
Move GL-specific source code to make room for D3D back end.
git-svn-id: http://skia.googlecode.com/svn/trunk@3165 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu/gl/GrGLIndexBuffer.h')
-rw-r--r-- | src/gpu/gl/GrGLIndexBuffer.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLIndexBuffer.h b/src/gpu/gl/GrGLIndexBuffer.h new file mode 100644 index 0000000000..9f32890b28 --- /dev/null +++ b/src/gpu/gl/GrGLIndexBuffer.h @@ -0,0 +1,55 @@ + +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + + +#ifndef GrGLIndexBuffer_DEFINED +#define GrGLIndexBuffer_DEFINED + +#include "../GrIndexBuffer.h" +#include "GrGLInterface.h" + +class GrGpuGL; + +class GrGLIndexBuffer : public GrIndexBuffer { + +public: + + virtual ~GrGLIndexBuffer() { this->release(); } + + GrGLuint bufferID() const; + + // overrides of GrIndexBuffer + virtual void* lock(); + virtual void* lockPtr() const; + virtual void unlock(); + virtual bool isLocked() const; + virtual bool updateData(const void* src, size_t srcSizeInBytes); + +protected: + GrGLIndexBuffer(GrGpuGL* gpu, + GrGLuint id, + size_t sizeInBytes, + bool dynamic); + + // overrides of GrResource + virtual void onAbandon(); + virtual void onRelease(); + +private: + void bind() const; + + GrGLuint fBufferID; + void* fLockPtr; + + friend class GrGpuGL; + + typedef GrIndexBuffer INHERITED; +}; + +#endif |