Index: tests/PictureStateTreeTest.cpp |
diff --git a/tests/PictureStateTreeTest.cpp b/tests/PictureStateTreeTest.cpp |
deleted file mode 100644 |
index cb154def9683941b53f347e9d5267644deb197af..0000000000000000000000000000000000000000 |
--- a/tests/PictureStateTreeTest.cpp |
+++ /dev/null |
@@ -1,123 +0,0 @@ |
-/* |
- * Copyright 2014 Google Inc. |
- * |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#include "SkBBHFactory.h" |
-#include "SkCanvas.h" |
-#include "SkPictureRecorder.h" |
-#include "SkPictureStateTree.h" |
-#include "Test.h" |
- |
-static SkPicture* draw_scene(SkBBHFactory* bbhFactory) { |
- SkPictureRecorder recorder; |
- SkCanvas* canvas = recorder.beginRecording(200, 200, bbhFactory, 0); |
- |
- SkPaint p1, p2; |
- p1.setStyle(SkPaint::kFill_Style); |
- p1.setARGB(0x80, 0, 0xff, 0); |
- p2.setStyle(SkPaint::kFill_Style); |
- p2.setARGB(0x80, 0xff, 0, 0); |
- |
- canvas->drawColor(SK_ColorWHITE); |
- |
- // This is intended to exercise some tricky SkPictureStateTree code paths when |
- // played back with various clips: |
- // |
- // * cleanup/rewind when the last draw is not at the root of the state tree. |
- // * state nodes with both kSave_Flag & kSaveLayer_Flag set. |
- // * state tree transitions which implicitly reset the matrix via. restore(). |
- |
- canvas->save(); |
- canvas->translate(10, 10); |
- |
- canvas->drawRect(SkRect::MakeWH(100, 50), p1); |
- canvas->drawRect(SkRect::MakeWH(50, 100), p2); |
- |
- SkRect layerBounds = SkRect::MakeXYWH(0, 0, 90, 90); |
- canvas->saveLayer(&layerBounds, NULL); |
- canvas->save(); |
- canvas->clipRect(layerBounds); |
- |
- canvas->save(); |
- canvas->clipRect(SkRect::MakeWH(25, 25)); |
- canvas->rotate(90); |
- canvas->drawRect(SkRect::MakeWH(100, 50), p1); |
- canvas->restore(); |
- |
- canvas->save(); |
- canvas->clipRect(SkRect::MakeWH(25, 25)); |
- canvas->save(); |
- canvas->rotate(90); |
- canvas->drawRect(SkRect::MakeWH(50, 100), p2); |
- canvas->restore(); |
- canvas->drawRect(SkRect::MakeWH(100, 50), p1); |
- canvas->restore(); |
- canvas->drawRect(SkRect::MakeXYWH(99, 99, 1, 1), p1); |
- canvas->restore(); |
- canvas->restore(); |
- |
- canvas->restore(); |
- |
- return recorder.endRecording(); |
-} |
- |
-static void check_bms(skiatest::Reporter* reporter, const SkBitmap& bm1, const SkBitmap& bm2) { |
- SkASSERT(bm1.getSize() == bm2.getSize()); |
- REPORTER_ASSERT(reporter, 0 == memcmp(bm1.getAddr(0, 0), bm2.getAddr(0, 0), bm1.getSize())); |
-} |
- |
-static void test_reference_picture(skiatest::Reporter* reporter) { |
- SkRTreeFactory bbhFactory; |
- |
- SkAutoTUnref<SkPicture> bbhPicture(draw_scene(&bbhFactory)); |
- SkAutoTUnref<SkPicture> referencePicture(draw_scene(NULL)); |
- |
- SkBitmap referenceBitmap; |
- referenceBitmap.allocN32Pixels(100, 100); |
- SkCanvas referenceCanvas(referenceBitmap); |
- |
- SkBitmap bbhBitmap; |
- bbhBitmap.allocN32Pixels(100, 100); |
- SkCanvas bbhCanvas(bbhBitmap); |
- |
- referenceCanvas.drawColor(SK_ColorTRANSPARENT); |
- referenceCanvas.drawPicture(referencePicture.get()); |
- bbhCanvas.drawColor(SK_ColorTRANSPARENT); |
- bbhCanvas.drawPicture(bbhPicture.get()); |
- REPORTER_ASSERT(reporter, |
- referenceCanvas.getSaveCount() == bbhCanvas.getSaveCount()); |
- REPORTER_ASSERT(reporter, |
- referenceCanvas.getTotalMatrix() == bbhCanvas.getTotalMatrix()); |
- check_bms(reporter, referenceBitmap, bbhBitmap); |
- |
- referenceCanvas.drawColor(SK_ColorTRANSPARENT); |
- referenceCanvas.clipRect(SkRect::MakeWH(50, 50)); |
- referenceCanvas.drawPicture(referencePicture.get()); |
- bbhCanvas.drawColor(SK_ColorTRANSPARENT); |
- bbhCanvas.clipRect(SkRect::MakeWH(50, 50)); |
- bbhCanvas.drawPicture(bbhPicture.get()); |
- REPORTER_ASSERT(reporter, |
- referenceCanvas.getSaveCount() == bbhCanvas.getSaveCount()); |
- REPORTER_ASSERT(reporter, |
- referenceCanvas.getTotalMatrix() == bbhCanvas.getTotalMatrix()); |
- check_bms(reporter, referenceBitmap, bbhBitmap); |
- |
- referenceCanvas.drawColor(SK_ColorTRANSPARENT); |
- referenceCanvas.clipRect(SkRect::MakeWH(10, 10)); |
- referenceCanvas.drawPicture(referencePicture.get()); |
- bbhCanvas.drawColor(SK_ColorTRANSPARENT); |
- bbhCanvas.clipRect(SkRect::MakeWH(10, 10)); |
- bbhCanvas.drawPicture(bbhPicture.get()); |
- REPORTER_ASSERT(reporter, |
- referenceCanvas.getSaveCount() == bbhCanvas.getSaveCount()); |
- REPORTER_ASSERT(reporter, |
- referenceCanvas.getTotalMatrix() == bbhCanvas.getTotalMatrix()); |
- check_bms(reporter, referenceBitmap, bbhBitmap); |
-} |
- |
-DEF_TEST(PictureStateTree, reporter) { |
- test_reference_picture(reporter); |
-} |