diff --git a/samplecode/SampleBitmapRect.cpp b/samplecode/SampleBitmapRect.cpp
index 18208fb..3f895fc 100644
--- a/samplecode/SampleBitmapRect.cpp
+++ b/samplecode/SampleBitmapRect.cpp
@@ -180,13 +180,13 @@
     SkRect  fLimitR;
     SkScalar fDX;
     SkRect  fDstR[2];
-    
+
     void bounceMe() {
         SkScalar width = fSrcR.width();
         bounce(&fSrcR.fLeft, &fDX, fLimitR.fLeft, fLimitR.fRight - width);
         fSrcR.fRight = fSrcR.fLeft + width;
     }
-    
+
 public:
     BitmapRectView2() {
         make_big_bitmap(&fBitmap);
@@ -209,7 +209,7 @@
         fDstR[1] = fDstR[0];
         fDstR[1].offset(0, fDstR[0].height() * 5/4);
     }
-    
+
 protected:
     // overrides from SkEventSink
     virtual bool onQuery(SkEvent* evt) {
@@ -219,8 +219,8 @@
         }
         return this->INHERITED::onQuery(evt);
     }
-    
-    virtual void onDrawContent(SkCanvas* canvas) { 
+
+    virtual void onDrawContent(SkCanvas* canvas) {
         SkPaint paint;
         paint.setStyle(SkPaint::kStroke_Style);
         paint.setColor(SK_ColorYELLOW);
@@ -230,11 +230,11 @@
             canvas->drawBitmapRectToRect(fBitmap, &fSrcR, fDstR[i], &paint);
             canvas->drawRect(fDstR[i], paint);
         }
-        
+
         this->bounceMe();
         this->inval(NULL);
     }
-    
+
 private:
     typedef SkView INHERITED;
 };
