Lines Matching full:phase
18 static SkScalar FindFirstInterval(const SkScalar intervals[], SkScalar phase,
21 if (phase > intervals[i]) {
22 phase -= intervals[i];
25 return intervals[i] - phase;
28 // If we get here, phase "appears" to be larger than our length. This
37 SkScalar phase, bool scaleToFit)
54 if ((len > 0) && SkScalarIsFinite(phase) && SkScalarIsFinite(len)) {
56 // Adjust phase to be between 0 and len, "flipping" phase if negative.
57 // e.g., if len is 100, then phase of -20 (or -120) is equivalent to 80
58 if (phase < 0) {
59 phase = -phase;
60 if (phase > len) {
61 phase = SkScalarMod(phase, len);
63 phase = len - phase;
65 // Due to finite precision, it's possible that phase == len,
66 // even after the subtract (if len >>> phase), so fix that here.
68 SkASSERT(phase <= len);
69 if (phase == len) {
70 phase = 0;
72 } else if (phase >= len) {
73 phase = SkScalarMod(phase, len);
75 SkASSERT(phase >= 0 && phase < len);
77 fInitialDashLength = FindFirstInterval(intervals, phase,
139 // right of the bounds (keeping our new line "in phase" with the dash,