• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2015 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef DrawVerticesOp_DEFINED
9 #define DrawVerticesOp_DEFINED
10 
11 #include "include/core/SkRefCnt.h"
12 #include "include/private/GrTypesPriv.h"
13 #include "src/gpu/ops/GrOp.h"
14 
15 class GrColorSpaceXform;
16 class GrPaint;
17 class GrRecordingContext;
18 class SkMatrixProvider;
19 class SkVertices;
20 
21 namespace skgpu::v1::DrawVerticesOp {
22 
23 /**
24  * Draw a SkVertices. The GrPaint param's color is used if the vertices lack per-vertex color.
25  * If the vertices lack local coords then the vertex positions are used as local coords. The
26  * primitive type drawn is derived from the SkVertices object, unless overridePrimType is
27  * specified. If an SkRuntimeEffect is provided, it may expect some number of input varyings,
28  * which should match the number of extra per-vertex values in the SkVertices.
29  */
30 GrOp::Owner Make(GrRecordingContext*,
31                  GrPaint&&,
32                  sk_sp<SkVertices>,
33                  const SkMatrixProvider&,
34                  GrAAType,
35                  sk_sp<GrColorSpaceXform>,
36                  GrPrimitiveType* overridePrimType);
37 
38 }  // namespace skgpu::v1::DrawVerticesOp
39 
40 #endif // DrawVerticesOp_DEFINED
41