bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 1 | |
| 2 | /* |
bsalomon@google.com | 69cc6ad | 2012-01-17 14:25:10 +0000 | [diff] [blame] | 3 | * Copyright 2012 Google Inc. |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 4 | * |
| 5 | * Use of this source code is governed by a BSD-style license that can be |
| 6 | * found in the LICENSE file. |
| 7 | */ |
| 8 | |
bsalomon@google.com | ded4f4b | 2012-06-28 18:48:06 +0000 | [diff] [blame] | 9 | |
| 10 | #include "GrStencilAndCoverPathRenderer.h" |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 11 | #include "GrAAHairLinePathRenderer.h" |
ethannicholas | 4f3ad29 | 2015-07-08 13:19:51 -0700 | [diff] [blame] | 12 | #include "GrAAConvexPathRenderer.h" |
fmalita | bd5d7e7 | 2015-06-26 07:18:24 -0700 | [diff] [blame] | 13 | #include "GrAALinearizingConvexPathRenderer.h" |
jvanverth | fa38a30 | 2014-10-06 05:59:05 -0700 | [diff] [blame] | 14 | #include "GrAADistanceFieldPathRenderer.h" |
bsalomon | 706f08f | 2015-05-22 07:35:58 -0700 | [diff] [blame] | 15 | #include "GrContext.h" |
kkinnunen | 1899651 | 2015-04-26 23:18:49 -0700 | [diff] [blame] | 16 | #include "GrDashLinePathRenderer.h" |
bsalomon | 706f08f | 2015-05-22 07:35:58 -0700 | [diff] [blame] | 17 | #include "GrGpu.h" |
senorblanco | d6ed19c | 2015-02-26 06:58:17 -0800 | [diff] [blame] | 18 | #include "GrTessellatingPathRenderer.h" |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 19 | |
senorblanco | d6ed19c | 2015-02-26 06:58:17 -0800 | [diff] [blame] | 20 | #ifndef GR_TESSELLATING_PATH_RENDERING |
senorblanco | 7ef63c8 | 2015-04-13 14:27:37 -0700 | [diff] [blame] | 21 | #define GR_TESSELLATING_PATH_RENDERING 1 |
senorblanco | d6ed19c | 2015-02-26 06:58:17 -0800 | [diff] [blame] | 22 | #endif |
| 23 | |
bsalomon@google.com | 45a15f5 | 2012-12-10 19:10:17 +0000 | [diff] [blame] | 24 | void GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain) { |
bsalomon | 7622863 | 2015-05-29 08:02:10 -0700 | [diff] [blame] | 25 | chain->addPathRenderer(SkNEW(GrDashLinePathRenderer))->unref(); |
kkinnunen | 1899651 | 2015-04-26 23:18:49 -0700 | [diff] [blame] | 26 | |
bsalomon | 706f08f | 2015-05-22 07:35:58 -0700 | [diff] [blame] | 27 | if (GrPathRenderer* pr = GrStencilAndCoverPathRenderer::Create(ctx->resourceProvider(), |
bsalomon | 7622863 | 2015-05-29 08:02:10 -0700 | [diff] [blame] | 28 | *ctx->caps())) { |
bsalomon@google.com | ded4f4b | 2012-06-28 18:48:06 +0000 | [diff] [blame] | 29 | chain->addPathRenderer(pr)->unref(); |
| 30 | } |
cdalton | 0ce02c3 | 2015-05-06 13:16:43 -0700 | [diff] [blame] | 31 | #if GR_TESSELLATING_PATH_RENDERING |
| 32 | chain->addPathRenderer(new GrTessellatingPathRenderer)->unref(); |
| 33 | #endif |
bsalomon | ed0bcad | 2015-05-04 10:36:42 -0700 | [diff] [blame] | 34 | if (GrPathRenderer* pr = GrAAHairLinePathRenderer::Create()) { |
bsalomon@google.com | 45a15f5 | 2012-12-10 19:10:17 +0000 | [diff] [blame] | 35 | chain->addPathRenderer(pr)->unref(); |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 36 | } |
ethannicholas | 4f3ad29 | 2015-07-08 13:19:51 -0700 | [diff] [blame] | 37 | chain->addPathRenderer(SkNEW(GrAAConvexPathRenderer))->unref(); |
ethannicholas | b031fcf | 2015-07-13 08:51:36 -0700 | [diff] [blame^] | 38 | chain->addPathRenderer(SkNEW(GrAALinearizingConvexPathRenderer))->unref(); |
jvanverth | fa38a30 | 2014-10-06 05:59:05 -0700 | [diff] [blame] | 39 | chain->addPathRenderer(SkNEW_ARGS(GrAADistanceFieldPathRenderer, (ctx)))->unref(); |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 40 | } |