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" |
bsalomon@google.com | 69cc6ad | 2012-01-17 14:25:10 +0000 | [diff] [blame] | 12 | #include "GrAAConvexPathRenderer.h" |
jvanverth | fa38a30 | 2014-10-06 05:59:05 -0700 | [diff] [blame] | 13 | #include "GrAADistanceFieldPathRenderer.h" |
kkinnunen | 1899651 | 2015-04-26 23:18:49 -0700 | [diff] [blame] | 14 | #include "GrDashLinePathRenderer.h" |
senorblanco | d6ed19c | 2015-02-26 06:58:17 -0800 | [diff] [blame] | 15 | #include "GrTessellatingPathRenderer.h" |
sugoi@google.com | e3453cb | 2013-01-07 14:26:40 +0000 | [diff] [blame] | 16 | #if GR_STROKE_PATH_RENDERING |
| 17 | #include "../../experimental/StrokePathRenderer/GrStrokePathRenderer.h" |
| 18 | #endif |
jvanverth@google.com | 74dda90 | 2013-01-09 21:04:52 +0000 | [diff] [blame] | 19 | #if GR_ANDROID_PATH_RENDERING |
| 20 | #include "../../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h" |
| 21 | #endif |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 22 | |
senorblanco | d6ed19c | 2015-02-26 06:58:17 -0800 | [diff] [blame] | 23 | #ifndef GR_TESSELLATING_PATH_RENDERING |
senorblanco | 7ef63c8 | 2015-04-13 14:27:37 -0700 | [diff] [blame] | 24 | #define GR_TESSELLATING_PATH_RENDERING 1 |
senorblanco | d6ed19c | 2015-02-26 06:58:17 -0800 | [diff] [blame] | 25 | #endif |
| 26 | |
bsalomon@google.com | 45a15f5 | 2012-12-10 19:10:17 +0000 | [diff] [blame] | 27 | void GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain) { |
kkinnunen | 1899651 | 2015-04-26 23:18:49 -0700 | [diff] [blame] | 28 | chain->addPathRenderer(SkNEW_ARGS(GrDashLinePathRenderer, (ctx)))->unref(); |
| 29 | |
sugoi@google.com | e3453cb | 2013-01-07 14:26:40 +0000 | [diff] [blame] | 30 | #if GR_STROKE_PATH_RENDERING |
| 31 | chain->addPathRenderer(SkNEW(GrStrokePathRenderer))->unref(); |
| 32 | #endif |
jvanverth@google.com | 74dda90 | 2013-01-09 21:04:52 +0000 | [diff] [blame] | 33 | #if GR_ANDROID_PATH_RENDERING |
| 34 | chain->addPathRenderer(SkNEW(GrAndroidPathRenderer))->unref(); |
| 35 | #endif |
bsalomon@google.com | ded4f4b | 2012-06-28 18:48:06 +0000 | [diff] [blame] | 36 | if (GrPathRenderer* pr = GrStencilAndCoverPathRenderer::Create(ctx)) { |
| 37 | chain->addPathRenderer(pr)->unref(); |
| 38 | } |
cdalton | 0ce02c3 | 2015-05-06 13:16:43 -0700 | [diff] [blame^] | 39 | #if GR_TESSELLATING_PATH_RENDERING |
| 40 | chain->addPathRenderer(new GrTessellatingPathRenderer)->unref(); |
| 41 | #endif |
bsalomon | ed0bcad | 2015-05-04 10:36:42 -0700 | [diff] [blame] | 42 | if (GrPathRenderer* pr = GrAAHairLinePathRenderer::Create()) { |
bsalomon@google.com | 45a15f5 | 2012-12-10 19:10:17 +0000 | [diff] [blame] | 43 | chain->addPathRenderer(pr)->unref(); |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 44 | } |
bsalomon@google.com | 45a15f5 | 2012-12-10 19:10:17 +0000 | [diff] [blame] | 45 | chain->addPathRenderer(SkNEW(GrAAConvexPathRenderer))->unref(); |
jvanverth | fa38a30 | 2014-10-06 05:59:05 -0700 | [diff] [blame] | 46 | chain->addPathRenderer(SkNEW_ARGS(GrAADistanceFieldPathRenderer, (ctx)))->unref(); |
bsalomon@google.com | aeb2160 | 2011-08-30 18:13:44 +0000 | [diff] [blame] | 47 | } |