Home | History | Annotate | Download | only in utils
      1 /*
      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 
     13 namespace 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
     33