e001da2558
BUG=skia: Review URL: https://codereview.chromium.org/661033005
52 lines
957 B
C++
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
|