/* * 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 SkMesaGLContext_DEFINED #define SkMesaGLContext_DEFINED #include "gl/SkGLContext.h" #if SK_MESA class SkMesaGLContext : public SkGLContext { private: typedef intptr_t Context; public: ~SkMesaGLContext() override; static SkMesaGLContext* Create(GrGLStandard forcedGpuAPI) { if (kGLES_GrGLStandard == forcedGpuAPI) { return nullptr; } SkMesaGLContext* ctx = new SkMesaGLContext; if (!ctx->isValid()) { delete ctx; return nullptr; } return ctx; } private: SkMesaGLContext(); void destroyGLContext(); void onPlatformMakeCurrent() const override; void onPlatformSwapBuffers() const override; GrGLFuncPtr onPlatformGetProcAddress(const char*) const override; Context fContext; GrGLubyte *fImage; }; #endif #endif