blob: 94222a271a6647bcb70762806298da846ef603b8 [file] [log] [blame]
egdaniela22ea182014-06-11 06:51:51 -07001/*
2 * Copyright 2014 Google Inc.
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 SkDashPathPriv_DEFINED
9#define SkDashPathPriv_DEFINED
10
11#include "SkPathEffect.h"
12
13namespace SkDashPath {
14 /*
15 * Calculates the initialDashLength, initialDashIndex, and intervalLength based on the
16 * inputed phase and intervals. If adjustedPhase is passed in, then the phase will be
17 * adjusted to be between 0 and intervalLength. The result will be stored in adjustedPhase.
18 * If adjustedPhase is NULL then it is assumed phase is already between 0 and intervalLength
19 */
20 void CalcDashParameters(SkScalar phase, const SkScalar intervals[], int32_t count,
21 SkScalar* initialDashLength, int32_t* initialDashIndex,
22 SkScalar* intervalLength, SkScalar* adjustedPhase = NULL);
23
24 bool FilterDashPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect*,
25 const SkScalar aIntervals[], int32_t count, SkScalar initialDashLength,
26 int32_t initialDashIndex, SkScalar intervalLength);
27
28 bool FilterDashPath(SkPath* dst, const SkPath& src, SkStrokeRec*, const SkRect*,
29 const SkPathEffect::DashInfo& info);
30}
31
32#endif