Point_Normalize.cpp 1.1 KB

1234567891011121314151617181920212223242526
  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=60a08f3ce75374fc815384616d114df7
  6. REG_FIDDLE(Point_Normalize, 256, 256, false, 0) {
  7. void draw(SkCanvas* canvas) {
  8. SkPaint paint;
  9. paint.setAntiAlias(true);
  10. const SkPoint lines[][2] = { {{ 30, 110 }, { 190, 30 }},
  11. {{ 30, 220 }, { 120, 140 }}};
  12. for (auto line : lines) {
  13. canvas->drawLine(line[0], line[1], paint);
  14. SkVector vector = line[1] - line[0];
  15. SkScalar priorLength = SkPoint::Normalize(&vector);
  16. SkVector rotate90 = { -vector.fY, vector.fX };
  17. rotate90 *= 10.f;
  18. canvas->drawLine(line[0] - rotate90, line[0] + rotate90, paint);
  19. canvas->drawLine(line[1] - rotate90, line[1] + rotate90, paint);
  20. SkString length("length = ");
  21. length.appendScalar(priorLength);
  22. canvas->drawString(length, line[0].fX + 25, line[0].fY - 4, paint);
  23. }
  24. }
  25. } // END FIDDLE
  26. #endif // Disabled until updated to use current API.