| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 | 8 |
| 9 #include "SkDrawCommand.h" | 9 #include "SkDrawCommand.h" |
| 10 | 10 |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 } | 170 } |
| 171 | 171 |
| 172 const char* SkDrawCommand::GetCommandString(OpType type) { | 172 const char* SkDrawCommand::GetCommandString(OpType type) { |
| 173 switch (type) { | 173 switch (type) { |
| 174 case kBeginDrawPicture_OpType: return "BeginDrawPicture"; | 174 case kBeginDrawPicture_OpType: return "BeginDrawPicture"; |
| 175 case kClipPath_OpType: return "ClipPath"; | 175 case kClipPath_OpType: return "ClipPath"; |
| 176 case kClipRegion_OpType: return "ClipRegion"; | 176 case kClipRegion_OpType: return "ClipRegion"; |
| 177 case kClipRect_OpType: return "ClipRect"; | 177 case kClipRect_OpType: return "ClipRect"; |
| 178 case kClipRRect_OpType: return "ClipRRect"; | 178 case kClipRRect_OpType: return "ClipRRect"; |
| 179 case kConcat_OpType: return "Concat"; | 179 case kConcat_OpType: return "Concat"; |
| 180 case kDrawAnnotation_OpType: return "drawAnnotation"; |
| 180 case kDrawBitmap_OpType: return "DrawBitmap"; | 181 case kDrawBitmap_OpType: return "DrawBitmap"; |
| 181 case kDrawBitmapNine_OpType: return "DrawBitmapNine"; | 182 case kDrawBitmapNine_OpType: return "DrawBitmapNine"; |
| 182 case kDrawBitmapRect_OpType: return "DrawBitmapRect"; | 183 case kDrawBitmapRect_OpType: return "DrawBitmapRect"; |
| 183 case kDrawClear_OpType: return "DrawClear"; | 184 case kDrawClear_OpType: return "DrawClear"; |
| 184 case kDrawDRRect_OpType: return "DrawDRRect"; | 185 case kDrawDRRect_OpType: return "DrawDRRect"; |
| 185 case kDrawImage_OpType: return "DrawImage"; | 186 case kDrawImage_OpType: return "DrawImage"; |
| 186 case kDrawImageRect_OpType: return "DrawImageRect"; | 187 case kDrawImageRect_OpType: return "DrawImageRect"; |
| 187 case kDrawOval_OpType: return "DrawOval"; | 188 case kDrawOval_OpType: return "DrawOval"; |
| 188 case kDrawPaint_OpType: return "DrawPaint"; | 189 case kDrawPaint_OpType: return "DrawPaint"; |
| 189 case kDrawPatch_OpType: return "DrawPatch"; | 190 case kDrawPatch_OpType: return "DrawPatch"; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 static SkTHashMap<SkString, FROM_JSON> factories; | 229 static SkTHashMap<SkString, FROM_JSON> factories; |
| 229 static bool initialized = false; | 230 static bool initialized = false; |
| 230 if (!initialized) { | 231 if (!initialized) { |
| 231 initialized = true; | 232 initialized = true; |
| 232 INSTALL_FACTORY(Restore); | 233 INSTALL_FACTORY(Restore); |
| 233 INSTALL_FACTORY(ClipPath); | 234 INSTALL_FACTORY(ClipPath); |
| 234 INSTALL_FACTORY(ClipRegion); | 235 INSTALL_FACTORY(ClipRegion); |
| 235 INSTALL_FACTORY(ClipRect); | 236 INSTALL_FACTORY(ClipRect); |
| 236 INSTALL_FACTORY(ClipRRect); | 237 INSTALL_FACTORY(ClipRRect); |
| 237 INSTALL_FACTORY(Concat); | 238 INSTALL_FACTORY(Concat); |
| 239 INSTALL_FACTORY(DrawAnnotation); |
| 238 INSTALL_FACTORY(DrawBitmap); | 240 INSTALL_FACTORY(DrawBitmap); |
| 239 INSTALL_FACTORY(DrawBitmapRect); | 241 INSTALL_FACTORY(DrawBitmapRect); |
| 240 INSTALL_FACTORY(DrawBitmapNine); | 242 INSTALL_FACTORY(DrawBitmapNine); |
| 241 INSTALL_FACTORY(DrawImage); | 243 INSTALL_FACTORY(DrawImage); |
| 242 INSTALL_FACTORY(DrawImageRect); | 244 INSTALL_FACTORY(DrawImageRect); |
| 243 INSTALL_FACTORY(DrawOval); | 245 INSTALL_FACTORY(DrawOval); |
| 244 INSTALL_FACTORY(DrawPaint); | 246 INSTALL_FACTORY(DrawPaint); |
| 245 INSTALL_FACTORY(DrawPath); | 247 INSTALL_FACTORY(DrawPath); |
| 246 INSTALL_FACTORY(DrawPoints); | 248 INSTALL_FACTORY(DrawPoints); |
| 247 INSTALL_FACTORY(DrawText); | 249 INSTALL_FACTORY(DrawText); |
| (...skipping 1457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1705 result[SKDEBUGCANVAS_ATTRIBUTE_MATRIX] = MakeJsonMatrix(fMatrix); | 1707 result[SKDEBUGCANVAS_ATTRIBUTE_MATRIX] = MakeJsonMatrix(fMatrix); |
| 1706 return result; | 1708 return result; |
| 1707 } | 1709 } |
| 1708 | 1710 |
| 1709 SkConcatCommand* SkConcatCommand::fromJSON(Json::Value& command, UrlDataManager&
urlDataManager) { | 1711 SkConcatCommand* SkConcatCommand::fromJSON(Json::Value& command, UrlDataManager&
urlDataManager) { |
| 1710 SkMatrix matrix; | 1712 SkMatrix matrix; |
| 1711 extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix); | 1713 extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix); |
| 1712 return new SkConcatCommand(matrix); | 1714 return new SkConcatCommand(matrix); |
| 1713 } | 1715 } |
| 1714 | 1716 |
| 1717 //// |
| 1718 |
| 1719 SkDrawAnnotationCommand::SkDrawAnnotationCommand(const SkRect& rect, const char
key[], |
| 1720 sk_sp<SkData> value) |
| 1721 : INHERITED(kDrawAnnotation_OpType) |
| 1722 , fRect(rect) |
| 1723 , fKey(key) |
| 1724 , fValue(std::move(value)) |
| 1725 {} |
| 1726 |
| 1727 void SkDrawAnnotationCommand::execute(SkCanvas* canvas) const { |
| 1728 canvas->drawAnnotation(fRect, fKey.c_str(), fValue); |
| 1729 } |
| 1730 |
| 1731 Json::Value SkDrawAnnotationCommand::toJSON(UrlDataManager& urlDataManager) cons
t { |
| 1732 Json::Value result = INHERITED::toJSON(urlDataManager); |
| 1733 |
| 1734 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = MakeJsonRect(fRect); |
| 1735 result["key"] = Json::Value(fKey.c_str()); |
| 1736 if (fValue.get()) { |
| 1737 // TODO: dump out the "value" |
| 1738 } |
| 1739 return result; |
| 1740 } |
| 1741 |
| 1742 SkDrawAnnotationCommand* SkDrawAnnotationCommand::fromJSON(Json::Value& command, |
| 1743 UrlDataManager& urlDa
taManager) { |
| 1744 SkRect rect; |
| 1745 extract_json_rect(command[SKDEBUGCANVAS_ATTRIBUTE_COORDS], &rect); |
| 1746 sk_sp<SkData> data(nullptr); // TODO: extract "value" from the Json |
| 1747 return new SkDrawAnnotationCommand(rect, command["key"].asCString(), data); |
| 1748 } |
| 1749 |
| 1750 //// |
| 1751 |
| 1715 SkDrawBitmapCommand::SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left,
SkScalar top, | 1752 SkDrawBitmapCommand::SkDrawBitmapCommand(const SkBitmap& bitmap, SkScalar left,
SkScalar top, |
| 1716 const SkPaint* paint) | 1753 const SkPaint* paint) |
| 1717 : INHERITED(kDrawBitmap_OpType) { | 1754 : INHERITED(kDrawBitmap_OpType) { |
| 1718 fBitmap = bitmap; | 1755 fBitmap = bitmap; |
| 1719 fLeft = left; | 1756 fLeft = left; |
| 1720 fTop = top; | 1757 fTop = top; |
| 1721 if (paint) { | 1758 if (paint) { |
| 1722 fPaint = *paint; | 1759 fPaint = *paint; |
| 1723 fPaintPtr = &fPaint; | 1760 fPaintPtr = &fPaint; |
| 1724 } else { | 1761 } else { |
| (...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3132 result[SKDEBUGCANVAS_ATTRIBUTE_MATRIX] = MakeJsonMatrix(fMatrix); | 3169 result[SKDEBUGCANVAS_ATTRIBUTE_MATRIX] = MakeJsonMatrix(fMatrix); |
| 3133 return result; | 3170 return result; |
| 3134 } | 3171 } |
| 3135 | 3172 |
| 3136 SkSetMatrixCommand* SkSetMatrixCommand::fromJSON(Json::Value& command, | 3173 SkSetMatrixCommand* SkSetMatrixCommand::fromJSON(Json::Value& command, |
| 3137 UrlDataManager& urlDataManager)
{ | 3174 UrlDataManager& urlDataManager)
{ |
| 3138 SkMatrix matrix; | 3175 SkMatrix matrix; |
| 3139 extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix); | 3176 extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix); |
| 3140 return new SkSetMatrixCommand(matrix); | 3177 return new SkSetMatrixCommand(matrix); |
| 3141 } | 3178 } |
| OLD | NEW |