Index: tools/json/SkJSONCanvas.h |
diff --git a/tools/json/SkJSONCanvas.h b/tools/json/SkJSONCanvas.h |
deleted file mode 100644 |
index b0f736f48aeb962b528053b9f76538a7519b01c4..0000000000000000000000000000000000000000 |
--- a/tools/json/SkJSONCanvas.h |
+++ /dev/null |
@@ -1,292 +0,0 @@ |
-/* |
- * Copyright 2016 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef SkJSONCanvas_DEFINED |
-#define SkJSONCanvas_DEFINED |
- |
-#include "SkCanvas.h" |
-#include "SkStream.h" |
-#include "SkJSONCPP.h" |
- |
-#define SKJSONCANVAS_VERSION "version" |
-#define SKJSONCANVAS_COMMANDS "commands" |
-#define SKJSONCANVAS_COMMAND "command" |
- |
-#define SKJSONCANVAS_COMMAND_TRANSLATE "Translate" |
-#define SKJSONCANVAS_COMMAND_SCALE "Scale" |
-#define SKJSONCANVAS_COMMAND_MATRIX "Matrix" |
-#define SKJSONCANVAS_COMMAND_PAINT "Paint" |
-#define SKJSONCANVAS_COMMAND_RECT "Rect" |
-#define SKJSONCANVAS_COMMAND_OVAL "Oval" |
-#define SKJSONCANVAS_COMMAND_RRECT "RRect" |
-#define SKJSONCANVAS_COMMAND_DRRECT "DRRect" |
-#define SKJSONCANVAS_COMMAND_POINTS "Points" |
-#define SKJSONCANVAS_COMMAND_VERTICES "Vertices" |
-#define SKJSONCANVAS_COMMAND_ATLAS "Atlas" |
-#define SKJSONCANVAS_COMMAND_PATH "Path" |
-#define SKJSONCANVAS_COMMAND_IMAGE "Image" |
-#define SKJSONCANVAS_COMMAND_IMAGERECT "ImageRect" |
-#define SKJSONCANVAS_COMMAND_IMAGENINE "ImageNine" |
-#define SKJSONCANVAS_COMMAND_BITMAP "Bitmap" |
-#define SKJSONCANVAS_COMMAND_BITMAPRECT "BitmapRect" |
-#define SKJSONCANVAS_COMMAND_BITMAPNINE "BitmapNine" |
-#define SKJSONCANVAS_COMMAND_TEXT "Text" |
-#define SKJSONCANVAS_COMMAND_POSTEXT "PosText" |
-#define SKJSONCANVAS_COMMAND_POSTEXTH "PosTextH" |
-#define SKJSONCANVAS_COMMAND_TEXTONPATH "TextOnPath" |
-#define SKJSONCANVAS_COMMAND_TEXTBLOB "TextBlob" |
-#define SKJSONCANVAS_COMMAND_PATCH "Patch" |
-#define SKJSONCANVAS_COMMAND_DRAWABLE "Drawable" |
-#define SKJSONCANVAS_COMMAND_CLIPRECT "ClipRect" |
-#define SKJSONCANVAS_COMMAND_CLIPRRECT "ClipRRect" |
-#define SKJSONCANVAS_COMMAND_CLIPPATH "ClipPath" |
-#define SKJSONCANVAS_COMMAND_CLIPREGION "ClipRegion" |
-#define SKJSONCANVAS_COMMAND_SAVE "Save" |
-#define SKJSONCANVAS_COMMAND_RESTORE "Restore" |
-#define SKJSONCANVAS_COMMAND_SAVELAYER "SaveLayer" |
- |
-#define SKJSONCANVAS_ATTRIBUTE_MATRIX "matrix" |
-#define SKJSONCANVAS_ATTRIBUTE_COORDS "coords" |
-#define SKJSONCANVAS_ATTRIBUTE_BOUNDS "bounds" |
-#define SKJSONCANVAS_ATTRIBUTE_PAINT "paint" |
-#define SKJSONCANVAS_ATTRIBUTE_OUTER "outer" |
-#define SKJSONCANVAS_ATTRIBUTE_INNER "inner" |
-#define SKJSONCANVAS_ATTRIBUTE_MODE "mode" |
-#define SKJSONCANVAS_ATTRIBUTE_POINTS "points" |
-#define SKJSONCANVAS_ATTRIBUTE_PATH "path" |
-#define SKJSONCANVAS_ATTRIBUTE_TEXT "text" |
-#define SKJSONCANVAS_ATTRIBUTE_COLOR "color" |
-#define SKJSONCANVAS_ATTRIBUTE_ALPHA "alpha" |
-#define SKJSONCANVAS_ATTRIBUTE_STYLE "style" |
-#define SKJSONCANVAS_ATTRIBUTE_STROKEWIDTH "strokeWidth" |
-#define SKJSONCANVAS_ATTRIBUTE_STROKEMITER "strokeMiter" |
-#define SKJSONCANVAS_ATTRIBUTE_CAP "cap" |
-#define SKJSONCANVAS_ATTRIBUTE_ANTIALIAS "antiAlias" |
-#define SKJSONCANVAS_ATTRIBUTE_REGION "region" |
-#define SKJSONCANVAS_ATTRIBUTE_REGIONOP "op" |
-#define SKJSONCANVAS_ATTRIBUTE_EDGESTYLE "edgeStyle" |
-#define SKJSONCANVAS_ATTRIBUTE_DEVICEREGION "deviceRegion" |
-#define SKJSONCANVAS_ATTRIBUTE_BLUR "blur" |
-#define SKJSONCANVAS_ATTRIBUTE_SIGMA "sigma" |
-#define SKJSONCANVAS_ATTRIBUTE_QUALITY "quality" |
-#define SKJSONCANVAS_ATTRIBUTE_TEXTALIGN "textAlign" |
-#define SKJSONCANVAS_ATTRIBUTE_TEXTSIZE "textSize" |
-#define SKJSONCANVAS_ATTRIBUTE_TEXTSCALEX "textScaleX" |
-#define SKJSONCANVAS_ATTRIBUTE_TEXTSKEWX "textSkewX" |
-#define SKJSONCANVAS_ATTRIBUTE_DASHING "dashing" |
-#define SKJSONCANVAS_ATTRIBUTE_INTERVALS "intervals" |
-#define SKJSONCANVAS_ATTRIBUTE_PHASE "phase" |
-#define SKJSONCANVAS_ATTRIBUTE_FILLTYPE "fillType" |
-#define SKJSONCANVAS_ATTRIBUTE_VERBS "verbs" |
-#define SKJSONCANVAS_ATTRIBUTE_NAME "name" |
-#define SKJSONCANVAS_ATTRIBUTE_BYTES "bytes" |
-#define SKJSONCANVAS_ATTRIBUTE_SHADER "shader" |
-#define SKJSONCANVAS_ATTRIBUTE_PATHEFFECT "pathEffect" |
-#define SKJSONCANVAS_ATTRIBUTE_MASKFILTER "maskFilter" |
-#define SKJSONCANVAS_ATTRIBUTE_XFERMODE "xfermode" |
-#define SKJSONCANVAS_ATTRIBUTE_BACKDROP "backdrop" |
-#define SKJSONCANVAS_ATTRIBUTE_COLORFILTER "colorfilter" |
-#define SKJSONCANVAS_ATTRIBUTE_IMAGEFILTER "imagefilter" |
-#define SKJSONCANVAS_ATTRIBUTE_IMAGE "image" |
-#define SKJSONCANVAS_ATTRIBUTE_BITMAP "bitmap" |
-#define SKJSONCANVAS_ATTRIBUTE_SRC "src" |
-#define SKJSONCANVAS_ATTRIBUTE_DST "dst" |
-#define SKJSONCANVAS_ATTRIBUTE_STRICT "strict" |
-#define SKJSONCANVAS_ATTRIBUTE_DESCRIPTION "description" |
-#define SKJSONCANVAS_ATTRIBUTE_X "x" |
-#define SKJSONCANVAS_ATTRIBUTE_Y "y" |
-#define SKJSONCANVAS_ATTRIBUTE_RUNS "runs" |
-#define SKJSONCANVAS_ATTRIBUTE_POSITIONS "positions" |
-#define SKJSONCANVAS_ATTRIBUTE_GLYPHS "glyphs" |
-#define SKJSONCANVAS_ATTRIBUTE_FONT "font" |
-#define SKJSONCANVAS_ATTRIBUTE_TYPEFACE "typeface" |
- |
-#define SKJSONCANVAS_VERB_MOVE "move" |
-#define SKJSONCANVAS_VERB_LINE "line" |
-#define SKJSONCANVAS_VERB_QUAD "quad" |
-#define SKJSONCANVAS_VERB_CUBIC "cubic" |
-#define SKJSONCANVAS_VERB_CONIC "conic" |
-#define SKJSONCANVAS_VERB_CLOSE "close" |
- |
-#define SKJSONCANVAS_STYLE_FILL "fill" |
-#define SKJSONCANVAS_STYLE_STROKE "stroke" |
-#define SKJSONCANVAS_STYLE_STROKEANDFILL "strokeAndFill" |
- |
-#define SKJSONCANVAS_POINTMODE_POINTS "points" |
-#define SKJSONCANVAS_POINTMODE_LINES "lines" |
-#define SKJSONCANVAS_POINTMODE_POLYGON "polygon" |
- |
-#define SKJSONCANVAS_REGIONOP_DIFFERENCE "difference" |
-#define SKJSONCANVAS_REGIONOP_INTERSECT "intersect" |
-#define SKJSONCANVAS_REGIONOP_UNION "union" |
-#define SKJSONCANVAS_REGIONOP_XOR "xor" |
-#define SKJSONCANVAS_REGIONOP_REVERSE_DIFFERENCE "reverseDifference" |
-#define SKJSONCANVAS_REGIONOP_REPLACE "replace" |
- |
-#define SKJSONCANVAS_BLURSTYLE_NORMAL "normal" |
-#define SKJSONCANVAS_BLURSTYLE_SOLID "solid" |
-#define SKJSONCANVAS_BLURSTYLE_OUTER "outer" |
-#define SKJSONCANVAS_BLURSTYLE_INNER "inner" |
- |
-#define SKJSONCANVAS_BLURQUALITY_LOW "low" |
-#define SKJSONCANVAS_BLURQUALITY_HIGH "high" |
- |
-#define SKJSONCANVAS_ALIGN_LEFT "left" |
-#define SKJSONCANVAS_ALIGN_CENTER "center" |
-#define SKJSONCANVAS_ALIGN_RIGHT "right" |
- |
-#define SKJSONCANVAS_FILLTYPE_WINDING "winding" |
-#define SKJSONCANVAS_FILLTYPE_EVENODD "evenOdd" |
-#define SKJSONCANVAS_FILLTYPE_INVERSEWINDING "inverseWinding" |
-#define SKJSONCANVAS_FILLTYPE_INVERSEEVENODD "inverseEvenOdd" |
- |
-#define SKJSONCANVAS_CAP_BUTT "butt" |
-#define SKJSONCANVAS_CAP_ROUND "round" |
-#define SKJSONCANVAS_CAP_SQUARE "square" |
- |
-#define SKJSONCANVAS_COLORTYPE_ARGB4444 "ARGB4444" |
-#define SKJSONCANVAS_COLORTYPE_RGBA8888 "RGBA8888" |
-#define SKJSONCANVAS_COLORTYPE_BGRA8888 "BGRA8888" |
-#define SKJSONCANVAS_COLORTYPE_565 "565" |
-#define SKJSONCANVAS_COLORTYPE_GRAY8 "Gray8" |
-#define SKJSONCANVAS_COLORTYPE_INDEX8 "Index8" |
-#define SKJSONCANVAS_COLORTYPE_ALPHA8 "Alpha8" |
- |
-#define SKJSONCANVAS_ALPHATYPE_OPAQUE "opaque" |
-#define SKJSONCANVAS_ALPHATYPE_PREMUL "premul" |
-#define SKJSONCANVAS_ALPHATYPE_UNPREMUL "unpremul" |
- |
-/* |
- * Implementation of SkCanvas which writes JSON when drawn to. The JSON describes all of the draw |
- * commands issued to the canvas, and can later be turned back into draw commands using |
- * SkJSONRenderer. Be sure to call finish() when you are done drawing. |
- */ |
-class SkJSONCanvas : public SkCanvas { |
-public: |
- /* Create a canvas which writes to the specified output stream. */ |
- SkJSONCanvas(int width, int height, SkWStream& out, bool sendBinaries = false); |
- |
- /* Complete the JSON document. */ |
- void finish(); |
- |
- static Json::Value MakeMatrix(const SkMatrix& matrix); |
- |
- static Json::Value MakeIRect(const SkIRect& irect); |
- |
- // overridden SkCanvas API |
- |
- void didConcat(const SkMatrix&) override; |
- |
- void didSetMatrix(const SkMatrix&) override; |
- |
- void onDrawPaint(const SkPaint&) override; |
- |
- void onDrawRect(const SkRect&, const SkPaint&) override; |
- |
- void onDrawOval(const SkRect&, const SkPaint&) override; |
- |
- void onDrawRRect(const SkRRect&, const SkPaint&) override; |
- |
- void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; |
- |
- void onDrawPoints(SkCanvas::PointMode, size_t count, const SkPoint pts[], |
- const SkPaint&) override; |
- |
- void onDrawVertices(SkCanvas::VertexMode, int vertexCount, const SkPoint vertices[], |
- const SkPoint texs[], const SkColor colors[], SkXfermode*, |
- const uint16_t indices[], int indexCount, const SkPaint&) override; |
- |
- void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], |
- int count, SkXfermode::Mode, const SkRect* cull, const SkPaint*) override; |
- |
- void onDrawPath(const SkPath&, const SkPaint&) override; |
- |
- void onDrawImage(const SkImage*, SkScalar dx, SkScalar dy, const SkPaint*) override; |
- |
- void onDrawImageRect(const SkImage*, const SkRect*, const SkRect&, const SkPaint*, |
- SrcRectConstraint) override; |
- |
- void onDrawImageNine(const SkImage*, const SkIRect& center, const SkRect& dst, |
- const SkPaint*) override; |
- |
- void onDrawBitmap(const SkBitmap&, SkScalar dx, SkScalar dy, const SkPaint*) override; |
- |
- void onDrawBitmapRect(const SkBitmap&, const SkRect*, const SkRect&, const SkPaint*, |
- SkCanvas::SrcRectConstraint) override; |
- |
- void onDrawBitmapNine(const SkBitmap&, const SkIRect& center, const SkRect& dst, |
- const SkPaint*) override; |
- |
- void onDrawText(const void* text, size_t byteLength, SkScalar x, |
- SkScalar y, const SkPaint& paint) override; |
- |
- void onDrawPosText(const void* text, size_t byteLength, |
- const SkPoint pos[], const SkPaint& paint) override; |
- |
- void onDrawPosTextH(const void* text, size_t byteLength, |
- const SkScalar xpos[], SkScalar constY, |
- const SkPaint& paint) override; |
- |
- void onDrawTextOnPath(const void* text, size_t byteLength, |
- const SkPath& path, const SkMatrix* matrix, |
- const SkPaint& paint) override; |
- |
- void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y, |
- const SkPaint& paint) override; |
- |
- void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], |
- const SkPoint texCoords[4], SkXfermode* xmode, const SkPaint& paint) override; |
- |
- void onDrawDrawable(SkDrawable*, const SkMatrix*) override; |
- |
- void onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) override; |
- |
- void onClipRRect(const SkRRect& rrect, SkRegion::Op op, ClipEdgeStyle edgeStyle) override; |
- |
- void onClipPath(const SkPath& path, SkRegion::Op op, ClipEdgeStyle edgeStyle) override; |
- |
- void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) override; |
- |
- void willSave() override; |
- |
- void willRestore() override; |
- |
- SkCanvas::SaveLayerStrategy getSaveLayerStrategy(const SaveLayerRec& rec) override; |
- |
-private: |
- // Helpers to turn values into JSON, these could probably be static |
- Json::Value makePoint(const SkPoint& point); |
- |
- Json::Value makePoint(SkScalar x, SkScalar y); |
- |
- Json::Value makeRect(const SkRect& rect); |
- |
- Json::Value makeRRect(const SkRRect& rrect); |
- |
- Json::Value makePath(const SkPath& path); |
- |
- Json::Value makeRegion(const SkRegion& region); |
- |
- Json::Value makePaint(const SkPaint& paint); |
- |
- Json::Value makeRegionOp(SkRegion::Op op); |
- |
- Json::Value makeEdgeStyle(SkCanvas::ClipEdgeStyle edgeStyle); |
- |
- Json::Value makePointMode(SkCanvas::PointMode mode); |
- |
- void updateMatrix(); |
- |
- SkWStream& fOut; |
- Json::Value fRoot; |
- Json::Value fCommands; |
- bool fSendBinaries; |
- |
- typedef SkCanvas INHERITED; |
-}; |
- |
-#endif |