add test for points



git-svn-id: http://skia.googlecode.com/svn/trunk@806 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gm/gm_files.mk b/gm/gm_files.mk
index f5c9deb..2f7769e 100644
--- a/gm/gm_files.mk
+++ b/gm/gm_files.mk
@@ -3,7 +3,8 @@
 	blurs.cpp \
 	filltypes.cpp \
 	gradients.cpp \
-    poly2poly.cpp \
+	points.cpp \
+	poly2poly.cpp \
 	shapes.cpp \
 	tilemodes.cpp \
 	xfermodes.cpp \
diff --git a/gm/points.cpp b/gm/points.cpp
new file mode 100644
index 0000000..48d8fec
--- /dev/null
+++ b/gm/points.cpp
@@ -0,0 +1,67 @@
+#include "gm.h"
+#include "SkRandom.h"
+
+namespace skiagm {
+
+class PointsGM : public GM {
+public:
+	PointsGM() {}
+
+protected:
+    virtual SkString onShortName() {
+        return SkString("points");
+    }
+
+	virtual SkISize onISize() {
+        return make_isize(640, 490);
+    }
+
+    void drawBG(SkCanvas* canvas) {
+        canvas->drawColor(SK_ColorWHITE);
+    }
+
+    static void fill_pts(SkPoint pts[], size_t n, SkRandom* rand) {
+        for (size_t i = 0; i < n; i++)
+            pts[i].set(rand->nextUScalar1() * 640, rand->nextUScalar1() * 480);
+    }
+
+    virtual void onDraw(SkCanvas* canvas) {
+        this->drawBG(canvas);
+
+        canvas->translate(SK_Scalar1, SK_Scalar1);
+
+        SkRandom rand;
+        SkPaint  p0, p1, p2, p3;
+        const size_t n = 99;
+
+        p0.setColor(SK_ColorRED);
+        p1.setColor(SK_ColorGREEN);
+        p2.setColor(SK_ColorBLUE);
+        p3.setColor(SK_ColorWHITE);
+
+        p0.setStrokeWidth(SkIntToScalar(4));
+        p2.setStrokeCap(SkPaint::kRound_Cap);
+        p2.setStrokeWidth(SkIntToScalar(6));
+
+        SkPoint* pts = new SkPoint[n];
+        fill_pts(pts, n, &rand);
+
+        canvas->drawPoints(SkCanvas::kPolygon_PointMode, n, pts, p0);
+        canvas->drawPoints(SkCanvas::kLines_PointMode, n, pts, p1);
+        canvas->drawPoints(SkCanvas::kPoints_PointMode, n, pts, p2);
+        canvas->drawPoints(SkCanvas::kPoints_PointMode, n, pts, p3);
+
+        delete[] pts;
+    }
+
+private:
+    typedef GM INHERITED;
+};
+
+//////////////////////////////////////////////////////////////////////////////
+
+static GM* MyFactory(void*) { return new PointsGM; }
+static GMRegistry reg(MyFactory);
+
+}
+
diff --git a/samplecode/SamplePoints.cpp b/samplecode/SamplePoints.cpp
index db2e6b7..416dc8d 100644
--- a/samplecode/SamplePoints.cpp
+++ b/samplecode/SamplePoints.cpp
@@ -20,77 +20,43 @@
 #include "SkStream.h"
 #include "SkXMLParser.h"
 
-static SkRandom gRand;
-
-static const struct {
-    const char* fName;
-    uint32_t    fFlags;
-    bool        fFlushCache;
-} gHints[] = {
-    { "Linear", SkPaint::kLinearText_Flag,     false },
-    { "Normal",   0,                           true },
-    { "Subpixel", SkPaint::kSubpixelText_Flag, true }
-};
-
-#ifdef SK_DEBUG
-    #define REPEAT_COUNT    1
-#else
-    #define REPEAT_COUNT    5000
-#endif
-
 class PointsView : public SkView {
-    bool fAA;
 public:
-	PointsView() : fAA(false) {}
-    
+	PointsView() {}
+
 protected:
     // overrides from SkEventSink
-    virtual bool onQuery(SkEvent* evt)
-    {
-        if (SampleCode::TitleQ(*evt))
-        {
+    virtual bool onQuery(SkEvent* evt) {
+        if (SampleCode::TitleQ(*evt)) {
             SampleCode::TitleR(evt, "Points");
             return true;
         }
         return this->INHERITED::onQuery(evt);
     }
 
-    void drawBG(SkCanvas* canvas)
-    {
-//        canvas->drawColor(0xFFDDDDDD);
+    void drawBG(SkCanvas* canvas) {
         canvas->drawColor(SK_ColorWHITE);
-   //     canvas->drawColor(SK_ColorBLACK);
     }
-    
-    static void fill_pts(SkPoint pts[], size_t n, SkRandom* rand)
-    {
+
+    static void fill_pts(SkPoint pts[], size_t n, SkRandom* rand) {
         for (size_t i = 0; i < n; i++)
             pts[i].set(rand->nextUScalar1() * 640, rand->nextUScalar1() * 480);
     }
-    
-    virtual void onDraw(SkCanvas* canvas)
-    {
+
+    virtual void onDraw(SkCanvas* canvas) {
         this->drawBG(canvas);
-        
+
         canvas->translate(SK_Scalar1, SK_Scalar1);
-        
+
         SkRandom rand;
         SkPaint  p0, p1, p2, p3;
         const size_t n = 99;
-        const int TIMES = 1;
-        
+
         p0.setColor(SK_ColorRED);
         p1.setColor(SK_ColorGREEN);
         p2.setColor(SK_ColorBLUE);
         p3.setColor(SK_ColorWHITE);
-        
-     //   fAA = !fAA;
-        fAA = false;
-        p0.setAntiAlias(fAA);
-        p1.setAntiAlias(fAA);
-        p2.setAntiAlias(fAA);
-        p3.setAntiAlias(fAA);
-        
+
         p0.setStrokeWidth(SkIntToScalar(4));
         p2.setStrokeCap(SkPaint::kRound_Cap);
         p2.setStrokeWidth(SkIntToScalar(6));
@@ -98,18 +64,14 @@
         SkPoint* pts = new SkPoint[n];
         fill_pts(pts, n, &rand);
 
-//        SkMSec now = SkTime::GetMSecs();
-        for (int times = 0; times < TIMES; times++)
-        {
-            canvas->drawPoints(SkCanvas::kPolygon_PointMode, n, pts, p0);
-            canvas->drawPoints(SkCanvas::kLines_PointMode, n, pts, p1);
-            canvas->drawPoints(SkCanvas::kPoints_PointMode, n, pts, p2);
-            canvas->drawPoints(SkCanvas::kPoints_PointMode, n, pts, p3);
-        }
-  //      printf("----- msecs %d\n", SkTime::GetMSecs() - now);
+        canvas->drawPoints(SkCanvas::kPolygon_PointMode, n, pts, p0);
+        canvas->drawPoints(SkCanvas::kLines_PointMode, n, pts, p1);
+        canvas->drawPoints(SkCanvas::kPoints_PointMode, n, pts, p2);
+        canvas->drawPoints(SkCanvas::kPoints_PointMode, n, pts, p3);
+
         delete[] pts;
     }
-    
+
 private:
 
     typedef SkView INHERITED;