|
1 |
|
2 /* |
|
3 * Copyright 2006 The Android Open Source Project |
|
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 #ifndef SkStrokerPriv_DEFINED |
|
11 #define SkStrokerPriv_DEFINED |
|
12 |
|
13 #include "SkStroke.h" |
|
14 |
|
15 #define CWX(x, y) (-y) |
|
16 #define CWY(x, y) (x) |
|
17 #define CCWX(x, y) (y) |
|
18 #define CCWY(x, y) (-x) |
|
19 |
|
20 #define CUBIC_ARC_FACTOR ((SK_ScalarSqrt2 - SK_Scalar1) * 4 / 3) |
|
21 |
|
22 class SkStrokerPriv { |
|
23 public: |
|
24 typedef void (*CapProc)(SkPath* path, |
|
25 const SkPoint& pivot, |
|
26 const SkVector& normal, |
|
27 const SkPoint& stop, |
|
28 SkPath* otherPath); |
|
29 |
|
30 typedef void (*JoinProc)(SkPath* outer, SkPath* inner, |
|
31 const SkVector& beforeUnitNormal, |
|
32 const SkPoint& pivot, |
|
33 const SkVector& afterUnitNormal, |
|
34 SkScalar radius, SkScalar invMiterLimit, |
|
35 bool prevIsLine, bool currIsLine); |
|
36 |
|
37 static CapProc CapFactory(SkPaint::Cap); |
|
38 static JoinProc JoinFactory(SkPaint::Join); |
|
39 }; |
|
40 |
|
41 #endif |