1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #include "WebGLExtensions.h" 7 8 #include "GLContext.h" 9 #include "mozilla/dom/WebGLRenderingContextBinding.h" 10 #include "WebGLBuffer.h" 11 #include "WebGLContext.h" 12 #include "WebGLVertexArray.h" 13 14 namespace mozilla { 15 WebGLExtensionVertexArray(WebGLContext * webgl)16WebGLExtensionVertexArray::WebGLExtensionVertexArray(WebGLContext* webgl) 17 : WebGLExtensionBase(webgl) 18 { 19 } 20 ~WebGLExtensionVertexArray()21WebGLExtensionVertexArray::~WebGLExtensionVertexArray() 22 { 23 } 24 25 already_AddRefed<WebGLVertexArray> CreateVertexArrayOES()26WebGLExtensionVertexArray::CreateVertexArrayOES() 27 { 28 if (mIsLost) 29 return nullptr; 30 31 return mContext->CreateVertexArray(); 32 } 33 34 void DeleteVertexArrayOES(WebGLVertexArray * array)35WebGLExtensionVertexArray::DeleteVertexArrayOES(WebGLVertexArray* array) 36 { 37 if (mIsLost) 38 return; 39 40 mContext->DeleteVertexArray(array); 41 } 42 43 bool IsVertexArrayOES(const WebGLVertexArray * array)44WebGLExtensionVertexArray::IsVertexArrayOES(const WebGLVertexArray* array) 45 { 46 if (mIsLost) 47 return false; 48 49 return mContext->IsVertexArray(array); 50 } 51 52 void BindVertexArrayOES(WebGLVertexArray * array)53WebGLExtensionVertexArray::BindVertexArrayOES(WebGLVertexArray* array) 54 { 55 if (mIsLost) 56 return; 57 58 mContext->BindVertexArray(array); 59 } 60 61 IMPL_WEBGL_EXTENSION_GOOP(WebGLExtensionVertexArray, OES_vertex_array_object) 62 63 } // namespace mozilla 64