| Index: samplecode/SampleAnimBlur.cpp
 | 
| diff --git a/samplecode/SampleAnimBlur.cpp b/samplecode/SampleAnimBlur.cpp
 | 
| index e00c46ddd19a660a93600231a97028ed418ec3bf..527d4300e7acd616048673229cfa4f8448899fd0 100644
 | 
| --- a/samplecode/SampleAnimBlur.cpp
 | 
| +++ b/samplecode/SampleAnimBlur.cpp
 | 
| @@ -11,14 +11,23 @@
 | 
|  #include "SkCanvas.h"
 | 
|  #include "SkRandom.h"
 | 
|  
 | 
| +SkScalar get_anim_sin(SkMSec time, SkScalar amplitude, SkScalar periodInSec, SkScalar phaseInSec) {
 | 
| +    if (!periodInSec) {
 | 
| +        return 0;
 | 
| +    }
 | 
| +    double t = (double)time / 1000.0 + phaseInSec;
 | 
| +    t *= SkScalarToFloat(2 * SK_ScalarPI) / periodInSec;
 | 
| +    amplitude = SK_ScalarHalf * amplitude;
 | 
| +    return amplitude * SkDoubleToScalar(sin(t)) + amplitude;
 | 
| +}
 | 
| +
 | 
|  class AnimBlurView : public SampleView {
 | 
|  public:
 | 
| -    AnimBlurView() {
 | 
| -    }
 | 
| +    AnimBlurView() : fBlurSigma(0), fCircleRadius(100) {}
 | 
|  
 | 
|  protected:
 | 
|      // overrides from SkEventSink
 | 
| -    virtual bool onQuery(SkEvent* evt) {
 | 
| +    bool onQuery(SkEvent* evt) SK_OVERRIDE {
 | 
|          if (SampleCode::TitleQ(*evt)) {
 | 
|              SampleCode::TitleR(evt, "AnimBlur");
 | 
|              return true;
 | 
| @@ -26,17 +35,7 @@ protected:
 | 
|          return this->INHERITED::onQuery(evt);
 | 
|      }
 | 
|  
 | 
| -    virtual void onDrawContent(SkCanvas* canvas) {
 | 
| -
 | 
| -        SkScalar blurSigma = SampleCode::GetAnimSinScalar(100 * SK_Scalar1,
 | 
| -                                                          4 * SK_Scalar1,
 | 
| -                                                          5 * SK_Scalar1);
 | 
| -
 | 
| -        SkScalar circleRadius = 3 * SK_Scalar1 +
 | 
| -                                SampleCode::GetAnimSinScalar(150 * SK_Scalar1,
 | 
| -                                                             25 * SK_Scalar1,
 | 
| -                                                             3 * SK_Scalar1);
 | 
| -
 | 
| +    void onDrawContent(SkCanvas* canvas) SK_OVERRIDE {
 | 
|          static const SkBlurStyle gStyles[] = {
 | 
|              kNormal_SkBlurStyle,
 | 
|              kInner_SkBlurStyle,
 | 
| @@ -48,20 +47,27 @@ protected:
 | 
|          for (size_t i = 0; i < SK_ARRAY_COUNT(gStyles); ++i) {
 | 
|              SkMaskFilter* mf = SkBlurMaskFilter::Create(
 | 
|                                         gStyles[i],
 | 
| -                                       blurSigma,
 | 
| +                                       fBlurSigma,
 | 
|                                         SkBlurMaskFilter::kHighQuality_BlurFlag);
 | 
|              SkPaint paint;
 | 
|              SkSafeUnref(paint.setMaskFilter(mf));
 | 
|              paint.setColor(random.nextU() | 0xff000000);
 | 
|              canvas->drawCircle(200 * SK_Scalar1 + 400 * (i % 2) * SK_Scalar1,
 | 
|                                 200 * SK_Scalar1 + i / 2 * 400 * SK_Scalar1,
 | 
| -                               circleRadius, paint);
 | 
| +                               fCircleRadius, paint);
 | 
|          }
 | 
| -        this->inval(NULL);
 | 
| +    }
 | 
| +
 | 
| +    bool onAnimatePulse(SkMSec curr, SkMSec prev) SK_OVERRIDE {
 | 
| +        fBlurSigma = get_anim_sin(curr, 100, 4, 5);
 | 
| +        fCircleRadius = 3 + get_anim_sin(curr, 150, 25, 3);
 | 
| +        return true;
 | 
|      }
 | 
|  
 | 
|  private:
 | 
| -    typedef SkView INHERITED;
 | 
| +    SkScalar fBlurSigma, fCircleRadius;
 | 
| +
 | 
| +    typedef SampleView INHERITED;
 | 
|  };
 | 
|  
 | 
|  //////////////////////////////////////////////////////////////////////////////
 | 
| 
 |