aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/StrokePathRenderer/GrStrokePathRenderer.h
blob: 85752c5681783773872ca7324ed7abddf63253ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
 * Copyright 2012 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include "GrPathRenderer.h"

// This path renderer is made to create geometry (i.e. primitives) from the original path (before
// the path is stroked) and render using the GPU directly rather than using any software rendering
// step. It can be rendered in a single pass for simple cases and use multiple passes for features
// like AA or opacity support.

class GrStrokePathRenderer : public GrPathRenderer {

public:
    GrStrokePathRenderer();

    virtual bool canDrawPath(const SkPath& path,
                             const SkStrokeRec& stroke,
                             const GrDrawTarget* target,
                             bool antiAlias) const override;

protected:
    virtual bool onDrawPath(const SkPath& path,
                            const SkStrokeRec& stroke,
                            GrDrawTarget* target,
                            bool antiAlias) override;
};