1aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com
2aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com/*
369cc6ad20ed03f35f9d3c8119a2c32187669a22bbsalomon@google.com * Copyright 2012 Google Inc.
4aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com *
5aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com * Use of this source code is governed by a BSD-style license that can be
6aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com * found in the LICENSE file.
7aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com */
8aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com
9ded4f4b163f5aa19c22c871178c55ecb34623846bsalomon@google.com
10ded4f4b163f5aa19c22c871178c55ecb34623846bsalomon@google.com#include "GrStencilAndCoverPathRenderer.h"
11aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com#include "GrAAHairLinePathRenderer.h"
1269cc6ad20ed03f35f9d3c8119a2c32187669a22bbsalomon@google.com#include "GrAAConvexPathRenderer.h"
13e3453cbd20d00d685131a09d9141b1c70f0c5710sugoi@google.com#if GR_STROKE_PATH_RENDERING
14e3453cbd20d00d685131a09d9141b1c70f0c5710sugoi@google.com#include "../../experimental/StrokePathRenderer/GrStrokePathRenderer.h"
15e3453cbd20d00d685131a09d9141b1c70f0c5710sugoi@google.com#endif
1674dda9018e8bdd650698e763404f19144c6d0a42jvanverth@google.com#if GR_ANDROID_PATH_RENDERING
1774dda9018e8bdd650698e763404f19144c6d0a42jvanverth@google.com#include "../../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h"
1874dda9018e8bdd650698e763404f19144c6d0a42jvanverth@google.com#endif
19aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com
2045a15f551b5b3c6c747d8eaf6466b7d3b76a8faebsalomon@google.comvoid GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain) {
21e3453cbd20d00d685131a09d9141b1c70f0c5710sugoi@google.com#if GR_STROKE_PATH_RENDERING
22e3453cbd20d00d685131a09d9141b1c70f0c5710sugoi@google.com    chain->addPathRenderer(SkNEW(GrStrokePathRenderer))->unref();
23e3453cbd20d00d685131a09d9141b1c70f0c5710sugoi@google.com#endif
2474dda9018e8bdd650698e763404f19144c6d0a42jvanverth@google.com#if GR_ANDROID_PATH_RENDERING
2574dda9018e8bdd650698e763404f19144c6d0a42jvanverth@google.com    chain->addPathRenderer(SkNEW(GrAndroidPathRenderer))->unref();
2674dda9018e8bdd650698e763404f19144c6d0a42jvanverth@google.com#endif
27ded4f4b163f5aa19c22c871178c55ecb34623846bsalomon@google.com    if (GrPathRenderer* pr = GrStencilAndCoverPathRenderer::Create(ctx)) {
28ded4f4b163f5aa19c22c871178c55ecb34623846bsalomon@google.com        chain->addPathRenderer(pr)->unref();
29ded4f4b163f5aa19c22c871178c55ecb34623846bsalomon@google.com    }
3045a15f551b5b3c6c747d8eaf6466b7d3b76a8faebsalomon@google.com    if (GrPathRenderer* pr = GrAAHairLinePathRenderer::Create(ctx)) {
3145a15f551b5b3c6c747d8eaf6466b7d3b76a8faebsalomon@google.com        chain->addPathRenderer(pr)->unref();
32aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com    }
3345a15f551b5b3c6c747d8eaf6466b7d3b76a8faebsalomon@google.com    chain->addPathRenderer(SkNEW(GrAAConvexPathRenderer))->unref();
34aeb2160b1dd34f8e640e8e56544fe407d4ff6311bsalomon@google.com}
35