/* * Copyright 2014 Google Inc. * * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * */ #ifndef SkV8Example_Path2D_DEFINED #define SkV8Example_Path2D_DEFINED #include <v8.h> #include "SkPath.h" #include "SkTypes.h" class Global; // Path2D bridges between JS and SkPath. class Path2D : SkNoncopyable { public: Path2D(SkPath* path); virtual ~Path2D(); static void AddToGlobal(Global* global) { gGlobal = global; } v8::Persistent<v8::Object>& persistent() { return handle_; } SkPath* path() { return path_; } private: // The handle to this object in JS space. v8::Persistent<v8::Object> handle_; SkPath* path_; // The global context we are running in. static Global* gGlobal; // The template for what a JS Path2D object looks like. static v8::Persistent<v8::ObjectTemplate> gPath2DTemplate; }; #endif