| 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 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 REPORTER_ASSERT(reporter, r.isEmpty()); | 285 REPORTER_ASSERT(reporter, r.isEmpty()); |
| 286 } | 286 } |
| 287 | 287 |
| 288 #define ASSERT(expr) REPORTER_ASSERT(r, expr) | 288 #define ASSERT(expr) REPORTER_ASSERT(r, expr) |
| 289 | 289 |
| 290 DEF_TEST(Paint_MoreFlattening, r) { | 290 DEF_TEST(Paint_MoreFlattening, r) { |
| 291 SkPaint paint; | 291 SkPaint paint; |
| 292 paint.setColor(0x00AABBCC); | 292 paint.setColor(0x00AABBCC); |
| 293 paint.setTextScaleX(1.0f); // Default value, ignored. | 293 paint.setTextScaleX(1.0f); // Default value, ignored. |
| 294 paint.setTextSize(19); | 294 paint.setTextSize(19); |
| 295 paint.setXfermode(SkXfermode::Make(SkXfermode::kModulate_Mode)); | 295 paint.setBlendMode(SkBlendMode::kModulate); |
| 296 paint.setLooper(nullptr); // Default value, ignored. | 296 paint.setLooper(nullptr); // Default value, ignored. |
| 297 | 297 |
| 298 SkBinaryWriteBuffer writer; | 298 SkBinaryWriteBuffer writer; |
| 299 paint.flatten(writer); | 299 paint.flatten(writer); |
| 300 | 300 |
| 301 SkAutoMalloc buf(writer.bytesWritten()); | 301 SkAutoMalloc buf(writer.bytesWritten()); |
| 302 writer.writeToMemory(buf.get()); | 302 writer.writeToMemory(buf.get()); |
| 303 SkReadBuffer reader(buf.get(), writer.bytesWritten()); | 303 SkReadBuffer reader(buf.get(), writer.bytesWritten()); |
| 304 | 304 |
| 305 SkPaint other; | 305 SkPaint other; |
| 306 other.unflatten(reader); | 306 other.unflatten(reader); |
| 307 ASSERT(reader.offset() == writer.bytesWritten()); | 307 ASSERT(reader.offset() == writer.bytesWritten()); |
| 308 | 308 |
| 309 // No matter the encoding, these must always hold. | 309 // No matter the encoding, these must always hold. |
| 310 ASSERT(other.getColor() == paint.getColor()); | 310 ASSERT(other.getColor() == paint.getColor()); |
| 311 ASSERT(other.getTextScaleX() == paint.getTextScaleX()); | 311 ASSERT(other.getTextScaleX() == paint.getTextScaleX()); |
| 312 ASSERT(other.getTextSize() == paint.getTextSize()); | 312 ASSERT(other.getTextSize() == paint.getTextSize()); |
| 313 ASSERT(other.getLooper() == paint.getLooper()); | 313 ASSERT(other.getLooper() == paint.getLooper()); |
| 314 ASSERT(other.getBlendMode() == paint.getBlendMode()); |
| 314 | 315 |
| 315 // We have to be a little looser and compare just the modes. Pointers might
not be the same. | 316 #ifdef SK_SUPPORT_LEGACY_XFERMODE_PTR |
| 316 SkXfermode::Mode otherMode, paintMode; | 317 other.setXfermode(nullptr); |
| 317 ASSERT(other.getXfermode()->asMode(&otherMode)); | 318 #endif |
| 318 ASSERT(paint.getXfermode()->asMode(&paintMode)); | |
| 319 ASSERT(otherMode == paintMode); | |
| 320 } | 319 } |
| 321 | 320 |
| 322 DEF_TEST(Paint_getHash, r) { | 321 DEF_TEST(Paint_getHash, r) { |
| 323 // Try not to inspect the actual hash values in here. | 322 // Try not to inspect the actual hash values in here. |
| 324 // We might want to change the hash function. | 323 // We might want to change the hash function. |
| 325 | 324 |
| 326 SkPaint paint; | 325 SkPaint paint; |
| 327 const uint32_t defaultHash = paint.getHash(); | 326 const uint32_t defaultHash = paint.getHash(); |
| 328 | 327 |
| 329 // Check that some arbitrary field affects the hash. | 328 // Check that some arbitrary field affects the hash. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 348 #include "SkColorMatrixFilter.h" | 347 #include "SkColorMatrixFilter.h" |
| 349 | 348 |
| 350 DEF_TEST(Paint_nothingToDraw, r) { | 349 DEF_TEST(Paint_nothingToDraw, r) { |
| 351 SkPaint paint; | 350 SkPaint paint; |
| 352 | 351 |
| 353 REPORTER_ASSERT(r, !paint.nothingToDraw()); | 352 REPORTER_ASSERT(r, !paint.nothingToDraw()); |
| 354 paint.setAlpha(0); | 353 paint.setAlpha(0); |
| 355 REPORTER_ASSERT(r, paint.nothingToDraw()); | 354 REPORTER_ASSERT(r, paint.nothingToDraw()); |
| 356 | 355 |
| 357 paint.setAlpha(0xFF); | 356 paint.setAlpha(0xFF); |
| 358 paint.setXfermodeMode(SkXfermode::kDst_Mode); | 357 paint.setBlendMode(SkBlendMode::kDst); |
| 359 REPORTER_ASSERT(r, paint.nothingToDraw()); | 358 REPORTER_ASSERT(r, paint.nothingToDraw()); |
| 360 | 359 |
| 361 paint.setAlpha(0); | 360 paint.setAlpha(0); |
| 362 paint.setXfermodeMode(SkXfermode::kSrcOver_Mode); | 361 paint.setBlendMode(SkBlendMode::kSrcOver); |
| 363 | 362 |
| 364 SkColorMatrix cm; | 363 SkColorMatrix cm; |
| 365 cm.setIdentity(); // does not change alpha | 364 cm.setIdentity(); // does not change alpha |
| 366 paint.setColorFilter(SkColorFilter::MakeMatrixFilterRowMajor255(cm.fMat)); | 365 paint.setColorFilter(SkColorFilter::MakeMatrixFilterRowMajor255(cm.fMat)); |
| 367 REPORTER_ASSERT(r, paint.nothingToDraw()); | 366 REPORTER_ASSERT(r, paint.nothingToDraw()); |
| 368 | 367 |
| 369 cm.postTranslate(0, 0, 0, 1); // wacks alpha | 368 cm.postTranslate(0, 0, 0, 1); // wacks alpha |
| 370 paint.setColorFilter(SkColorFilter::MakeMatrixFilterRowMajor255(cm.fMat)); | 369 paint.setColorFilter(SkColorFilter::MakeMatrixFilterRowMajor255(cm.fMat)); |
| 371 REPORTER_ASSERT(r, !paint.nothingToDraw()); | 370 REPORTER_ASSERT(r, !paint.nothingToDraw()); |
| 372 } | 371 } |
| OLD | NEW |