blob: 6ff2cc9735e27c7004117e67243fbda99a7004ef [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
commit-bot@chromium.orge5280892014-02-21 17:52:29 +000011#include "GrTypes.h"
commit-bot@chromium.orgcabf4b22014-03-05 18:27:43 +000012#include "GrTypesPriv.h"
bungeman06ca8ec2016-06-09 08:01:03 -070013#include "SkRefCnt.h"
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000014
joshualitteb2a6762014-12-04 11:35:33 -080015class GrFragmentProcessor;
joshualittb0a8a372014-09-23 09:50:21 -070016class GrProcessor;
commit-bot@chromium.orge5280892014-02-21 17:52:29 +000017class SkRRect;
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000018
commit-bot@chromium.orge5280892014-02-21 17:52:29 +000019namespace GrRRectEffect {
20 /**
21 * Creates an effect that performs anti-aliased clipping against a SkRRect. It doesn't support
halcanary96fcdcc2015-08-27 07:41:13 -070022 * all varieties of SkRRect so the caller must check for a nullptr return.
commit-bot@chromium.orge5280892014-02-21 17:52:29 +000023 */
bungeman06ca8ec2016-06-09 08:01:03 -070024 sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, const SkRRect&);
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000025};
26
commit-bot@chromium.orgc2f78242014-02-19 15:18:05 +000027#endif