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