| OLD | NEW |
| 1 #include "DMUtil.h" | 1 #include "DMUtil.h" |
| 2 | 2 |
| 3 #include "SkPicture.h" | 3 #include "SkPicture.h" |
| 4 #include "SkPictureRecorder.h" | 4 #include "SkPictureRecorder.h" |
| 5 | 5 |
| 6 namespace DM { | 6 namespace DM { |
| 7 | 7 |
| 8 SkString UnderJoin(const char* a, const char* b) { | 8 SkString UnderJoin(const char* a, const char* b) { |
| 9 SkString s; | 9 SkString s; |
| 10 s.appendf("%s_%s", a, b); | 10 s.appendf("%s_%s", a, b); |
| 11 return s; | 11 return s; |
| 12 } | 12 } |
| 13 | 13 |
| 14 SkPicture* RecordPicture(skiagm::GM* gm, uint32_t recordFlags, SkBBHFactory* fac
tory) { | 14 SkPicture* RecordPicture(skiagm::GM* gm, uint32_t recordFlags, SkBBHFactory* fac
tory) { |
| 15 const SkISize size = gm->getISize(); | 15 const SkISize size = gm->getISize(); |
| 16 SkPictureRecorder recorder; | 16 SkPictureRecorder recorder; |
| 17 SkCanvas* canvas = recorder.beginRecording(size.width(), size.height(), fact
ory, recordFlags); | 17 SkCanvas* canvas = recorder.beginRecording(size.width(), size.height(), fact
ory, recordFlags); |
| 18 canvas->concat(gm->getInitialTransform()); | 18 canvas->concat(gm->getInitialTransform()); |
| 19 gm->draw(canvas); | 19 gm->draw(canvas); |
| 20 canvas->flush(); | 20 canvas->flush(); |
| 21 return recorder.endRecording(); | 21 return recorder.endRecording(); |
| 22 } | 22 } |
| 23 | 23 |
| 24 static void setup_bitmap(SkColorType ct, int width, int height, SkBitmap* bitmap
) { | 24 static void setup_bitmap(SkColorType ct, int width, int height, SkBitmap* bitmap
) { |
| 25 bitmap->allocPixels(SkImageInfo::Make(width, height, ct, kPremul_SkAlphaType
)); | 25 bitmap->allocPixels(SkImageInfo::Make(width, height, ct, kPremul_SkAlphaType
)); |
| 26 bitmap->eraseColor(0x00000000); | 26 bitmap->eraseColor(0x00000000); |
| 27 } | 27 } |
| 28 | 28 |
| 29 void SetupBitmap(const SkColorType ct, skiagm::GM* gm, SkBitmap* bitmap) { | 29 void SetupBitmap(SkColorType ct, skiagm::GM* gm, SkBitmap* bitmap) { |
| 30 setup_bitmap(ct, gm->getISize().width(), gm->getISize().height(), bitmap); | 30 setup_bitmap(ct, gm->getISize().width(), gm->getISize().height(), bitmap); |
| 31 } | 31 } |
| 32 | 32 |
| 33 void SetupBitmap(const SkColorType ct, SkBenchmark* bench, SkBitmap* bitmap) { | 33 void SetupBitmap(SkColorType ct, SkBenchmark* bench, SkBitmap* bitmap) { |
| 34 setup_bitmap(ct, bench->getSize().x(), bench->getSize().y(), bitmap); | 34 setup_bitmap(ct, bench->getSize().x(), bench->getSize().y(), bitmap); |
| 35 } | 35 } |
| 36 | 36 |
| 37 void SetupBitmap(SkColorType ct, const SkPicture& pic, SkBitmap* bitmap) { |
| 38 setup_bitmap(ct, pic.width(), pic.height(), bitmap); |
| 39 } |
| 40 |
| 37 void DrawPicture(SkPicture* picture, SkBitmap* bitmap) { | 41 void DrawPicture(SkPicture* picture, SkBitmap* bitmap) { |
| 38 SkASSERT(picture != NULL); | 42 SkASSERT(picture != NULL); |
| 39 SkASSERT(bitmap != NULL); | 43 SkASSERT(bitmap != NULL); |
| 40 SkCanvas canvas(*bitmap); | 44 SkCanvas canvas(*bitmap); |
| 41 canvas.drawPicture(*picture); | 45 canvas.drawPicture(*picture); |
| 42 canvas.flush(); | 46 canvas.flush(); |
| 43 } | 47 } |
| 44 | 48 |
| 45 bool BitmapsEqual(const SkBitmap& a, const SkBitmap& b) { | 49 bool BitmapsEqual(const SkBitmap& a, const SkBitmap& b) { |
| 46 const SkAutoLockPixels lockA(a), lockB(b); | 50 const SkAutoLockPixels lockA(a), lockB(b); |
| 47 return a.getSize() == b.getSize() && 0 == memcmp(a.getPixels(), b.getPixels(
), b.getSize()); | 51 return a.getSize() == b.getSize() && 0 == memcmp(a.getPixels(), b.getPixels(
), b.getSize()); |
| 48 } | 52 } |
| 49 | 53 |
| 50 } // namespace DM | 54 } // namespace DM |
| OLD | NEW |