Region_Op.cpp 1.1 KB

12345678910111213141516171819202122232425
  1. #if 0 // Disabled until updated to use current API.
  2. // Copyright 2019 Google LLC.
  3. // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
  4. #include "tools/fiddle/examples.h"
  5. // HASH=026dd8b180fe8e43f477fce43e9217b3
  6. REG_FIDDLE(Region_Op, 256, 256, false, 0) {
  7. void draw(SkCanvas* canvas) {
  8. SkRegion operand({35, 35, 85, 85});
  9. const char* labels[] = {"difference", "intersect", "union", "xor", "reverse diff", "replace"};
  10. int index = 0;
  11. SkPaint paint;
  12. for (auto op : { SkRegion::kDifference_Op, SkRegion::kIntersect_Op, SkRegion::kUnion_Op,
  13. SkRegion::kXOR_Op, SkRegion::kReverseDifference_Op, SkRegion::kReplace_Op } ) {
  14. SkRegion target({10, 10, 60, 60});
  15. target.op(operand, op);
  16. canvas->drawRegion(target, paint);
  17. canvas->drawString(labels[index++], 40, 100, paint);
  18. canvas->translate(80, 0);
  19. if (SkRegion::kUnion_Op == op) {
  20. canvas->translate(-240, 120);
  21. }
  22. }
  23. }
  24. } // END FIDDLE
  25. #endif // Disabled until updated to use current API.