• 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 GrDrawVerticesOp_DEFINED
9 #define GrDrawVerticesOp_DEFINED
10 
11 #include "include/core/SkRefCnt.h"
12 #include "include/core/SkVertices.h"
13 #include "include/private/GrTypesPriv.h"
14 
15 class GrColorSpaceXform;
16 class GrDrawOp;
17 class GrPaint;
18 class GrRecordingContext;
19 
20 namespace GrDrawVerticesOp {
21 
22     /**
23      * Draw a SkVertices. The GrPaint param's color is used if the vertices lack per-vertex color.
24      * If the vertices lack local coords then the vertex positions are used as local coords. The
25      * primitive type drawn is derived from the SkVertices object, unless overridePrimType is
26      * specified.
27      */
28     std::unique_ptr<GrDrawOp> Make(GrRecordingContext*,
29                                    GrPaint&&,
30                                    sk_sp<SkVertices>,
31                                    const SkVertices::Bone bones[],
32                                    int boneCount,
33                                    const SkMatrix& viewMatrix,
34                                    GrAAType,
35                                    sk_sp<GrColorSpaceXform>,
36                                    GrPrimitiveType* overridePrimType = nullptr);
37 };
38 
39 #endif
40