From 9b2135a923c8344ef4c4f52907b7ffe4fc575136 Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Tue, 11 Jan 2011 19:45:38 +0000 Subject: git-svn-id: http://skia.googlecode.com/svn/trunk@685 2bbb7eff-a529-9590-31e7-b0007b416f81 --- samplecode/SampleGM.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'samplecode/SampleGM.cpp') diff --git a/samplecode/SampleGM.cpp b/samplecode/SampleGM.cpp index d85cad1227..5c9ea76c93 100644 --- a/samplecode/SampleGM.cpp +++ b/samplecode/SampleGM.cpp @@ -15,6 +15,10 @@ public: fReg = GMRegistry::Head(); } + void reset() { + fReg = GMRegistry::Head(); + } + GM* next() { if (fReg) { GMRegistry::Factory fact = fReg->factory(); @@ -46,6 +50,7 @@ class GMView : public SkView { public: GMView() { fGM = fIter.next(); + this->postNextGM(); } protected: @@ -58,6 +63,20 @@ protected: return this->INHERITED::onQuery(evt); } + virtual bool onEvent(const SkEvent& evt) { + if (evt.isType("next-gm")) { + delete fGM; + if (!(fGM = fIter.next())) { + fIter.reset(); + fGM = fIter.next(); + } + this->inval(NULL); + this->postNextGM(); + return true; + } + return this->INHERITED::onEvent(evt); + } + void drawBG(SkCanvas* canvas) { canvas->drawColor(0xFFDDDDDD); } @@ -67,6 +86,10 @@ protected: } private: + void postNextGM() { + (new SkEvent("next-gm"))->post(this->getSinkID(), 1500); + } + typedef SkView INHERITED; }; -- cgit v1.2.3