blob: 426cb8f3c2c81164785900fe9d0eb48b57f20746 [file] [log] [blame]
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +00001/*
2 * Copyright 2014 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 GrRRectEffect_DEFINED
9#define GrRRectEffect_DEFINED
10
Mike Kleinc0bd9f92019-04-23 12:05:21 -050011#include "include/core/SkRefCnt.h"
12#include "include/gpu/GrTypes.h"
13#include "include/private/GrTypesPriv.h"
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000014
joshualitteb2a6762014-12-04 11:35:33 -080015class GrFragmentProcessor;
Brian Salomon14471772017-12-05 10:35:15 -050016class GrShaderCaps;
joshualittb0a8a372014-09-23 09:50:21 -070017class GrProcessor;
commit-bot@chromium.orge5280892014-02-21 17:52:29 +000018class SkRRect;
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000019
commit-bot@chromium.orge5280892014-02-21 17:52:29 +000020namespace GrRRectEffect {
Brian Salomonaff329b2017-08-11 09:40:37 -040021
22/**
23 * Creates an effect that performs anti-aliased clipping against a SkRRect. It doesn't support
24 * all varieties of SkRRect so the caller must check for a nullptr return.
25 */
Ethan Nicholaseace9352018-10-15 20:09:54 +000026std::unique_ptr<GrFragmentProcessor> Make(GrClipEdgeType, const SkRRect&, const GrShaderCaps&);
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000027};
28
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000029#endif