xref: /aosp_15_r20/external/skia/docs/examples/draw_vertices.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2020 Google LLC.
2*c8dee2aaSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
3*c8dee2aaSAndroid Build Coastguard Worker #include "tools/fiddle/examples.h"
4*c8dee2aaSAndroid Build Coastguard Worker REG_FIDDLE(draw_vertices, 256, 256, false, 6) {
5*c8dee2aaSAndroid Build Coastguard Worker // draw_vertices
draw(SkCanvas * canvas)6*c8dee2aaSAndroid Build Coastguard Worker void draw(SkCanvas* canvas) {
7*c8dee2aaSAndroid Build Coastguard Worker     SkPaint p;
8*c8dee2aaSAndroid Build Coastguard Worker     p.setAntiAlias(true);
9*c8dee2aaSAndroid Build Coastguard Worker 
10*c8dee2aaSAndroid Build Coastguard Worker     SkPoint pts[3] = {{64, 32}, {0, 224}, {128, 224}};
11*c8dee2aaSAndroid Build Coastguard Worker     SkColor colors[3] = {SK_ColorRED, SK_ColorBLUE, SK_ColorGREEN};
12*c8dee2aaSAndroid Build Coastguard Worker     canvas->drawVertices(
13*c8dee2aaSAndroid Build Coastguard Worker             SkVertices::MakeCopy(SkVertices::kTriangles_VertexMode, 3, pts, nullptr, colors),
14*c8dee2aaSAndroid Build Coastguard Worker             SkBlendMode::kDst, p);
15*c8dee2aaSAndroid Build Coastguard Worker 
16*c8dee2aaSAndroid Build Coastguard Worker     canvas->translate(120, 0);
17*c8dee2aaSAndroid Build Coastguard Worker 
18*c8dee2aaSAndroid Build Coastguard Worker     p.setShader(image->makeShader(SkTileMode::kRepeat, SkTileMode::kRepeat, SkSamplingOptions()));
19*c8dee2aaSAndroid Build Coastguard Worker     SkPoint texs[3] = {{0, 0}, {0, 128}, {64, 256}};
20*c8dee2aaSAndroid Build Coastguard Worker     canvas->drawVertices(
21*c8dee2aaSAndroid Build Coastguard Worker             SkVertices::MakeCopy(SkVertices::kTriangles_VertexMode, 3, pts, texs, nullptr),
22*c8dee2aaSAndroid Build Coastguard Worker             SkBlendMode::kDst, p);
23*c8dee2aaSAndroid Build Coastguard Worker }
24*c8dee2aaSAndroid Build Coastguard Worker }  // END FIDDLE
25