Home | History | Annotate | Download | only in mesa
      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 
     22     static SkMesaGLContext* Create() {
     23         SkMesaGLContext* ctx = new SkMesaGLContext;
     24         if (!ctx->isValid()) {
     25             delete ctx;
     26             return nullptr;
     27         }
     28         return ctx;
     29     }
     30 
     31 private:
     32     SkMesaGLContext();
     33     void destroyGLContext();
     34 
     35     void onPlatformMakeCurrent() const override;
     36     void onPlatformSwapBuffers() const override;
     37     GrGLFuncPtr onPlatformGetProcAddress(const char*) const override;
     38 
     39     Context fContext;
     40     GrGLubyte *fImage;
     41 };
     42 
     43 #endif
     44 
     45 #endif
     46