Canvas_drawVertices_2.cpp 864 B

12345678910111213141516
  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=e8bdae9bea3227758989028424fcac3d
  5. REG_FIDDLE(Canvas_drawVertices_2, 256, 256, false, 0) {
  6. void draw(SkCanvas* canvas) {
  7. SkPaint paint;
  8. SkPoint points[] = { { 0, 0 }, { 250, 0 }, { 100, 100 }, { 0, 250 } };
  9. SkPoint texs[] = { { 0, 0 }, { 0, 250 }, { 250, 250 }, { 250, 0 } };
  10. SkColor colors[] = { SK_ColorRED, SK_ColorBLUE, SK_ColorYELLOW, SK_ColorCYAN };
  11. paint.setShader(SkGradientShader::MakeLinear(points, colors, nullptr, 4, SkTileMode::kClamp));
  12. auto vertices = SkVertices::MakeCopy(SkVertices::kTriangleFan_VertexMode,
  13. SK_ARRAY_COUNT(points), points, texs, colors);
  14. canvas->drawVertices(vertices, SkBlendMode::kDarken, paint);
  15. }
  16. } // END FIDDLE