| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm.h" | 8 #include "gm.h" |
| 9 #include "SkSurface.h" | 9 #include "SkSurface.h" |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 SkAutoDataUnref data(SkData::NewFromFileName("/Users/mike/Downloads/skia.goo
gle.jpeg")); | 23 SkAutoDataUnref data(SkData::NewFromFileName("/Users/mike/Downloads/skia.goo
gle.jpeg")); |
| 24 if (NULL == data.get()) { | 24 if (NULL == data.get()) { |
| 25 return; | 25 return; |
| 26 } | 26 } |
| 27 SkImage* image = SkImage::NewFromGenerator( | 27 SkImage* image = SkImage::NewFromGenerator( |
| 28 SkDecodingImageGenerator::Create(data, SkDecodingImageGenerator:
:Options())); | 28 SkDecodingImageGenerator::Create(data, SkDecodingImageGenerator:
:Options())); |
| 29 if (image) { | 29 if (image) { |
| 30 SkAutoCanvasRestore acr(canvas, true); | 30 SkAutoCanvasRestore acr(canvas, true); |
| 31 canvas->scale(size.width() * 1.0f / image->width(), | 31 canvas->scale(size.width() * 1.0f / image->width(), |
| 32 size.height() * 1.0f / image->height()); | 32 size.height() * 1.0f / image->height()); |
| 33 image->draw(canvas, 0, 0, NULL); | 33 canvas->drawImage(image, 0, 0, NULL); |
| 34 image->unref(); | 34 image->unref(); |
| 35 } | 35 } |
| 36 } | 36 } |
| 37 | 37 |
| 38 static void drawContents(SkSurface* surface, SkColor fillC) { | 38 static void drawContents(SkSurface* surface, SkColor fillC) { |
| 39 SkSize size = SkSize::Make(SkIntToScalar(surface->width()), | 39 SkSize size = SkSize::Make(SkIntToScalar(surface->width()), |
| 40 SkIntToScalar(surface->height())); | 40 SkIntToScalar(surface->height())); |
| 41 SkCanvas* canvas = surface->getCanvas(); | 41 SkCanvas* canvas = surface->getCanvas(); |
| 42 | 42 |
| 43 SkScalar stroke = size.fWidth / 10; | 43 SkScalar stroke = size.fWidth / 10; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 70 | 70 |
| 71 // since we've drawn after we snapped imgR, imgG will be a different obj | 71 // since we've drawn after we snapped imgR, imgG will be a different obj |
| 72 SkASSERT(imgR != imgG); | 72 SkASSERT(imgR != imgG); |
| 73 | 73 |
| 74 drawContents(surf, SK_ColorBLUE); | 74 drawContents(surf, SK_ColorBLUE); |
| 75 | 75 |
| 76 SkPaint paint; | 76 SkPaint paint; |
| 77 // paint.setFilterBitmap(true); | 77 // paint.setFilterBitmap(true); |
| 78 // paint.setAlpha(0x80); | 78 // paint.setAlpha(0x80); |
| 79 | 79 |
| 80 imgR->draw(canvas, 0, 0, usePaint ? &paint : NULL); | 80 canvas->drawImage(imgR, 0, 0, usePaint ? &paint : NULL); |
| 81 imgG->draw(canvas, 0, 80, usePaint ? &paint : NULL); | 81 canvas->drawImage(imgG, 0, 80, usePaint ? &paint : NULL); |
| 82 surf->draw(canvas, 0, 160, usePaint ? &paint : NULL); | 82 surf->draw(canvas, 0, 160, usePaint ? &paint : NULL); |
| 83 | 83 |
| 84 SkRect src1, src2, src3; | 84 SkRect src1, src2, src3; |
| 85 src1.iset(0, 0, surf->width(), surf->height()); | 85 src1.iset(0, 0, surf->width(), surf->height()); |
| 86 src2.iset(-surf->width() / 2, -surf->height() / 2, | 86 src2.iset(-surf->width() / 2, -surf->height() / 2, |
| 87 surf->width(), surf->height()); | 87 surf->width(), surf->height()); |
| 88 src3.iset(0, 0, surf->width() / 2, surf->height() / 2); | 88 src3.iset(0, 0, surf->width() / 2, surf->height() / 2); |
| 89 | 89 |
| 90 SkRect dst1, dst2, dst3, dst4; | 90 SkRect dst1, dst2, dst3, dst4; |
| 91 dst1.set(0, 240, 65, 305); | 91 dst1.set(0, 240, 65, 305); |
| 92 dst2.set(0, 320, 65, 385); | 92 dst2.set(0, 320, 65, 385); |
| 93 dst3.set(0, 400, 65, 465); | 93 dst3.set(0, 400, 65, 465); |
| 94 dst4.set(0, 480, 65, 545); | 94 dst4.set(0, 480, 65, 545); |
| 95 | 95 |
| 96 imgR->draw(canvas, &src1, dst1, usePaint ? &paint : NULL); | 96 canvas->drawImageRect(imgR, &src1, dst1, usePaint ? &paint : NULL); |
| 97 imgG->draw(canvas, &src2, dst2, usePaint ? &paint : NULL); | 97 canvas->drawImageRect(imgG, &src2, dst2, usePaint ? &paint : NULL); |
| 98 imgR->draw(canvas, &src3, dst3, usePaint ? &paint : NULL); | 98 canvas->drawImageRect(imgR, &src3, dst3, usePaint ? &paint : NULL); |
| 99 imgG->draw(canvas, NULL, dst4, usePaint ? &paint : NULL); | 99 canvas->drawImageRect(imgG, NULL, dst4, usePaint ? &paint : NULL); |
| 100 | 100 |
| 101 imgG->unref(); | 101 imgG->unref(); |
| 102 imgR->unref(); | 102 imgR->unref(); |
| 103 } | 103 } |
| 104 | 104 |
| 105 class ImageGM : public skiagm::GM { | 105 class ImageGM : public skiagm::GM { |
| 106 void* fBuffer; | 106 void* fBuffer; |
| 107 size_t fBufferSize; | 107 size_t fBufferSize; |
| 108 SkSize fSize; | 108 SkSize fSize; |
| 109 enum { | 109 enum { |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 } | 198 } |
| 199 | 199 |
| 200 private: | 200 private: |
| 201 typedef skiagm::GM INHERITED; | 201 typedef skiagm::GM INHERITED; |
| 202 }; | 202 }; |
| 203 | 203 |
| 204 ////////////////////////////////////////////////////////////////////////////// | 204 ////////////////////////////////////////////////////////////////////////////// |
| 205 | 205 |
| 206 static skiagm::GM* MyFactory(void*) { return new ImageGM; } | 206 static skiagm::GM* MyFactory(void*) { return new ImageGM; } |
| 207 static skiagm::GMRegistry reg(MyFactory); | 207 static skiagm::GMRegistry reg(MyFactory); |
| OLD | NEW |