| // Copyright 2019 Google LLC. |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. |
| #include "tools/fiddle/examples.h" |
| // HASH=32d51e959d6cc720a74ec4822511e2cd |
| REG_FIDDLE(Region_Iterator_rewind, 256, 256, true, 0) { |
| void draw(SkCanvas* canvas) { |
| auto debugster = [](const char* label, SkRegion::Iterator& iter, bool addRewind) -> void { |
| if (addRewind) { |
| bool success = iter.rewind(); |
| SkDebugf("%14s rewind success=%s\n", label, success ? "true" : "false"); |
| } |
| auto r = iter.rect(); |
| SkDebugf("%14s rect={%d,%d,%d,%d}\n", label, r.fLeft, r.fTop, r.fRight, r.fBottom); |
| }; |
| SkRegion::Iterator iter; |
| debugster("empty iter", iter, true); |
| SkRegion region; |
| iter.reset(region); |
| debugster("empty region", iter, true); |
| region.setRect({1, 2, 3, 4}); |
| iter.reset(region); |
| debugster("after set rect", iter, false); |
| debugster("after rewind", iter, true); |
| } |
| } // END FIDDLE |