blob: e9281f86092d04269258c37b66e85cd42611faaa [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
Robert Phillips7c525e62018-06-12 10:11:12 -040013class GrContext;
Brian Salomonf0366322017-07-11 15:53:05 -040014class GrDrawOp;
Brian Salomonfc527d22016-12-14 21:07:01 -050015class SkMatrix;
16class SkRegion;
Brian Salomonf0366322017-07-11 15:53:05 -040017class GrPaint;
Stan Iliev73d8fd92017-08-02 15:36:24 -040018struct GrUserStencilSettings;
Brian Salomonfc527d22016-12-14 21:07:01 -050019
20namespace GrRegionOp {
Brian Salomonf0366322017-07-11 15:53:05 -040021/** GrAAType must be kNone or kMSAA. */
Robert Phillips7c525e62018-06-12 10:11:12 -040022std::unique_ptr<GrDrawOp> Make(GrContext*,
23 GrPaint&&,
24 const SkMatrix& viewMatrix,
25 const SkRegion&,
26 GrAAType,
Stan Iliev73d8fd92017-08-02 15:36:24 -040027 const GrUserStencilSettings* stencilSettings = nullptr);
Brian Salomonfc527d22016-12-14 21:07:01 -050028}
29
30#endif