Home | History | Annotate | Download | only in gpu
      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 #include "GrAADistanceFieldPathRenderer.h"
     14 #include "GrDashLinePathRenderer.h"
     15 #include "GrTessellatingPathRenderer.h"
     16 #if GR_STROKE_PATH_RENDERING
     17 #include "../../experimental/StrokePathRenderer/GrStrokePathRenderer.h"
     18 #endif
     19 #if GR_ANDROID_PATH_RENDERING
     20 #include "../../experimental/AndroidPathRenderer/GrAndroidPathRenderer.h"
     21 #endif
     22 
     23 #ifndef GR_TESSELLATING_PATH_RENDERING
     24 #define GR_TESSELLATING_PATH_RENDERING 1
     25 #endif
     26 
     27 void GrPathRenderer::AddPathRenderers(GrContext* ctx, GrPathRendererChain* chain) {
     28     chain->addPathRenderer(SkNEW_ARGS(GrDashLinePathRenderer, (ctx)))->unref();
     29 
     30 #if GR_STROKE_PATH_RENDERING
     31     chain->addPathRenderer(SkNEW(GrStrokePathRenderer))->unref();
     32 #endif
     33 #if GR_ANDROID_PATH_RENDERING
     34     chain->addPathRenderer(SkNEW(GrAndroidPathRenderer))->unref();
     35 #endif
     36     if (GrPathRenderer* pr = GrStencilAndCoverPathRenderer::Create(ctx)) {
     37         chain->addPathRenderer(pr)->unref();
     38     }
     39 #if GR_TESSELLATING_PATH_RENDERING
     40     chain->addPathRenderer(new GrTessellatingPathRenderer)->unref();
     41 #endif
     42     if (GrPathRenderer* pr = GrAAHairLinePathRenderer::Create()) {
     43         chain->addPathRenderer(pr)->unref();
     44     }
     45     chain->addPathRenderer(SkNEW(GrAAConvexPathRenderer))->unref();
     46     chain->addPathRenderer(SkNEW_ARGS(GrAADistanceFieldPathRenderer, (ctx)))->unref();
     47 }
     48