OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 "SkBlurMask.h" | 8 #include "SkBlurMask.h" |
9 #include "SkBlurMaskFilter.h" | 9 #include "SkBlurMaskFilter.h" |
10 #include "SkLayerDrawLooper.h" | 10 #include "SkLayerDrawLooper.h" |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 SkLayerDrawLooper* looper = looperBuilder.detachLooper(); | 151 SkLayerDrawLooper* looper = looperBuilder.detachLooper(); |
152 paint.setLooper(looper)->unref(); | 152 paint.setLooper(looper)->unref(); |
153 SkMaskFilter* mask = SkBlurMaskFilter::Create(kNormal_SkBlurStyle, | 153 SkMaskFilter* mask = SkBlurMaskFilter::Create(kNormal_SkBlurStyle, |
154 SkBlurMask::ConvertRadiusToSigma(SkIntToSc
alar(1))); | 154 SkBlurMask::ConvertRadiusToSigma(SkIntToSc
alar(1))); |
155 paint.setMaskFilter(mask)->unref(); | 155 paint.setMaskFilter(mask)->unref(); |
156 | 156 |
157 // copy the paint using the copy constructor and check they are the same | 157 // copy the paint using the copy constructor and check they are the same |
158 SkPaint copiedPaint = paint; | 158 SkPaint copiedPaint = paint; |
159 REPORTER_ASSERT(reporter, paint == copiedPaint); | 159 REPORTER_ASSERT(reporter, paint == copiedPaint); |
160 | 160 |
161 #ifdef SK_BUILD_FOR_ANDROID | |
162 // the copy constructor should preserve the Generation ID | |
163 uint32_t paintGenID = paint.getGenerationID(); | |
164 uint32_t copiedPaintGenID = copiedPaint.getGenerationID(); | |
165 REPORTER_ASSERT(reporter, paintGenID == copiedPaintGenID); | |
166 REPORTER_ASSERT(reporter, paint == copiedPaint); | |
167 #endif | |
168 | |
169 // copy the paint using the equal operator and check they are the same | 161 // copy the paint using the equal operator and check they are the same |
170 copiedPaint = paint; | 162 copiedPaint = paint; |
171 REPORTER_ASSERT(reporter, paint == copiedPaint); | 163 REPORTER_ASSERT(reporter, paint == copiedPaint); |
172 | 164 |
173 #ifdef SK_BUILD_FOR_ANDROID | |
174 // the equals operator should increment the Generation ID | |
175 REPORTER_ASSERT(reporter, paint.getGenerationID() == paintGenID); | |
176 REPORTER_ASSERT(reporter, copiedPaint.getGenerationID() != copiedPaintGenID)
; | |
177 copiedPaintGenID = copiedPaint.getGenerationID(); // reset to the new value | |
178 REPORTER_ASSERT(reporter, paint == copiedPaint); // operator== ignores fGen
erationID | |
179 #endif | |
180 | |
181 // clean the paint and check they are back to their initial states | 165 // clean the paint and check they are back to their initial states |
182 SkPaint cleanPaint; | 166 SkPaint cleanPaint; |
183 paint.reset(); | 167 paint.reset(); |
184 copiedPaint.reset(); | 168 copiedPaint.reset(); |
185 REPORTER_ASSERT(reporter, cleanPaint == paint); | 169 REPORTER_ASSERT(reporter, cleanPaint == paint); |
186 REPORTER_ASSERT(reporter, cleanPaint == copiedPaint); | 170 REPORTER_ASSERT(reporter, cleanPaint == copiedPaint); |
187 | |
188 #ifdef SK_BUILD_FOR_ANDROID | |
189 // the reset function should increment the Generation ID | |
190 REPORTER_ASSERT(reporter, paint.getGenerationID() != paintGenID); | |
191 REPORTER_ASSERT(reporter, copiedPaint.getGenerationID() != copiedPaintGenID)
; | |
192 // operator== ignores fGenerationID | |
193 REPORTER_ASSERT(reporter, cleanPaint == paint); | |
194 REPORTER_ASSERT(reporter, cleanPaint == copiedPaint); | |
195 #endif | |
196 } | 171 } |
197 | 172 |
198 // found and fixed for webkit: mishandling when we hit recursion limit on | 173 // found and fixed for webkit: mishandling when we hit recursion limit on |
199 // mostly degenerate cubic flatness test | 174 // mostly degenerate cubic flatness test |
200 DEF_TEST(Paint_regression_cubic, reporter) { | 175 DEF_TEST(Paint_regression_cubic, reporter) { |
201 SkPath path, stroke; | 176 SkPath path, stroke; |
202 SkPaint paint; | 177 SkPaint paint; |
203 | 178 |
204 path.moveTo(460.2881309415525f, | 179 path.moveTo(460.2881309415525f, |
205 303.250847066498f); | 180 303.250847066498f); |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 REPORTER_ASSERT(r, paint.getHash() != defaultHash); | 337 REPORTER_ASSERT(r, paint.getHash() != defaultHash); |
363 paint.setTypeface(NULL); | 338 paint.setTypeface(NULL); |
364 REPORTER_ASSERT(r, paint.getHash() == defaultHash); | 339 REPORTER_ASSERT(r, paint.getHash() == defaultHash); |
365 | 340 |
366 // This is part of fBitfields, the last field we hash. | 341 // This is part of fBitfields, the last field we hash. |
367 paint.setHinting(SkPaint::kSlight_Hinting); | 342 paint.setHinting(SkPaint::kSlight_Hinting); |
368 REPORTER_ASSERT(r, paint.getHash() != defaultHash); | 343 REPORTER_ASSERT(r, paint.getHash() != defaultHash); |
369 paint.setHinting(SkPaint::kNormal_Hinting); | 344 paint.setHinting(SkPaint::kNormal_Hinting); |
370 REPORTER_ASSERT(r, paint.getHash() == defaultHash); | 345 REPORTER_ASSERT(r, paint.getHash() == defaultHash); |
371 } | 346 } |
OLD | NEW |