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 SkMesaGLContext_DEFINED 9 #define SkMesaGLContext_DEFINED 10 11 #include "gl/SkGLContext.h" 12 13 #if SK_MESA 14 15 class SkMesaGLContext : public SkGLContext { 16 private: 17 typedef intptr_t Context; 18 19 public: 20 ~SkMesaGLContext() override; 21 void makeCurrent() const override; 22 void swapBuffers() const override; 23 Create(GrGLStandard forcedGpuAPI)24 static SkMesaGLContext* Create(GrGLStandard forcedGpuAPI) { 25 if (kGLES_GrGLStandard == forcedGpuAPI) { 26 return NULL; 27 } 28 SkMesaGLContext* ctx = SkNEW(SkMesaGLContext); 29 if (!ctx->isValid()) { 30 SkDELETE(ctx); 31 return NULL; 32 } 33 return ctx; 34 } 35 36 private: 37 SkMesaGLContext(); 38 void destroyGLContext(); 39 40 Context fContext; 41 GrGLubyte *fImage; 42 }; 43 44 #endif 45 46 #endif 47