/*
* Copyright 2013 Google Inc.
*
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
*/
#ifndef SkV8Example_DEFINED
#define SkV8Example_DEFINED
#include "SkWindow.h"
class GrContext;
class GrGLInterface;
class GrRenderTarget;
class SkSurface;
class JsContext;
class SkV8ExampleWindow : public SkOSWindow {
public:
SkV8ExampleWindow(void* hwnd, JsContext* canvas);
virtual ~SkV8ExampleWindow();
protected:
void onDraw(SkCanvas* canvas) override;
void onSizeChange() override;
#if SK_SUPPORT_GPU
SkSurface* createSurface() override;
#endif
#ifdef SK_BUILD_FOR_WIN
void onHandleInval(const SkIRect&) override;
#endif
void windowSizeChanged();
private:
typedef SkOSWindow INHERITED;
JsContext* fJsContext;
#if SK_SUPPORT_GPU
GrContext* fCurContext;
const GrGLInterface* fCurIntf;
GrRenderTarget* fCurRenderTarget;
SkSurface* fCurSurface;
#endif
};
#endif