1d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco/*
2d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco * Copyright 2015 Google Inc.
3d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco *
4d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco * Use of this source code is governed by a BSD-style license that can be
5d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco * found in the LICENSE file.
6d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco */
7d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
8d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco#ifndef GrTessellatingPathRenderer_DEFINED
9d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco#define GrTessellatingPathRenderer_DEFINED
10d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
11d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco#include "GrPathRenderer.h"
12d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
13d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco/**
14d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco *  Subclass that renders the path by converting to screen-space trapezoids plus
15d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco *   extra 1-pixel geometry for AA.
16d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco */
17d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblancoclass SK_API GrTessellatingPathRenderer : public GrPathRenderer {
18d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblancopublic:
19d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco    GrTessellatingPathRenderer();
20d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
210aff2fa82a5fa9f99aa77327dac3e9e803b4ed07bsalomonprivate:
225ed4423090e63e4c7888d6dd44fde177adea13f3Chris Dalton    CanDrawPath onCanDrawPath(const CanDrawPathArgs&) const override;
23d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
248acedde5970ce70de6d9791ffeda87a65af4ed07bsalomon    StencilSupport onGetStencilSupport(const GrShape&) const override {
25e7d4b2f5dc3c35f351ba120018c214f739447fb2robertphillips        return GrPathRenderer::kNoSupport_StencilSupport;
26e7d4b2f5dc3c35f351ba120018c214f739447fb2robertphillips    }
27d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
280aff2fa82a5fa9f99aa77327dac3e9e803b4ed07bsalomon    bool onDrawPath(const DrawPathArgs&) override;
29d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
30d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco    typedef GrPathRenderer INHERITED;
31d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco};
32d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco
33d6ed19cc751463285491a538bc7bf154cc7e6d8csenorblanco#endif
34