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 GrInOrderCommandBuilder_DEFINED
9 #define GrInOrderCommandBuilder_DEFINED
10 
11 #include "GrCommandBuilder.h"
12 
13 class GrInOrderCommandBuilder : public GrCommandBuilder {
14 public:
15     typedef GrCommandBuilder::Cmd Cmd;
16     typedef GrCommandBuilder::State State;
17 
GrInOrderCommandBuilder(GrGpu * gpu)18     GrInOrderCommandBuilder(GrGpu* gpu) : INHERITED(gpu) { }
19 
20     Cmd* recordDrawBatch(State*, GrBatch*) override;
21     Cmd* recordStencilPath(const GrPipelineBuilder&,
22                            const GrPathProcessor*,
23                            const GrPath*,
24                            const GrScissorState&,
25                            const GrStencilSettings&) override;
26     Cmd* recordDrawPath(State*,
27                         const GrPathProcessor*,
28                         const GrPath*,
29                         const GrStencilSettings&) override;
30     Cmd* recordDrawPaths(State*,
31                          GrInOrderDrawBuffer*,
32                          const GrPathProcessor*,
33                          const GrPathRange*,
34                          const void*,
35                          GrDrawTarget::PathIndexType,
36                          const float transformValues[],
37                          GrDrawTarget::PathTransformType ,
38                          int,
39                          const GrStencilSettings&,
40                          const GrDrawTarget::PipelineInfo&) override;
41 
42 private:
43     typedef GrCommandBuilder INHERITED;
44 
45 };
46 
47 #endif
48