1 /* 2 * Copyright 2013 Google Inc. 3 * 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 */ 9 10 #ifndef SkV8Example_DEFINED 11 #define SkV8Example_DEFINED 12 13 #include "SkWindow.h" 14 15 class GrContext; 16 class GrGLInterface; 17 class GrRenderTarget; 18 class SkSurface; 19 20 class JsContext; 21 22 class SkV8ExampleWindow : public SkOSWindow { 23 public: 24 SkV8ExampleWindow(void* hwnd, JsContext* canvas); 25 virtual ~SkV8ExampleWindow(); 26 27 protected: 28 void onDraw(SkCanvas* canvas) override; 29 void onSizeChange() override; 30 31 #if SK_SUPPORT_GPU 32 SkSurface* createSurface() override; 33 #endif 34 35 #ifdef SK_BUILD_FOR_WIN 36 void onHandleInval(const SkIRect&) override; 37 #endif 38 39 void windowSizeChanged(); 40 41 private: 42 typedef SkOSWindow INHERITED; 43 JsContext* fJsContext; 44 45 #if SK_SUPPORT_GPU 46 GrContext* fCurContext; 47 const GrGLInterface* fCurIntf; 48 GrRenderTarget* fCurRenderTarget; 49 SkSurface* fCurSurface; 50 #endif 51 }; 52 53 #endif 54