blob: b74f78c74e74892410a1d1d14b5f6b6e63aee017 [file] [log] [blame]
Brian Salomonfc527d22016-12-14 21:07:01 -05001/*
2 * Copyright 2016 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 GrRegionOp_DEFINED
9#define GrRegionOp_DEFINED
10
Brian Salomonf0366322017-07-11 15:53:05 -040011#include "GrTypesPriv.h"
Brian Salomonfc527d22016-12-14 21:07:01 -050012
Brian Salomonf0366322017-07-11 15:53:05 -040013class GrDrawOp;
Brian Salomonfc527d22016-12-14 21:07:01 -050014class SkMatrix;
15class SkRegion;
Brian Salomonf0366322017-07-11 15:53:05 -040016class GrPaint;
Stan Iliev73d8fd92017-08-02 15:36:24 -040017struct GrUserStencilSettings;
Brian Salomonfc527d22016-12-14 21:07:01 -050018
19namespace GrRegionOp {
Brian Salomonf0366322017-07-11 15:53:05 -040020/** GrAAType must be kNone or kMSAA. */
Stan Iliev73d8fd92017-08-02 15:36:24 -040021std::unique_ptr<GrDrawOp> Make(GrPaint&&, const SkMatrix& viewMatrix, const SkRegion&, GrAAType,
22 const GrUserStencilSettings* stencilSettings = nullptr);
Brian Salomonfc527d22016-12-14 21:07:01 -050023}
24
25#endif