Path_AddPathMode.cpp 913 B

123456789101112131415161718192021222324252627
  1. // Copyright 2019 Google LLC.
  2. // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
  3. #include "tools/fiddle/examples.h"
  4. // HASH=801b02e74c64aafdb734f2e5cf3e5ab0
  5. REG_FIDDLE(Path_AddPathMode, 256, 180, false, 0) {
  6. void draw(SkCanvas* canvas) {
  7. SkPath path, path2;
  8. path.moveTo(20, 20);
  9. path.lineTo(20, 40);
  10. path.lineTo(40, 20);
  11. path2.moveTo(60, 60);
  12. path2.lineTo(80, 60);
  13. path2.lineTo(80, 40);
  14. SkPaint paint;
  15. paint.setStyle(SkPaint::kStroke_Style);
  16. for (int i = 0; i < 2; i++) {
  17. for (auto addPathMode : { SkPath::kAppend_AddPathMode, SkPath::kExtend_AddPathMode } ) {
  18. SkPath test(path);
  19. test.addPath(path2, addPathMode);
  20. canvas->drawPath(test, paint);
  21. canvas->translate(100, 0);
  22. }
  23. canvas->translate(-200, 100);
  24. path.close();
  25. }
  26. }
  27. } // END FIDDLE