From 261c3ad7fde95748da92550735decc949dc73bf2 Mon Sep 17 00:00:00 2001 From: joshualitt Date: Mon, 27 Apr 2015 09:16:57 -0700 Subject: Change to add zoom animations to nanobench BUG=skia: Review URL: https://codereview.chromium.org/1061323003 --- bench/SKPBench.cpp | 54 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 23 deletions(-) (limited to 'bench/SKPBench.cpp') diff --git a/bench/SKPBench.cpp b/bench/SKPBench.cpp index 6f74ff942d..592d0428fd 100644 --- a/bench/SKPBench.cpp +++ b/bench/SKPBench.cpp @@ -98,32 +98,40 @@ SkIPoint SKPBench::onGetSize() { void SKPBench::onDraw(const int loops, SkCanvas* canvas) { if (fUseMultiPictureDraw) { for (int i = 0; i < loops; i++) { - SkMultiPictureDraw mpd; - - for (int j = 0; j < fTileRects.count(); ++j) { - SkMatrix trans; - trans.setTranslate(-fTileRects[j].fLeft/fScale, - -fTileRects[j].fTop/fScale); - mpd.add(fSurfaces[j]->getCanvas(), fPic, &trans); - } - - mpd.draw(); - - for (int j = 0; j < fTileRects.count(); ++j) { - fSurfaces[j]->getCanvas()->flush(); - } + this->drawMPDPicture(); } } else { for (int i = 0; i < loops; i++) { - for (int j = 0; j < fTileRects.count(); ++j) { - const SkMatrix trans = SkMatrix::MakeTrans(-fTileRects[j].fLeft / fScale, - -fTileRects[j].fTop / fScale); - fSurfaces[j]->getCanvas()->drawPicture(fPic, &trans, NULL); - } - - for (int j = 0; j < fTileRects.count(); ++j) { - fSurfaces[j]->getCanvas()->flush(); - } + this->drawPicture(); } } } + +void SKPBench::drawMPDPicture() { + SkMultiPictureDraw mpd; + + for (int j = 0; j < fTileRects.count(); ++j) { + SkMatrix trans; + trans.setTranslate(-fTileRects[j].fLeft/fScale, + -fTileRects[j].fTop/fScale); + mpd.add(fSurfaces[j]->getCanvas(), fPic, &trans); + } + + mpd.draw(); + + for (int j = 0; j < fTileRects.count(); ++j) { + fSurfaces[j]->getCanvas()->flush(); + } +} + +void SKPBench::drawPicture() { + for (int j = 0; j < fTileRects.count(); ++j) { + const SkMatrix trans = SkMatrix::MakeTrans(-fTileRects[j].fLeft / fScale, + -fTileRects[j].fTop / fScale); + fSurfaces[j]->getCanvas()->drawPicture(fPic, &trans, NULL); + } + + for (int j = 0; j < fTileRects.count(); ++j) { + fSurfaces[j]->getCanvas()->flush(); + } +} -- cgit v1.2.3