1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_GL_GL_CONTEXT_STUB_WITH_EXTENSIONS_H_ 6 #define UI_GL_GL_CONTEXT_STUB_WITH_EXTENSIONS_H_ 7 8 #include "ui/gl/gl_context_stub.h" 9 10 namespace gfx { 11 12 // Lightweight GLContext stub implementation that returns a constructed 13 // extensions string. We use this to create a context that we can use to 14 // initialize GL extensions with, without actually creating a platform context. 15 class GL_EXPORT GLContextStubWithExtensions : public gfx::GLContextStub { 16 public: GLContextStubWithExtensions()17 GLContextStubWithExtensions() {} 18 virtual std::string GetExtensions() OVERRIDE; 19 20 void AddExtensionsString(const char* extensions); 21 void SetGLVersionString(const char* version_str); 22 23 protected: 24 virtual std::string GetGLVersion() OVERRIDE; 25 ~GLContextStubWithExtensions()26 virtual ~GLContextStubWithExtensions() {} 27 28 private: 29 std::string extensions_; 30 std::string version_str_; 31 32 DISALLOW_COPY_AND_ASSIGN(GLContextStubWithExtensions); 33 }; 34 35 } // namespace gfx 36 37 #endif // UI_GL_GL_CONTEXT_STUB_WITH_EXTENSIONS_H_ 38