skia2/include/effects/SkDiscretePathEffect.h
commit-bot@chromium.org bd0be25074 Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag.
Neither Chrome nor Android uses this flag anymore.
Make sure all constructors touched that only have one parameter are marked as 'explicit'.

BUG=2187
R=scroggo@google.com, reed@google.com

Author: dominikg@chromium.org

Review URL: https://codereview.chromium.org/282203004

git-svn-id: http://skia.googlecode.com/svn/trunk@14749 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 15:40:41 +00:00

44 lines
1.3 KiB
C++

/*
* 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(SkScalar segLength, SkScalar deviation);
explicit SkDiscretePathEffect(SkReadBuffer&);
virtual void flatten(SkWriteBuffer&) const SK_OVERRIDE;
private:
SkScalar fSegLength, fPerterb;
typedef SkPathEffect INHERITED;
};
#endif