Renamed JsCanvas to JsContext and moved into it's own file.
Fleshed out a lot of the Path interface.
BUG=
R=robertphillips@google.com, tfarina@chromium.org, reed@google.com
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/121303004
git-svn-id: http://skia.googlecode.com/svn/trunk@12913 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/SkV8Example/Path.h b/experimental/SkV8Example/Path.h
new file mode 100644
index 0000000..0c69770
--- /dev/null
+++ b/experimental/SkV8Example/Path.h
@@ -0,0 +1,50 @@
+/*
+ * 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_Path_DEFINED
+#define SkV8Example_Path_DEFINED
+
+#include <v8.h>
+
+#include "SkPath.h"
+#include "SkTypes.h"
+
+class Global;
+
+class Path : SkNoncopyable {
+public:
+ Path() : fSkPath() {}
+ virtual ~Path() {}
+
+ const SkPath& getSkPath() { return fSkPath; }
+
+ // The JS Path constuctor implementation.
+ static void ConstructPath(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ // Add the Path JS constructor to the global context.
+ static void AddToGlobal(Global* global);
+
+ // Path JS methods.
+ static void ClosePath(const v8::FunctionCallbackInfo<v8::Value>& args);
+ static void MoveTo(const v8::FunctionCallbackInfo<v8::Value>& args);
+ static void LineTo(const v8::FunctionCallbackInfo<v8::Value>& args);
+ static void QuadraticCurveTo(
+ const v8::FunctionCallbackInfo<v8::Value>& args);
+ static void BezierCurveTo(const v8::FunctionCallbackInfo<v8::Value>& args);
+ static void Arc(const v8::FunctionCallbackInfo<v8::Value>& args);
+ static void Rect(const v8::FunctionCallbackInfo<v8::Value>& args);
+private:
+ SkPath fSkPath;
+
+ static Path* Unwrap(const v8::FunctionCallbackInfo<v8::Value>& args);
+
+ static Global* gGlobal;
+};
+
+#endif