| /* |
| * 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_Path2DBuilder_DEFINED |
| #define SkV8Example_Path2DBuilder_DEFINED |
| |
| #include <v8.h> |
| |
| #include "SkPath.h" |
| #include "SkTypes.h" |
| |
| class Global; |
| |
| class Path2DBuilder : SkNoncopyable { |
| public: |
| Path2DBuilder() : fSkPath() {} |
| virtual ~Path2DBuilder() {} |
| |
| const SkPath& getSkPath() { return fSkPath; } |
| |
| // The JS Path2DBuilder constuctor implementation. |
| static void ConstructPath(const v8::FunctionCallbackInfo<v8::Value>& args); |
| |
| // Add the Path2DBuilder JS constructor to the global context. |
| static void AddToGlobal(Global* global); |
| |
| // Path2DBuilder 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); |
| static void Oval(const v8::FunctionCallbackInfo<v8::Value>& args); |
| static void ConicTo(const v8::FunctionCallbackInfo<v8::Value>& args); |
| static void Finalize(const v8::FunctionCallbackInfo<v8::Value>& args); |
| private: |
| SkPath fSkPath; |
| |
| static Path2DBuilder* Unwrap(const v8::FunctionCallbackInfo<v8::Value>& args); |
| |
| static Global* gGlobal; |
| }; |
| |
| #endif |