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 #include "SkDrawCommand.h" | 8 #include "SkDrawCommand.h" |
9 | 9 |
10 #include "SkBlurMaskFilter.h" | 10 #include "SkBlurMaskFilter.h" |
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 } | 566 } |
567 } | 567 } |
568 result[SKDEBUGCANVAS_ATTRIBUTE_VERBS] = verbs; | 568 result[SKDEBUGCANVAS_ATTRIBUTE_VERBS] = verbs; |
569 return result; | 569 return result; |
570 } | 570 } |
571 | 571 |
572 Json::Value SkDrawCommand::MakeJsonRegion(const SkRegion& region) { | 572 Json::Value SkDrawCommand::MakeJsonRegion(const SkRegion& region) { |
573 return Json::Value("<unimplemented>"); | 573 return Json::Value("<unimplemented>"); |
574 } | 574 } |
575 | 575 |
576 static Json::Value make_json_regionop(SkRegion::Op op) { | 576 static Json::Value make_json_regionop(SkCanvas::ClipOp op) { |
577 switch (op) { | 577 switch (op) { |
578 case SkRegion::kDifference_Op: | 578 case SkCanvas::kDifference_Op: |
579 return Json::Value(SKDEBUGCANVAS_REGIONOP_DIFFERENCE); | 579 return Json::Value(SKDEBUGCANVAS_REGIONOP_DIFFERENCE); |
580 case SkRegion::kIntersect_Op: | 580 case SkCanvas::kIntersect_Op: |
581 return Json::Value(SKDEBUGCANVAS_REGIONOP_INTERSECT); | 581 return Json::Value(SKDEBUGCANVAS_REGIONOP_INTERSECT); |
582 case SkRegion::kUnion_Op: | 582 case SkCanvas::kUnion_Op: |
583 return Json::Value(SKDEBUGCANVAS_REGIONOP_UNION); | 583 return Json::Value(SKDEBUGCANVAS_REGIONOP_UNION); |
584 case SkRegion::kXOR_Op: | 584 case SkCanvas::kXOR_Op: |
585 return Json::Value(SKDEBUGCANVAS_REGIONOP_XOR); | 585 return Json::Value(SKDEBUGCANVAS_REGIONOP_XOR); |
586 case SkRegion::kReverseDifference_Op: | 586 case SkCanvas::kReverseDifference_Op: |
587 return Json::Value(SKDEBUGCANVAS_REGIONOP_REVERSE_DIFFERENCE); | 587 return Json::Value(SKDEBUGCANVAS_REGIONOP_REVERSE_DIFFERENCE); |
588 case SkRegion::kReplace_Op: | 588 case SkCanvas::kReplace_Op: |
589 return Json::Value(SKDEBUGCANVAS_REGIONOP_REPLACE); | 589 return Json::Value(SKDEBUGCANVAS_REGIONOP_REPLACE); |
590 default: | 590 default: |
591 SkASSERT(false); | 591 SkASSERT(false); |
592 return Json::Value("<invalid region op>"); | 592 return Json::Value("<invalid region op>"); |
593 }; | 593 }; |
594 } | 594 } |
595 | 595 |
596 static Json::Value make_json_pointmode(SkCanvas::PointMode mode) { | 596 static Json::Value make_json_pointmode(SkCanvas::PointMode mode) { |
597 switch (mode) { | 597 switch (mode) { |
598 case SkCanvas::kPoints_PointMode: | 598 case SkCanvas::kPoints_PointMode: |
(...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1598 conic[1][0].asFloat(), conic[1][1].asFloat(), | 1598 conic[1][0].asFloat(), conic[1][1].asFloat(), |
1599 conic[2].asFloat()); | 1599 conic[2].asFloat()); |
1600 } | 1600 } |
1601 else { | 1601 else { |
1602 SkASSERT(false); | 1602 SkASSERT(false); |
1603 } | 1603 } |
1604 } | 1604 } |
1605 } | 1605 } |
1606 } | 1606 } |
1607 | 1607 |
1608 SkRegion::Op get_json_regionop(Json::Value& jsonOp) { | 1608 SkCanvas::ClipOp get_json_clipop(Json::Value& jsonOp) { |
1609 const char* op = jsonOp.asCString(); | 1609 const char* op = jsonOp.asCString(); |
1610 if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_DIFFERENCE)) { | 1610 if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_DIFFERENCE)) { |
1611 return SkRegion::kDifference_Op; | 1611 return SkCanvas::kDifference_Op; |
1612 } | 1612 } |
1613 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_INTERSECT)) { | 1613 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_INTERSECT)) { |
1614 return SkRegion::kIntersect_Op; | 1614 return SkCanvas::kIntersect_Op; |
1615 } | 1615 } |
1616 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_UNION)) { | 1616 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_UNION)) { |
1617 return SkRegion::kUnion_Op; | 1617 return SkCanvas::kUnion_Op; |
1618 } | 1618 } |
1619 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_XOR)) { | 1619 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_XOR)) { |
1620 return SkRegion::kXOR_Op; | 1620 return SkCanvas::kXOR_Op; |
1621 } | 1621 } |
1622 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_REVERSE_DIFFERENCE)) { | 1622 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_REVERSE_DIFFERENCE)) { |
1623 return SkRegion::kReverseDifference_Op; | 1623 return SkCanvas::kReverseDifference_Op; |
1624 } | 1624 } |
1625 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_REPLACE)) { | 1625 else if (!strcmp(op, SKDEBUGCANVAS_REGIONOP_REPLACE)) { |
1626 return SkRegion::kReplace_Op; | 1626 return SkCanvas::kReplace_Op; |
1627 } | 1627 } |
1628 SkASSERT(false); | 1628 SkASSERT(false); |
1629 return SkRegion::kIntersect_Op; | 1629 return SkCanvas::kIntersect_Op; |
1630 } | 1630 } |
1631 | 1631 |
1632 SkClearCommand::SkClearCommand(SkColor color) : INHERITED(kDrawClear_OpType) { | 1632 SkClearCommand::SkClearCommand(SkColor color) : INHERITED(kDrawClear_OpType) { |
1633 fColor = color; | 1633 fColor = color; |
1634 fInfo.push(SkObjectParser::CustomTextToString("No Parameters")); | 1634 fInfo.push(SkObjectParser::CustomTextToString("No Parameters")); |
1635 } | 1635 } |
1636 | 1636 |
1637 void SkClearCommand::execute(SkCanvas* canvas) const { | 1637 void SkClearCommand::execute(SkCanvas* canvas) const { |
1638 canvas->clear(fColor); | 1638 canvas->clear(fColor); |
1639 } | 1639 } |
1640 | 1640 |
1641 Json::Value SkClearCommand::toJSON(UrlDataManager& urlDataManager) const { | 1641 Json::Value SkClearCommand::toJSON(UrlDataManager& urlDataManager) const { |
1642 Json::Value result = INHERITED::toJSON(urlDataManager); | 1642 Json::Value result = INHERITED::toJSON(urlDataManager); |
1643 result[SKDEBUGCANVAS_ATTRIBUTE_COLOR] = MakeJsonColor(fColor); | 1643 result[SKDEBUGCANVAS_ATTRIBUTE_COLOR] = MakeJsonColor(fColor); |
1644 return result; | 1644 return result; |
1645 } | 1645 } |
1646 | 1646 |
1647 SkClearCommand* SkClearCommand::fromJSON(Json::Value& command, UrlDataManager&
urlDataManager) { | 1647 SkClearCommand* SkClearCommand::fromJSON(Json::Value& command, UrlDataManager&
urlDataManager) { |
1648 Json::Value color = command[SKDEBUGCANVAS_ATTRIBUTE_COLOR]; | 1648 Json::Value color = command[SKDEBUGCANVAS_ATTRIBUTE_COLOR]; |
1649 return new SkClearCommand(get_json_color(color)); | 1649 return new SkClearCommand(get_json_color(color)); |
1650 } | 1650 } |
1651 | 1651 |
1652 SkClipPathCommand::SkClipPathCommand(const SkPath& path, SkRegion::Op op, bool d
oAA) | 1652 SkClipPathCommand::SkClipPathCommand(const SkPath& path, SkCanvas::ClipOp op, bo
ol doAA) |
1653 : INHERITED(kClipPath_OpType) { | 1653 : INHERITED(kClipPath_OpType) { |
1654 fPath = path; | 1654 fPath = path; |
1655 fOp = op; | 1655 fOp = op; |
1656 fDoAA = doAA; | 1656 fDoAA = doAA; |
1657 | 1657 |
1658 fInfo.push(SkObjectParser::PathToString(path)); | 1658 fInfo.push(SkObjectParser::PathToString(path)); |
1659 fInfo.push(SkObjectParser::RegionOpToString(op)); | 1659 fInfo.push(SkObjectParser::ClipOpToString(op)); |
1660 fInfo.push(SkObjectParser::BoolToString(doAA)); | 1660 fInfo.push(SkObjectParser::BoolToString(doAA)); |
1661 } | 1661 } |
1662 | 1662 |
1663 void SkClipPathCommand::execute(SkCanvas* canvas) const { | 1663 void SkClipPathCommand::execute(SkCanvas* canvas) const { |
1664 canvas->clipPath(fPath, fOp, fDoAA); | 1664 canvas->clipPath(fPath, fOp, fDoAA); |
1665 } | 1665 } |
1666 | 1666 |
1667 bool SkClipPathCommand::render(SkCanvas* canvas) const { | 1667 bool SkClipPathCommand::render(SkCanvas* canvas) const { |
1668 render_path(canvas, fPath); | 1668 render_path(canvas, fPath); |
1669 return true; | 1669 return true; |
1670 } | 1670 } |
1671 | 1671 |
1672 Json::Value SkClipPathCommand::toJSON(UrlDataManager& urlDataManager) const { | 1672 Json::Value SkClipPathCommand::toJSON(UrlDataManager& urlDataManager) const { |
1673 Json::Value result = INHERITED::toJSON(urlDataManager); | 1673 Json::Value result = INHERITED::toJSON(urlDataManager); |
1674 result[SKDEBUGCANVAS_ATTRIBUTE_PATH] = MakeJsonPath(fPath); | 1674 result[SKDEBUGCANVAS_ATTRIBUTE_PATH] = MakeJsonPath(fPath); |
1675 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); | 1675 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); |
1676 result[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS] = fDoAA; | 1676 result[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS] = fDoAA; |
1677 return result; | 1677 return result; |
1678 } | 1678 } |
1679 | 1679 |
1680 SkClipPathCommand* SkClipPathCommand::fromJSON(Json::Value& command, | 1680 SkClipPathCommand* SkClipPathCommand::fromJSON(Json::Value& command, |
1681 UrlDataManager& urlDataManager) { | 1681 UrlDataManager& urlDataManager) { |
1682 SkPath path; | 1682 SkPath path; |
1683 extract_json_path(command[SKDEBUGCANVAS_ATTRIBUTE_PATH], &path); | 1683 extract_json_path(command[SKDEBUGCANVAS_ATTRIBUTE_PATH], &path); |
1684 return new SkClipPathCommand(path, get_json_regionop(command[SKDEBUGCANVAS_A
TTRIBUTE_REGIONOP]), | 1684 return new SkClipPathCommand(path, get_json_clipop(command[SKDEBUGCANVAS_ATT
RIBUTE_REGIONOP]), |
1685 command[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS].asBo
ol()); | 1685 command[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS].asBo
ol()); |
1686 } | 1686 } |
1687 | 1687 |
1688 SkClipRegionCommand::SkClipRegionCommand(const SkRegion& region, SkRegion::Op op
) | 1688 SkClipRegionCommand::SkClipRegionCommand(const SkRegion& region, SkCanvas::ClipO
p op) |
1689 : INHERITED(kClipRegion_OpType) { | 1689 : INHERITED(kClipRegion_OpType) { |
1690 fRegion = region; | 1690 fRegion = region; |
1691 fOp = op; | 1691 fOp = op; |
1692 | 1692 |
1693 fInfo.push(SkObjectParser::RegionToString(region)); | 1693 fInfo.push(SkObjectParser::RegionToString(region)); |
1694 fInfo.push(SkObjectParser::RegionOpToString(op)); | 1694 fInfo.push(SkObjectParser::ClipOpToString(op)); |
1695 } | 1695 } |
1696 | 1696 |
1697 void SkClipRegionCommand::execute(SkCanvas* canvas) const { | 1697 void SkClipRegionCommand::execute(SkCanvas* canvas) const { |
1698 canvas->clipRegion(fRegion, fOp); | 1698 canvas->clipRegion(fRegion, fOp); |
1699 } | 1699 } |
1700 | 1700 |
1701 Json::Value SkClipRegionCommand::toJSON(UrlDataManager& urlDataManager) const { | 1701 Json::Value SkClipRegionCommand::toJSON(UrlDataManager& urlDataManager) const { |
1702 Json::Value result = INHERITED::toJSON(urlDataManager); | 1702 Json::Value result = INHERITED::toJSON(urlDataManager); |
1703 result[SKDEBUGCANVAS_ATTRIBUTE_REGION] = MakeJsonRegion(fRegion); | 1703 result[SKDEBUGCANVAS_ATTRIBUTE_REGION] = MakeJsonRegion(fRegion); |
1704 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); | 1704 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); |
1705 return result; | 1705 return result; |
1706 } | 1706 } |
1707 | 1707 |
1708 SkClipRegionCommand* SkClipRegionCommand::fromJSON(Json::Value& command, | 1708 SkClipRegionCommand* SkClipRegionCommand::fromJSON(Json::Value& command, |
1709 UrlDataManager& urlDataManage
r) { | 1709 UrlDataManager& urlDataManage
r) { |
1710 SkASSERT(false); | 1710 SkASSERT(false); |
1711 return nullptr; | 1711 return nullptr; |
1712 } | 1712 } |
1713 | 1713 |
1714 SkClipRectCommand::SkClipRectCommand(const SkRect& rect, SkRegion::Op op, bool d
oAA) | 1714 SkClipRectCommand::SkClipRectCommand(const SkRect& rect, SkCanvas::ClipOp op, bo
ol doAA) |
1715 : INHERITED(kClipRect_OpType) { | 1715 : INHERITED(kClipRect_OpType) { |
1716 fRect = rect; | 1716 fRect = rect; |
1717 fOp = op; | 1717 fOp = op; |
1718 fDoAA = doAA; | 1718 fDoAA = doAA; |
1719 | 1719 |
1720 fInfo.push(SkObjectParser::RectToString(rect)); | 1720 fInfo.push(SkObjectParser::RectToString(rect)); |
1721 fInfo.push(SkObjectParser::RegionOpToString(op)); | 1721 fInfo.push(SkObjectParser::ClipOpToString(op)); |
1722 fInfo.push(SkObjectParser::BoolToString(doAA)); | 1722 fInfo.push(SkObjectParser::BoolToString(doAA)); |
1723 } | 1723 } |
1724 | 1724 |
1725 void SkClipRectCommand::execute(SkCanvas* canvas) const { | 1725 void SkClipRectCommand::execute(SkCanvas* canvas) const { |
1726 canvas->clipRect(fRect, fOp, fDoAA); | 1726 canvas->clipRect(fRect, fOp, fDoAA); |
1727 } | 1727 } |
1728 | 1728 |
1729 Json::Value SkClipRectCommand::toJSON(UrlDataManager& urlDataManager) const { | 1729 Json::Value SkClipRectCommand::toJSON(UrlDataManager& urlDataManager) const { |
1730 Json::Value result = INHERITED::toJSON(urlDataManager); | 1730 Json::Value result = INHERITED::toJSON(urlDataManager); |
1731 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = MakeJsonRect(fRect); | 1731 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = MakeJsonRect(fRect); |
1732 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); | 1732 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); |
1733 result[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS] = Json::Value(fDoAA); | 1733 result[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS] = Json::Value(fDoAA); |
1734 | 1734 |
1735 SkString desc; | 1735 SkString desc; |
1736 result[SKDEBUGCANVAS_ATTRIBUTE_SHORTDESC] = Json::Value(str_append(&desc, fR
ect)->c_str()); | 1736 result[SKDEBUGCANVAS_ATTRIBUTE_SHORTDESC] = Json::Value(str_append(&desc, fR
ect)->c_str()); |
1737 | 1737 |
1738 return result; | 1738 return result; |
1739 } | 1739 } |
1740 | 1740 |
1741 SkClipRectCommand* SkClipRectCommand::fromJSON(Json::Value& command, | 1741 SkClipRectCommand* SkClipRectCommand::fromJSON(Json::Value& command, |
1742 UrlDataManager& urlDataManager) { | 1742 UrlDataManager& urlDataManager) { |
1743 SkRect rect; | 1743 SkRect rect; |
1744 extract_json_rect(command[SKDEBUGCANVAS_ATTRIBUTE_COORDS], &rect); | 1744 extract_json_rect(command[SKDEBUGCANVAS_ATTRIBUTE_COORDS], &rect); |
1745 return new SkClipRectCommand(rect, get_json_regionop(command[SKDEBUGCANVAS_A
TTRIBUTE_REGIONOP]), | 1745 return new SkClipRectCommand(rect, get_json_clipop(command[SKDEBUGCANVAS_ATT
RIBUTE_REGIONOP]), |
1746 command[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS].asBo
ol()); | 1746 command[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS].asBo
ol()); |
1747 } | 1747 } |
1748 | 1748 |
1749 SkClipRRectCommand::SkClipRRectCommand(const SkRRect& rrect, SkRegion::Op op, bo
ol doAA) | 1749 SkClipRRectCommand::SkClipRRectCommand(const SkRRect& rrect, SkCanvas::ClipOp op
, bool doAA) |
1750 : INHERITED(kClipRRect_OpType) { | 1750 : INHERITED(kClipRRect_OpType) { |
1751 fRRect = rrect; | 1751 fRRect = rrect; |
1752 fOp = op; | 1752 fOp = op; |
1753 fDoAA = doAA; | 1753 fDoAA = doAA; |
1754 | 1754 |
1755 fInfo.push(SkObjectParser::RRectToString(rrect)); | 1755 fInfo.push(SkObjectParser::RRectToString(rrect)); |
1756 fInfo.push(SkObjectParser::RegionOpToString(op)); | 1756 fInfo.push(SkObjectParser::ClipOpToString(op)); |
1757 fInfo.push(SkObjectParser::BoolToString(doAA)); | 1757 fInfo.push(SkObjectParser::BoolToString(doAA)); |
1758 } | 1758 } |
1759 | 1759 |
1760 void SkClipRRectCommand::execute(SkCanvas* canvas) const { | 1760 void SkClipRRectCommand::execute(SkCanvas* canvas) const { |
1761 canvas->clipRRect(fRRect, fOp, fDoAA); | 1761 canvas->clipRRect(fRRect, fOp, fDoAA); |
1762 } | 1762 } |
1763 | 1763 |
1764 bool SkClipRRectCommand::render(SkCanvas* canvas) const { | 1764 bool SkClipRRectCommand::render(SkCanvas* canvas) const { |
1765 render_rrect(canvas, fRRect); | 1765 render_rrect(canvas, fRRect); |
1766 return true; | 1766 return true; |
1767 } | 1767 } |
1768 | 1768 |
1769 Json::Value SkClipRRectCommand::toJSON(UrlDataManager& urlDataManager) const { | 1769 Json::Value SkClipRRectCommand::toJSON(UrlDataManager& urlDataManager) const { |
1770 Json::Value result = INHERITED::toJSON(urlDataManager); | 1770 Json::Value result = INHERITED::toJSON(urlDataManager); |
1771 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = make_json_rrect(fRRect); | 1771 result[SKDEBUGCANVAS_ATTRIBUTE_COORDS] = make_json_rrect(fRRect); |
1772 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); | 1772 result[SKDEBUGCANVAS_ATTRIBUTE_REGIONOP] = make_json_regionop(fOp); |
1773 result[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS] = Json::Value(fDoAA); | 1773 result[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS] = Json::Value(fDoAA); |
1774 return result; | 1774 return result; |
1775 } | 1775 } |
1776 | 1776 |
1777 SkClipRRectCommand* SkClipRRectCommand::fromJSON(Json::Value& command, | 1777 SkClipRRectCommand* SkClipRRectCommand::fromJSON(Json::Value& command, |
1778 UrlDataManager& urlDataManager)
{ | 1778 UrlDataManager& urlDataManager)
{ |
1779 SkRRect rrect; | 1779 SkRRect rrect; |
1780 extract_json_rrect(command[SKDEBUGCANVAS_ATTRIBUTE_COORDS], &rrect); | 1780 extract_json_rrect(command[SKDEBUGCANVAS_ATTRIBUTE_COORDS], &rrect); |
1781 return new SkClipRRectCommand(rrect, | 1781 return new SkClipRRectCommand(rrect, |
1782 get_json_regionop(command[SKDEBUGCANVAS_ATTRIB
UTE_REGIONOP]), | 1782 get_json_clipop(command[SKDEBUGCANVAS_ATTRIBUT
E_REGIONOP]), |
1783 command[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS].asB
ool()); | 1783 command[SKDEBUGCANVAS_ATTRIBUTE_ANTIALIAS].asB
ool()); |
1784 } | 1784 } |
1785 | 1785 |
1786 SkConcatCommand::SkConcatCommand(const SkMatrix& matrix) | 1786 SkConcatCommand::SkConcatCommand(const SkMatrix& matrix) |
1787 : INHERITED(kConcat_OpType) { | 1787 : INHERITED(kConcat_OpType) { |
1788 fMatrix = matrix; | 1788 fMatrix = matrix; |
1789 | 1789 |
1790 fInfo.push(SkObjectParser::MatrixToString(matrix)); | 1790 fInfo.push(SkObjectParser::MatrixToString(matrix)); |
1791 } | 1791 } |
1792 | 1792 |
(...skipping 1754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3547 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, | 3547 SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, |
3548 UrlDataManager& urlDataManager) { | 3548 UrlDataManager& urlDataManager) { |
3549 SkScalar z; | 3549 SkScalar z; |
3550 #ifdef SK_EXPERIMENTAL_SHADOWING | 3550 #ifdef SK_EXPERIMENTAL_SHADOWING |
3551 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); | 3551 extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); |
3552 #else | 3552 #else |
3553 z = 0; | 3553 z = 0; |
3554 #endif | 3554 #endif |
3555 return new SkTranslateZCommand(z); | 3555 return new SkTranslateZCommand(z); |
3556 } | 3556 } |
OLD | NEW |