blob: 8d287bb4585bb4cfa0df6ee004225282c6951be1 [file] [log] [blame]
Michael Ludwig69858532018-11-28 15:34:34 -05001/*
2 * Copyright 2018 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 GrFillRectOp_DEFINED
9#define GrFillRectOp_DEFINED
10
11#include "GrRenderTargetContext.h"
12#include "GrTypesPriv.h"
13
14class GrDrawOp;
15class GrPaint;
16struct GrUserStencilSettings;
17class SkMatrix;
18struct SkRect;
19
20namespace GrFillRectOp {
21
22std::unique_ptr<GrDrawOp> Make(GrContext* context,
23 GrPaint&& paint,
24 GrAAType aaType,
25 GrQuadAAFlags edgeAA,
26 const SkMatrix& viewMatrix,
27 const SkRect& rect,
28 const GrUserStencilSettings* stencil = nullptr);
29
30std::unique_ptr<GrDrawOp> MakeWithLocalMatrix(GrContext* context,
31 GrPaint&& paint,
32 GrAAType aaType,
33 GrQuadAAFlags edgeAA,
34 const SkMatrix& viewMatrix,
35 const SkMatrix& localMatrix,
36 const SkRect& rect,
37 const GrUserStencilSettings* stencil = nullptr);
38
39std::unique_ptr<GrDrawOp> MakeWithLocalRect(GrContext* context,
40 GrPaint&& paint,
41 GrAAType aaType,
42 GrQuadAAFlags edgeAA,
43 const SkMatrix& viewMatrix,
44 const SkRect& rect,
45 const SkRect& localRect,
46 const GrUserStencilSettings* stencil = nullptr);
47
48std::unique_ptr<GrDrawOp> MakeSet(GrContext* context,
49 GrPaint&& paint,
50 GrAAType aaType,
51 const SkMatrix& viewMatrix,
52 const GrRenderTargetContext::QuadSetEntry quads[],
53 int quadCount,
54 const GrUserStencilSettings* stencil = nullptr);
55}
56
57#endif // GrFillRectOp_DEFINED