From d5688c509293a450c058e0cc1f4673be2931bb5c Mon Sep 17 00:00:00 2001 From: reed Date: Tue, 11 Nov 2014 11:00:55 -0800 Subject: modify nothingToDraw to notice filters BUG=skia: Review URL: https://codereview.chromium.org/717753002 --- tests/PaintTest.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'tests/PaintTest.cpp') diff --git a/tests/PaintTest.cpp b/tests/PaintTest.cpp index 4c45eed761..c307aa94bc 100644 --- a/tests/PaintTest.cpp +++ b/tests/PaintTest.cpp @@ -344,3 +344,30 @@ DEF_TEST(Paint_getHash, r) { paint.setHinting(SkPaint::kNormal_Hinting); REPORTER_ASSERT(r, paint.getHash() == defaultHash); } + +#include "SkColorMatrixFilter.h" + +DEF_TEST(Paint_nothingToDraw, r) { + SkPaint paint; + + REPORTER_ASSERT(r, !paint.nothingToDraw()); + paint.setAlpha(0); + REPORTER_ASSERT(r, paint.nothingToDraw()); + + paint.setAlpha(0xFF); + paint.setXfermodeMode(SkXfermode::kDst_Mode); + REPORTER_ASSERT(r, paint.nothingToDraw()); + + paint.setAlpha(0); + paint.setXfermodeMode(SkXfermode::kSrcOver_Mode); + + SkColorMatrix cm; + cm.setIdentity(); // does not change alpha + paint.setColorFilter(SkColorMatrixFilter::Create(cm))->unref(); + REPORTER_ASSERT(r, paint.nothingToDraw()); + + cm.postTranslate(0, 0, 0, 1); // wacks alpha + paint.setColorFilter(SkColorMatrixFilter::Create(cm))->unref(); + REPORTER_ASSERT(r, !paint.nothingToDraw()); +} + -- cgit v1.2.3