DMUtil.cpp revision d6bab0238655dbab24dfe92bd0b16b464310a8c7
1#include "DMUtil.h" 2 3#include "SkPicture.h" 4 5namespace DM { 6 7SkString UnderJoin(const char* a, const char* b) { 8 SkString s; 9 s.appendf("%s_%s", a, b); 10 return s; 11} 12 13SkString Png(SkString s) { 14 s.appendf(".png"); 15 return s; 16} 17 18void RecordPicture(skiagm::GM* gm, SkPicture* picture, uint32_t recordFlags) { 19 const SkISize size = gm->getISize(); 20 SkCanvas* canvas = picture->beginRecording(size.width(), size.height(), recordFlags); 21 canvas->concat(gm->getInitialTransform()); 22 gm->draw(canvas); 23 canvas->flush(); 24 picture->endRecording(); 25} 26 27void SetupBitmap(const SkBitmap::Config config, skiagm::GM* gm, SkBitmap* bitmap) { 28 const SkISize size = gm->getISize(); 29 bitmap->setConfig(config, size.width(), size.height()); 30 bitmap->allocPixels(); 31 bitmap->eraseColor(0x00000000); 32} 33 34void DrawPicture(SkPicture* picture, SkBitmap* bitmap) { 35 SkASSERT(picture != NULL); 36 SkASSERT(bitmap != NULL); 37 SkCanvas canvas(*bitmap); 38 canvas.drawPicture(*picture); 39 canvas.flush(); 40} 41 42bool BitmapsEqual(const SkBitmap& a, const SkBitmap& b) { 43 const SkAutoLockPixels lockA(a), lockB(b); 44 return a.getSize() == b.getSize() && 0 == memcmp(a.getPixels(), b.getPixels(), b.getSize()); 45} 46 47} // namespace DM 48