Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: skia/ext/analysis_canvas_unittest.cc

Issue 1519243002: Remove many unused files from //skia/ext (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/ext/analysis_canvas.cc ('k') | skia/ext/convolver.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/ext/analysis_canvas_unittest.cc
diff --git a/skia/ext/analysis_canvas_unittest.cc b/skia/ext/analysis_canvas_unittest.cc
deleted file mode 100644
index 8263075be0fd62b2d67006a3ff8ffe1d330a28f3..0000000000000000000000000000000000000000
--- a/skia/ext/analysis_canvas_unittest.cc
+++ /dev/null
@@ -1,394 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/compiler_specific.h"
-#include "skia/ext/analysis_canvas.h"
-#include "skia/ext/refptr.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/skia/include/core/SkPicture.h"
-#include "third_party/skia/include/core/SkPictureRecorder.h"
-#include "third_party/skia/include/core/SkShader.h"
-#include "third_party/skia/include/effects/SkOffsetImageFilter.h"
-
-namespace {
-
-void SolidColorFill(skia::AnalysisCanvas& canvas) {
- canvas.clear(SkColorSetARGB(255, 255, 255, 255));
-}
-
-void TransparentFill(skia::AnalysisCanvas& canvas) {
- canvas.clear(SkColorSetARGB(0, 0, 0, 0));
-}
-
-} // namespace
-namespace skia {
-
-TEST(AnalysisCanvasTest, EmptyCanvas) {
- skia::AnalysisCanvas canvas(255, 255);
-
- SkColor color;
- EXPECT_TRUE(canvas.GetColorIfSolid(&color));
- EXPECT_EQ(color, SkColorSetARGB(0, 0, 0, 0));
-}
-
-TEST(AnalysisCanvasTest, ClearCanvas) {
- skia::AnalysisCanvas canvas(255, 255);
-
- // Transparent color
- SkColor color = SkColorSetARGB(0, 12, 34, 56);
- canvas.clear(color);
-
- SkColor outputColor;
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- // Solid color
- color = SkColorSetARGB(255, 65, 43, 21);
- canvas.clear(color);
-
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- EXPECT_EQ(outputColor, color);
-
- // Translucent color
- color = SkColorSetARGB(128, 11, 22, 33);
- canvas.clear(color);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- // Test helper methods
- SolidColorFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- TransparentFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-}
-
-TEST(AnalysisCanvasTest, ComplexActions) {
- skia::AnalysisCanvas canvas(255, 255);
-
- // Draw paint test.
- SkColor color = SkColorSetARGB(255, 11, 22, 33);
- SkPaint paint;
- paint.setColor(color);
-
- canvas.drawPaint(paint);
-
- SkColor outputColor;
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
-
- // Draw points test.
- SkPoint points[4] = {
- SkPoint::Make(0, 0),
- SkPoint::Make(255, 0),
- SkPoint::Make(255, 255),
- SkPoint::Make(0, 255)
- };
-
- SolidColorFill(canvas);
- canvas.drawPoints(SkCanvas::kLines_PointMode, 4, points, paint);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- // Draw oval test.
- SolidColorFill(canvas);
- canvas.drawOval(SkRect::MakeWH(255, 255), paint);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- // Draw bitmap test.
- SolidColorFill(canvas);
- SkBitmap secondBitmap;
- secondBitmap.allocN32Pixels(255, 255);
- canvas.drawBitmap(secondBitmap, 0, 0);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-}
-
-TEST(AnalysisCanvasTest, SimpleDrawRect) {
- skia::AnalysisCanvas canvas(255, 255);
-
- SkColor color = SkColorSetARGB(255, 11, 22, 33);
- SkPaint paint;
- paint.setColor(color);
- canvas.clipRect(SkRect::MakeWH(255, 255));
- canvas.drawRect(SkRect::MakeWH(255, 255), paint);
-
- SkColor outputColor;
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- EXPECT_EQ(color, outputColor);
-
- color = SkColorSetARGB(255, 22, 33, 44);
- paint.setColor(color);
- canvas.translate(-128, -128);
- canvas.drawRect(SkRect::MakeWH(382, 382), paint);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- color = SkColorSetARGB(255, 33, 44, 55);
- paint.setColor(color);
- canvas.drawRect(SkRect::MakeWH(383, 383), paint);
-
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- EXPECT_EQ(color, outputColor);
-
- color = SkColorSetARGB(0, 0, 0, 0);
- paint.setColor(color);
- canvas.drawRect(SkRect::MakeWH(383, 383), paint);
-
- // This test relies on canvas treating a paint with 0-color as a no-op
- // thus not changing its "is_solid" status.
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- EXPECT_EQ(outputColor, SkColorSetARGB(255, 33, 44, 55));
-
- color = SkColorSetARGB(128, 128, 128, 128);
- paint.setColor(color);
- canvas.drawRect(SkRect::MakeWH(383, 383), paint);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- paint.setXfermodeMode(SkXfermode::kClear_Mode);
- canvas.drawRect(SkRect::MakeWH(382, 382), paint);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.drawRect(SkRect::MakeWH(383, 383), paint);
-
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- canvas.translate(128, 128);
- color = SkColorSetARGB(255, 11, 22, 33);
- paint.setColor(color);
- paint.setXfermodeMode(SkXfermode::kSrcOver_Mode);
- canvas.drawRect(SkRect::MakeWH(255, 255), paint);
-
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- EXPECT_EQ(color, outputColor);
-
- canvas.rotate(50);
- canvas.drawRect(SkRect::MakeWH(255, 255), paint);
-
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-}
-
-TEST(AnalysisCanvasTest, FilterPaint) {
- skia::AnalysisCanvas canvas(255, 255);
- SkPaint paint;
-
- skia::RefPtr<SkImageFilter> filter = skia::AdoptRef(SkOffsetImageFilter::Create(10, 10));
- paint.setImageFilter(filter.get());
- canvas.drawRect(SkRect::MakeWH(255, 255), paint);
-
- SkColor outputColor;
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-}
-
-TEST(AnalysisCanvasTest, ClipPath) {
- skia::AnalysisCanvas canvas(255, 255);
-
- // Skia will look for paths that are actually rects and treat
- // them as such. We add a divot to the following path to prevent
- // this optimization and truly test clipPath's behavior.
- SkPath path;
- path.moveTo(0, 0);
- path.lineTo(128, 50);
- path.lineTo(255, 0);
- path.lineTo(255, 255);
- path.lineTo(0, 255);
-
- SkColor outputColor;
- SolidColorFill(canvas);
- canvas.clipPath(path);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.save();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.clipPath(path);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.restore();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- SolidColorFill(canvas);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-}
-
-TEST(AnalysisCanvasTest, SaveLayerWithXfermode) {
- skia::AnalysisCanvas canvas(255, 255);
- SkRect bounds = SkRect::MakeWH(255, 255);
- SkColor outputColor;
-
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- SkPaint paint;
-
- // Note: nothing is draw to the the save layer, but solid color
- // and transparency are handled conservatively in case the layer's
- // SkPaint draws something. For example, there could be an
- // SkPictureImageFilter. If someday analysis_canvas starts doing
- // a deeper analysis of the SkPaint, this test may need to be
- // redesigned.
- TransparentFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- paint.setXfermodeMode(SkXfermode::kSrc_Mode);
- canvas.saveLayer(&bounds, &paint);
- canvas.restore();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- TransparentFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- paint.setXfermodeMode(SkXfermode::kSrcOver_Mode);
- canvas.saveLayer(&bounds, &paint);
- canvas.restore();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- // Layer with dst xfermode is a no-op, so this is the only case
- // where solid color is unaffected by the layer.
- TransparentFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
- paint.setXfermodeMode(SkXfermode::kDst_Mode);
- canvas.saveLayer(&bounds, &paint);
- canvas.restore();
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-}
-
-TEST(AnalysisCanvasTest, SaveLayerRestore) {
- skia::AnalysisCanvas canvas(255, 255);
-
- SkColor outputColor;
- SolidColorFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
-
- SkRect bounds = SkRect::MakeWH(255, 255);
- SkPaint paint;
- paint.setColor(SkColorSetARGB(255, 255, 255, 255));
- paint.setXfermodeMode(SkXfermode::kSrcOver_Mode);
-
- // This should force non-transparency
- canvas.saveLayer(&bounds, &paint);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- TransparentFill(canvas);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- SolidColorFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- paint.setXfermodeMode(SkXfermode::kDst_Mode);
-
- // This should force non-solid color
- canvas.saveLayer(&bounds, &paint);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- TransparentFill(canvas);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- SolidColorFill(canvas);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.restore();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- TransparentFill(canvas);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- SolidColorFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- canvas.restore();
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- TransparentFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_EQ(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-
- SolidColorFill(canvas);
- EXPECT_TRUE(canvas.GetColorIfSolid(&outputColor));
- EXPECT_NE(static_cast<SkColor>(SK_ColorTRANSPARENT), outputColor);
-}
-
-TEST(AnalysisCanvasTest, EarlyOutNotSolid) {
- SkRTreeFactory factory;
- SkPictureRecorder recorder;
-
- // Create a picture with 3 commands, last of which is non-solid.
- skia::RefPtr<SkCanvas> record_canvas =
- skia::SharePtr(recorder.beginRecording(256, 256, &factory));
-
- std::string text = "text";
- SkPoint point = SkPoint::Make(SkIntToScalar(25), SkIntToScalar(25));
-
- SkPaint paint;
- paint.setColor(SkColorSetARGB(255, 255, 255, 255));
- paint.setXfermodeMode(SkXfermode::kSrcOver_Mode);
-
- record_canvas->drawRect(SkRect::MakeWH(256, 256), paint);
- record_canvas->drawRect(SkRect::MakeWH(256, 256), paint);
- record_canvas->drawText(
- text.c_str(), text.length(), point.fX, point.fY, paint);
-
- skia::RefPtr<SkPicture> picture = skia::AdoptRef(recorder.endRecording());
-
- // Draw the picture into the analysis canvas, using the canvas as a callback
- // as well.
- skia::AnalysisCanvas canvas(256, 256);
- picture->playback(&canvas, &canvas);
-
- // Ensure that canvas is not solid.
- SkColor output_color;
- EXPECT_FALSE(canvas.GetColorIfSolid(&output_color));
-
- // Verify that we aborted drawing.
- EXPECT_TRUE(canvas.abortDrawing());
-
-}
-
-TEST(AnalysisCanvasTest, ClipComplexRegion) {
- skia::AnalysisCanvas canvas(255, 255);
-
- SkPath path;
- path.moveTo(0, 0);
- path.lineTo(128, 50);
- path.lineTo(255, 0);
- path.lineTo(255, 255);
- path.lineTo(0, 255);
- SkIRect pathBounds = path.getBounds().round();
- SkRegion region;
- region.setPath(path, SkRegion(pathBounds));
-
- SkColor outputColor;
- SolidColorFill(canvas);
- canvas.clipRegion(region);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.save();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.clipRegion(region);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- canvas.restore();
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-
- SolidColorFill(canvas);
- EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor));
-}
-
-} // namespace skia
« no previous file with comments | « skia/ext/analysis_canvas.cc ('k') | skia/ext/convolver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698