1
2/*
3 * Copyright 2012 Google Inc.
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
9
10#include "GrStencilAndCoverPathRenderer.h"
11#include "GrAAHairLinePathRenderer.h"
12#include "GrAAConvexPathRenderer.h"
13#if GR_STROKE_PATH_RENDERING
14#include "../../experimental/StrokePathRenderer/GrStrokePathRenderer.h"
15#endif
16#if GR_ANDROID_PATH_RENDERING
17#include "../../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h"
18#endif
19
20void GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain) {
21#if GR_STROKE_PATH_RENDERING
22    chain->addPathRenderer(SkNEW(GrStrokePathRenderer))->unref();
23#endif
24#if GR_ANDROID_PATH_RENDERING
25    chain->addPathRenderer(SkNEW(GrAndroidPathRenderer))->unref();
26#endif
27    if (GrPathRenderer* pr = GrStencilAndCoverPathRenderer::Create(ctx)) {
28        chain->addPathRenderer(pr)->unref();
29    }
30    if (GrPathRenderer* pr = GrAAHairLinePathRenderer::Create(ctx)) {
31        chain->addPathRenderer(pr)->unref();
32    }
33    chain->addPathRenderer(SkNEW(GrAAConvexPathRenderer))->unref();
34}
35