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 "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. 18 count: number of elements in the intervals array 19 phase: offset into the intervals array (mod the sum of all of the 20 intervals). 21 22 For example: if intervals[] = {10, 20}, count = 2, and phase = 25, 23 this will set up a dashed path like so: 24 5 pixels off 25 10 pixels on 26 20 pixels off 27 10 pixels on 28 20 pixels off 29 ... 30 A phase of -5, 25, 55, 85, etc. would all result in the same path, 31 because the sum of all the intervals is 30. 32 33 Note: only affects stroked paths. 34 */ 35 static sk_sp<SkPathEffect> Make(const SkScalar intervals[], int count, SkScalar phase); 36 }; 37 38 #endif 39