diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/include/effects/SkDiscretePathEffect.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/include/effects/SkDiscretePathEffect.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,47 @@ +/* + * Copyright 2006 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkDiscretePathEffect_DEFINED +#define SkDiscretePathEffect_DEFINED + +#include "SkPathEffect.h" + +/** \class SkDiscretePathEffect + + This path effect chops a path into discrete segments, and randomly displaces them. +*/ +class SK_API SkDiscretePathEffect : public SkPathEffect { +public: + /** Break the path into segments of segLength length, and randomly move the endpoints + away from the original path by a maximum of deviation. + Note: works on filled or framed paths + */ + static SkDiscretePathEffect* Create(SkScalar segLength, SkScalar deviation) { + return SkNEW_ARGS(SkDiscretePathEffect, (segLength, deviation)); + } + + virtual bool filterPath(SkPath* dst, const SkPath& src, + SkStrokeRec*, const SkRect*) const SK_OVERRIDE; + + SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDiscretePathEffect) + +protected: + SkDiscretePathEffect(SkReadBuffer&); + virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE; + +#ifdef SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS +public: +#endif + SkDiscretePathEffect(SkScalar segLength, SkScalar deviation); + +private: + SkScalar fSegLength, fPerterb; + + typedef SkPathEffect INHERITED; +}; + +#endif