git-svn-id: http://skia.googlecode.com/svn/trunk@685 2bbb7eff-a529-9590-31e7-b0007b416f81

This commit is contained in:
reed@google.com 2011-01-11 19:45:38 +00:00
parent 7b201d2254
commit 9b2135a923
2 changed files with 24 additions and 0 deletions

View File

@ -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;
};

View File

@ -560,6 +560,7 @@ bool SkCanvas::readPixels(const SkIRect& srcRect, SkBitmap* bitmap) {
SkDeviceFactory* SkCanvas::setDeviceFactory(SkDeviceFactory* factory) {
SkDELETE(fDeviceFactory);
fDeviceFactory = factory;
return factory;
}
//////////////////////////////////////////////////////////////////////////////