From 523cda39435256bcb3e5665f47612d661d3c6bf9 Mon Sep 17 00:00:00 2001 From: djsollen Date: Tue, 17 Feb 2015 08:06:32 -0800 Subject: [PATCH] Remove android specific srcPath from SkPath Review URL: https://codereview.chromium.org/926693002 --- include/core/SkPath.h | 7 +------ src/core/SkPath.cpp | 27 ++------------------------ tests/PathTest.cpp | 52 --------------------------------------------------- 3 files changed, 3 insertions(+), 83 deletions(-) diff --git a/include/core/SkPath.h b/include/core/SkPath.h index 61b1ce4..a0d6059 100644 --- a/include/core/SkPath.h +++ b/include/core/SkPath.h @@ -953,10 +953,8 @@ public: */ uint32_t getGenerationID() const; -#ifdef SK_BUILD_FOR_ANDROID +#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK static const int kPathRefGenIDBitCnt = 30; // leave room for the fill type (skbug.com/1762) - const SkPath* getSourcePath() const; - void setSourcePath(const SkPath* path); #else static const int kPathRefGenIDBitCnt = 32; #endif @@ -982,9 +980,6 @@ private: mutable uint8_t fConvexity; mutable uint8_t fDirection; mutable SkBool8 fIsVolatile; -#ifdef SK_BUILD_FOR_ANDROID - const SkPath* fSourcePath; -#endif /** Resets all fields other than fPathRef to their initial 'empty' values. * Assumes the caller has already emptied fPathRef. diff --git a/src/core/SkPath.cpp b/src/core/SkPath.cpp index 4f5fffb..c793396 100644 --- a/src/core/SkPath.cpp +++ b/src/core/SkPath.cpp @@ -125,11 +125,7 @@ private: #define INITIAL_LASTMOVETOINDEX_VALUE ~0 SkPath::SkPath() - : fPathRef(SkPathRef::CreateEmpty()) -#ifdef SK_BUILD_FOR_ANDROID - , fSourcePath(NULL) -#endif -{ + : fPathRef(SkPathRef::CreateEmpty()) { this->resetFields(); fIsVolatile = false; } @@ -148,9 +144,6 @@ void SkPath::resetFields() { SkPath::SkPath(const SkPath& that) : fPathRef(SkRef(that.fPathRef.get())) { this->copyFields(that); -#ifdef SK_BUILD_FOR_ANDROID - fSourcePath = that.fSourcePath; -#endif SkDEBUGCODE(that.validate();) } @@ -164,9 +157,6 @@ SkPath& SkPath::operator=(const SkPath& that) { if (this != &that) { fPathRef.reset(SkRef(that.fPathRef.get())); this->copyFields(that); -#ifdef SK_BUILD_FOR_ANDROID - fSourcePath = that.fSourcePath; -#endif } SkDEBUGCODE(this->validate();) return *this; @@ -198,9 +188,6 @@ void SkPath::swap(SkPath& that) { SkTSwap(fConvexity, that.fConvexity); SkTSwap(fDirection, that.fDirection); SkTSwap(fIsVolatile, that.fIsVolatile); -#ifdef SK_BUILD_FOR_ANDROID - SkTSwap(fSourcePath, that.fSourcePath); -#endif } } @@ -308,23 +295,13 @@ bool SkPath::conservativelyContainsRect(const SkRect& rect) const { uint32_t SkPath::getGenerationID() const { uint32_t genID = fPathRef->genID(); -#ifdef SK_BUILD_FOR_ANDROID +#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK SkASSERT((unsigned)fFillType < (1 << (32 - kPathRefGenIDBitCnt))); genID |= static_cast(fFillType) << kPathRefGenIDBitCnt; #endif return genID; } -#ifdef SK_BUILD_FOR_ANDROID -const SkPath* SkPath::getSourcePath() const { - return fSourcePath; -} - -void SkPath::setSourcePath(const SkPath* path) { - fSourcePath = path; -} -#endif - void SkPath::reset() { SkDEBUGCODE(this->validate();) diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp index d1c28ec..0946a0e 100644 --- a/tests/PathTest.cpp +++ b/tests/PathTest.cpp @@ -225,57 +225,6 @@ static void test_path_close_issue1474(skiatest::Reporter* reporter) { REPORTER_ASSERT(reporter, 95 == last.fY); } -static void test_android_specific_behavior(skiatest::Reporter* reporter) { -#ifdef SK_BUILD_FOR_ANDROID - // Make sure we treat fGenerationID and fSourcePath correctly for each of - // copy, assign, rewind, reset, and swap. - SkPath original, source, anotherSource; - original.setSourcePath(&source); - original.moveTo(0, 0); - original.lineTo(1, 1); - REPORTER_ASSERT(reporter, original.getSourcePath() == &source); - - uint32_t copyID, assignID; - - // Test copy constructor. Copy generation ID, copy source path. - SkPath copy(original); - REPORTER_ASSERT(reporter, copy.getGenerationID() == original.getGenerationID()); - REPORTER_ASSERT(reporter, copy.getSourcePath() == original.getSourcePath()); - - // Test assigment operator. Change generation ID, copy source path. - SkPath assign; - assignID = assign.getGenerationID(); - assign = original; - REPORTER_ASSERT(reporter, assign.getGenerationID() != assignID); - REPORTER_ASSERT(reporter, assign.getSourcePath() == original.getSourcePath()); - - // Test rewind. Change generation ID, don't touch source path. - copyID = copy.getGenerationID(); - copy.rewind(); - REPORTER_ASSERT(reporter, copy.getGenerationID() != copyID); - REPORTER_ASSERT(reporter, copy.getSourcePath() == original.getSourcePath()); - - // Test reset. Change generation ID, don't touch source path. - assignID = assign.getGenerationID(); - assign.reset(); - REPORTER_ASSERT(reporter, assign.getGenerationID() != assignID); - REPORTER_ASSERT(reporter, assign.getSourcePath() == original.getSourcePath()); - - // Test swap. Swap the generation IDs, swap source paths. - copy.reset(); - copy.moveTo(2, 2); - copy.setSourcePath(&anotherSource); - copyID = copy.getGenerationID(); - assign.moveTo(3, 3); - assignID = assign.getGenerationID(); - copy.swap(assign); - REPORTER_ASSERT(reporter, copy.getGenerationID() != copyID); - REPORTER_ASSERT(reporter, assign.getGenerationID() != assignID); - REPORTER_ASSERT(reporter, copy.getSourcePath() == original.getSourcePath()); - REPORTER_ASSERT(reporter, assign.getSourcePath() == &anotherSource); -#endif -} - static void test_gen_id(skiatest::Reporter* reporter) { SkPath a, b; REPORTER_ASSERT(reporter, a.getGenerationID() == b.getGenerationID()); @@ -3748,7 +3697,6 @@ DEF_TEST(Paths, reporter) { test_crbug_170666(); test_bad_cubic_crbug229478(); test_bad_cubic_crbug234190(); - test_android_specific_behavior(reporter); test_gen_id(reporter); test_path_close_issue1474(reporter); test_path_to_region(reporter); -- 2.7.4