1 | /* |
2 | * Copyright 2006 The Android Open Source Project |
3 | * |
4 | * Use of this source code is governed by a BSD-style license that can be |
5 | * found in the LICENSE file. |
6 | */ |
7 | |
8 | #ifndef SkDashPathEffect_DEFINED |
9 | #define SkDashPathEffect_DEFINED |
10 | |
11 | #include "include/core/SkPathEffect.h" |
12 | |
13 | class SK_API SkDashPathEffect { |
14 | public: |
15 | /** intervals: array containing an even number of entries (>=2), with |
16 | the even indices specifying the length of "on" intervals, and the odd |
17 | indices specifying the length of "off" intervals. This array will be |
18 | copied in Make, and can be disposed of freely after. |
19 | count: number of elements in the intervals array |
20 | phase: offset into the intervals array (mod the sum of all of the |
21 | intervals). |
22 | |
23 | For example: if intervals[] = {10, 20}, count = 2, and phase = 25, |
24 | this will set up a dashed path like so: |
25 | 5 pixels off |
26 | 10 pixels on |
27 | 20 pixels off |
28 | 10 pixels on |
29 | 20 pixels off |
30 | ... |
31 | A phase of -5, 25, 55, 85, etc. would all result in the same path, |
32 | because the sum of all the intervals is 30. |
33 | |
34 | Note: only affects stroked paths. |
35 | */ |
36 | static sk_sp<SkPathEffect> Make(const SkScalar intervals[], int count, SkScalar phase); |
37 | }; |
38 | |
39 | #endif |
40 | |