diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkCanvas.cpp | 1 | ||||
-rw-r--r-- | src/core/SkClipOpPriv.h | 22 | ||||
-rw-r--r-- | src/core/SkClipStack.cpp | 15 | ||||
-rw-r--r-- | src/core/SkPictureCommon.h | 2 | ||||
-rw-r--r-- | src/core/SkPictureFlat.h | 2 | ||||
-rw-r--r-- | src/core/SkPictureRecord.cpp | 1 | ||||
-rw-r--r-- | src/core/SkRecordDraw.cpp | 6 |
7 files changed, 37 insertions, 12 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 430556db7e..f8069ee2d3 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -48,6 +48,7 @@ #include "SkGrPriv.h" #endif +#include "SkClipOpPriv.h" #define RETURN_ON_NULL(ptr) do { if (nullptr == (ptr)) return; } while (0) diff --git a/src/core/SkClipOpPriv.h b/src/core/SkClipOpPriv.h new file mode 100644 index 0000000000..5de8449399 --- /dev/null +++ b/src/core/SkClipOpPriv.h @@ -0,0 +1,22 @@ +/* + * 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 SkClipOpPriv_DEFINED +#define SkClipOpPriv_DEFINED + +#include "SkClipOp.h" + +#ifndef SK_SUPPORT_LEGACY_CLIPOPS_PLAIN_ENUM +const SkClipOp kDifference_SkClipOp = SkClipOp::kDifference; +const SkClipOp kIntersect_SkClipOp = SkClipOp::kIntersect; +const SkClipOp kUnion_SkClipOp = SkClipOp::kUnion; +const SkClipOp kXOR_SkClipOp = SkClipOp::kXOR; +const SkClipOp kReverseDifference_SkClipOp = SkClipOp::kReverseDifference; +const SkClipOp kReplace_SkClipOp = SkClipOp::kReplace; +#endif + +#endif diff --git a/src/core/SkClipStack.cpp b/src/core/SkClipStack.cpp index 1a1e85f4c5..c7d5359760 100644 --- a/src/core/SkClipStack.cpp +++ b/src/core/SkClipStack.cpp @@ -10,6 +10,7 @@ #include "SkClipStack.h" #include "SkPath.h" #include "SkPathOps.h" +#include "SkClipOpPriv.h" #include <new> @@ -951,16 +952,16 @@ void SkClipStack::Element::dump() const { "reverse-difference", "replace", }; - static_assert(0 == kDifference_SkClipOp, "op_str"); - static_assert(1 == kIntersect_SkClipOp, "op_str"); - static_assert(2 == kUnion_SkClipOp, "op_str"); - static_assert(3 == kXOR_SkClipOp, "op_str"); - static_assert(4 == kReverseDifference_SkClipOp, "op_str"); - static_assert(5 == kReplace_SkClipOp, "op_str"); + static_assert(0 == static_cast<int>(kDifference_SkClipOp), "op_str"); + static_assert(1 == static_cast<int>(kIntersect_SkClipOp), "op_str"); + static_assert(2 == static_cast<int>(kUnion_SkClipOp), "op_str"); + static_assert(3 == static_cast<int>(kXOR_SkClipOp), "op_str"); + static_assert(4 == static_cast<int>(kReverseDifference_SkClipOp), "op_str"); + static_assert(5 == static_cast<int>(kReplace_SkClipOp), "op_str"); static_assert(SK_ARRAY_COUNT(kOpStrings) == SkRegion::kOpCnt, "op_str"); SkDebugf("Type: %s, Op: %s, AA: %s, Save Count: %d\n", kTypeStrings[fType], - kOpStrings[fOp], (fDoAA ? "yes" : "no"), fSaveCount); + kOpStrings[static_cast<int>(fOp)], (fDoAA ? "yes" : "no"), fSaveCount); switch (fType) { case kEmpty_Type: SkDebugf("\n"); diff --git a/src/core/SkPictureCommon.h b/src/core/SkPictureCommon.h index 9b0a2f7c04..51724afcb5 100644 --- a/src/core/SkPictureCommon.h +++ b/src/core/SkPictureCommon.h @@ -119,7 +119,7 @@ struct SkPathCounter { void operator()(const SkRecords::ClipPath& op) { // TODO: does the SkRegion op matter? - if (op.opAA.aa && !op.path.isConvex()) { + if (op.opAA.aa() && !op.path.isConvex()) { fNumSlowPathsAndDashEffects++; } } diff --git a/src/core/SkPictureFlat.h b/src/core/SkPictureFlat.h index d5263ca80b..1ac91b7ab5 100644 --- a/src/core/SkPictureFlat.h +++ b/src/core/SkPictureFlat.h @@ -130,7 +130,7 @@ enum SaveLayerRecFlatFlags { static inline uint32_t ClipParams_pack(SkClipOp op, bool doAA) { unsigned doAABit = doAA ? 1 : 0; - return (doAABit << 4) | op; + return (doAABit << 4) | static_cast<int>(op); } static inline SkClipOp ClipParams_unpackRegionOp(uint32_t packed) { diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index a0ac76d7a6..98677dd5eb 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -13,6 +13,7 @@ #include "SkRSXform.h" #include "SkTextBlob.h" #include "SkTSearch.h" +#include "SkClipOpPriv.h" #define HEAP_BLOCK_SIZE 4096 diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp index 05261bb59f..fe39cf2aeb 100644 --- a/src/core/SkRecordDraw.cpp +++ b/src/core/SkRecordDraw.cpp @@ -85,9 +85,9 @@ DRAW(SetMatrix, setMatrix(SkMatrix::Concat(fInitialCTM, r.matrix))); DRAW(Concat, concat(r.matrix)); DRAW(Translate, translate(r.dx, r.dy)); -DRAW(ClipPath, clipPath(r.path, r.opAA.op, r.opAA.aa)); -DRAW(ClipRRect, clipRRect(r.rrect, r.opAA.op, r.opAA.aa)); -DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa)); +DRAW(ClipPath, clipPath(r.path, r.opAA.op(), r.opAA.aa())); +DRAW(ClipRRect, clipRRect(r.rrect, r.opAA.op(), r.opAA.aa())); +DRAW(ClipRect, clipRect(r.rect, r.opAA.op(), r.opAA.aa())); DRAW(ClipRegion, clipRegion(r.region, r.op)); #ifdef SK_EXPERIMENTAL_SHADOWING |