blob: b4eef93280224ff78b95fe70aae4f39a78e16046 [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001// Copyright (c) 2012 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_H_
6#define UI_GL_GL_CONTEXT_STUB_H_
7
8#include "ui/gl/gl_context.h"
9
10namespace gfx {
11
12// A GLContext that does nothing for unit tests.
13class GL_EXPORT GLContextStub : public GLContextReal {
14 public:
15 GLContextStub();
16
17 // Implement GLContext.
James Robinsone1b30cf2014-10-21 12:25:40 -070018 bool Initialize(GLSurface* compatible_surface,
19 GpuPreference gpu_preference) override;
20 void Destroy() override;
21 bool MakeCurrent(GLSurface* surface) override;
22 void ReleaseCurrent(GLSurface* surface) override;
23 bool IsCurrent(GLSurface* surface) override;
24 void* GetHandle() override;
Etienne Membrivesb1556b32014-12-16 13:56:09 +010025 void OnSetSwapInterval(int interval) override;
James Robinsone1b30cf2014-10-21 12:25:40 -070026 std::string GetExtensions() override;
27 std::string GetGLRenderer() override;
James Robinson646469d2014-10-03 15:33:28 -070028
29 protected:
James Robinsone1b30cf2014-10-21 12:25:40 -070030 ~GLContextStub() override;
James Robinson646469d2014-10-03 15:33:28 -070031
32 private:
33 DISALLOW_COPY_AND_ASSIGN(GLContextStub);
34};
35
36} // namespace gfx
37
38#endif // UI_GL_GL_CONTEXT_STUB_H_