skia2/experimental/SkV8Example/Path2D.h
2014-10-29 05:33:28 -07:00

52 lines
957 B
C++

/*
* 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