1
2/*
3 * Copyright 2011 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8#ifndef SkNullGLContext_DEFINED
9#define SkNullGLContext_DEFINED
10
11#include "gl/SkGLContext.h"
12
13class SK_API SkNullGLContext : public SkGLContext {
14public:
15    ~SkNullGLContext() override;
16
17    static SkNullGLContext* Create();
18    // FIXME: remove once Chromium has been updated.
19    static SkNullGLContext* Create(GrGLStandard forcedAPI) {
20        SkASSERT(forcedAPI == kNone_GrGLStandard);
21        (void)forcedAPI;        return Create();
22    }
23
24    class ContextState;
25
26private:
27    SkNullGLContext();
28
29    void onPlatformMakeCurrent() const override;
30    void onPlatformSwapBuffers() const override {}
31    GrGLFuncPtr onPlatformGetProcAddress(const char*) const override { return NULL; }
32
33    ContextState* fState;
34};
35
36#endif
37