Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 "SkCanvas.h" | 8 #include "SkCanvas.h" |
| 9 #include "SkPictureRecorder.h" | 9 #include "SkPictureRecorder.h" |
| 10 #include "SkTileGrid.h" | 10 #include "SkTileGrid.h" |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 23 public: | 23 public: |
| 24 MockCanvas(const SkBitmap& bm) : SkCanvas(bm) {} | 24 MockCanvas(const SkBitmap& bm) : SkCanvas(bm) {} |
| 25 | 25 |
| 26 virtual void drawRect(const SkRect& rect, const SkPaint&) { | 26 virtual void drawRect(const SkRect& rect, const SkPaint&) { |
| 27 // This capture occurs before quick reject. | 27 // This capture occurs before quick reject. |
| 28 fRects.push(rect); | 28 fRects.push(rect); |
| 29 } | 29 } |
| 30 | 30 |
| 31 SkTDArray<SkRect> fRects; | 31 SkTDArray<SkRect> fRects; |
| 32 }; | 32 }; |
| 33 | 33 |
|
robertphillips
2014/10/02 12:27:35
verify_tile_hit ?
mtklein
2014/10/02 14:32:09
Done.
| |
| 34 static void verifyTileHits(skiatest::Reporter* reporter, SkRect rect, | 34 static void verifyTileHits(skiatest::Reporter* reporter, SkRect rect, |
| 35 uint32_t tileMask, int borderPixels = 0) { | 35 uint32_t tileMask, int borderPixels = 0) { |
| 36 SkTileGridFactory::TileGridInfo info; | 36 SkTileGridFactory::TileGridInfo info; |
| 37 info.fMargin.set(borderPixels, borderPixels); | 37 info.fMargin.set(borderPixels, borderPixels); |
| 38 info.fOffset.setZero(); | 38 info.fOffset.setZero(); |
| 39 info.fTileInterval.set(10 - 2 * borderPixels, 10 - 2 * borderPixels); | 39 info.fTileInterval.set(10 - 2 * borderPixels, 10 - 2 * borderPixels); |
| 40 SkTileGrid grid(2, 2, info); | 40 SkTileGrid grid(2, 2, info); |
| 41 grid.insert(NULL, rect, false); | 41 grid.insert(0, rect, false); |
| 42 REPORTER_ASSERT(reporter, grid.tileCount(0, 0) == | 42 REPORTER_ASSERT(reporter, grid.tileCount(0, 0) == |
| 43 ((tileMask & kTopLeft_Tile)? 1 : 0)); | 43 ((tileMask & kTopLeft_Tile)? 1 : 0)); |
| 44 REPORTER_ASSERT(reporter, grid.tileCount(1, 0) == | 44 REPORTER_ASSERT(reporter, grid.tileCount(1, 0) == |
| 45 ((tileMask & kTopRight_Tile)? 1 : 0)); | 45 ((tileMask & kTopRight_Tile)? 1 : 0)); |
| 46 REPORTER_ASSERT(reporter, grid.tileCount(0, 1) == | 46 REPORTER_ASSERT(reporter, grid.tileCount(0, 1) == |
| 47 ((tileMask & kBottomLeft_Tile)? 1 : 0)); | 47 ((tileMask & kBottomLeft_Tile)? 1 : 0)); |
| 48 REPORTER_ASSERT(reporter, grid.tileCount(1, 1) == | 48 REPORTER_ASSERT(reporter, grid.tileCount(1, 1) == |
| 49 ((tileMask & kBottomRight_Tile)? 1 : 0)); | 49 ((tileMask & kBottomRight_Tile)? 1 : 0)); |
| 50 } | 50 } |
| 51 | 51 |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 242 verifyTileHits(reporter, SkRect::MakeXYWH(10, 10, 1, 1), kBottomRight_Tile, 1); | 242 verifyTileHits(reporter, SkRect::MakeXYWH(10, 10, 1, 1), kBottomRight_Tile, 1); |
| 243 verifyTileHits(reporter, SkRect::MakeXYWH(17, 17, 1, 1), kBottomRight_Tile, 1); | 243 verifyTileHits(reporter, SkRect::MakeXYWH(17, 17, 1, 1), kBottomRight_Tile, 1); |
| 244 | 244 |
| 245 // BBoxes that overlap tiles | 245 // BBoxes that overlap tiles |
| 246 verifyTileHits(reporter, SkRect::MakeXYWH(5, 5, 10, 1), kTopLeft_Tile | kTo pRight_Tile); | 246 verifyTileHits(reporter, SkRect::MakeXYWH(5, 5, 10, 1), kTopLeft_Tile | kTo pRight_Tile); |
| 247 verifyTileHits(reporter, SkRect::MakeXYWH(5, 5, 1, 10), kTopLeft_Tile | | 247 verifyTileHits(reporter, SkRect::MakeXYWH(5, 5, 1, 10), kTopLeft_Tile | |
| 248 kBottomLeft_Tile); | 248 kBottomLeft_Tile); |
| 249 verifyTileHits(reporter, SkRect::MakeXYWH(5, 5, 10, 10), kAll_Tile); | 249 verifyTileHits(reporter, SkRect::MakeXYWH(5, 5, 10, 10), kAll_Tile); |
| 250 verifyTileHits(reporter, SkRect::MakeXYWH(-10, -10, 40, 40), kAll_Tile); | 250 verifyTileHits(reporter, SkRect::MakeXYWH(-10, -10, 40, 40), kAll_Tile); |
| 251 } | 251 } |
| OLD | NEW |