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 "SkGLContext.h" 12 13#if SK_MESA 14 15class SkMesaGLContext : public SkGLContext { 16private: 17 typedef intptr_t Context; 18 19public: 20 SkMesaGLContext(); 21 22 virtual ~SkMesaGLContext(); 23 24 virtual void makeCurrent() const SK_OVERRIDE; 25 26 class AutoContextRestore { 27 public: 28 AutoContextRestore(); 29 ~AutoContextRestore(); 30 31 private: 32 Context fOldContext; 33 GLint fOldWidth; 34 GLint fOldHeight; 35 GLint fOldFormat; 36 void* fOldImage; 37 }; 38 39protected: 40 virtual const GrGLInterface* createGLContext() SK_OVERRIDE; 41 virtual void destroyGLContext() SK_OVERRIDE; 42 43private: 44 Context fContext; 45 GrGLubyte *fImage; 46}; 47 48#endif 49 50#endif 51