OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 "SkBitmap.h" | 9 #include "SkBitmap.h" |
10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
(...skipping 142 matching lines...) Loading... |
153 if (configs[i].scaleX < 0) { | 153 if (configs[i].scaleX < 0) { |
154 m.postTranslate(SkIntToScalar(configs[i].size.width()), 0); | 154 m.postTranslate(SkIntToScalar(configs[i].size.width()), 0); |
155 } | 155 } |
156 if (configs[i].scaleY < 0) { | 156 if (configs[i].scaleY < 0) { |
157 m.postTranslate(0, SkIntToScalar(configs[i].size.height())); | 157 m.postTranslate(0, SkIntToScalar(configs[i].size.height())); |
158 } | 158 } |
159 SkAutoTDelete<SkImageGenerator> gen( | 159 SkAutoTDelete<SkImageGenerator> gen( |
160 SkImageGenerator::NewFromPicture(configs[i].size, fPicture.get()
, &m, | 160 SkImageGenerator::NewFromPicture(configs[i].size, fPicture.get()
, &m, |
161 p.getAlpha() != 255 ? &p : null
ptr)); | 161 p.getAlpha() != 255 ? &p : null
ptr)); |
162 SkBitmap bm; | 162 SkBitmap bm; |
163 SkAssertResult(SkInstallDiscardablePixelRef(gen.detach(), &bm)); | 163 gen->generateBitmap(&bm); |
164 | 164 |
165 const SkScalar x = kDrawSize * (i % kDrawsPerRow); | 165 const SkScalar x = kDrawSize * (i % kDrawsPerRow); |
166 const SkScalar y = kDrawSize * (i / kDrawsPerRow); | 166 const SkScalar y = kDrawSize * (i / kDrawsPerRow); |
167 | 167 |
168 p.setColor(0xfff0f0f0); | 168 p.setColor(0xfff0f0f0); |
169 p.setAlpha(255); | 169 p.setAlpha(255); |
170 canvas->drawRect(SkRect::MakeXYWH(x, y, | 170 canvas->drawRect(SkRect::MakeXYWH(x, y, |
171 SkIntToScalar(bm.width()), | 171 SkIntToScalar(bm.width()), |
172 SkIntToScalar(bm.height())), p); | 172 SkIntToScalar(bm.height())), p); |
173 canvas->drawBitmap(bm, x, y); | 173 canvas->drawBitmap(bm, x, y); |
174 } | 174 } |
175 } | 175 } |
176 | 176 |
177 private: | 177 private: |
178 SkAutoTUnref<SkPicture> fPicture; | 178 SkAutoTUnref<SkPicture> fPicture; |
179 | 179 |
180 const SkScalar kPictureWidth = 200; | 180 const SkScalar kPictureWidth = 200; |
181 const SkScalar kPictureHeight = 100; | 181 const SkScalar kPictureHeight = 100; |
182 | 182 |
183 typedef skiagm::GM INHERITED; | 183 typedef skiagm::GM INHERITED; |
184 }; | 184 }; |
185 | 185 |
186 DEF_GM(return new PictureGeneratorGM;) | 186 DEF_GM(return new PictureGeneratorGM;) |
OLD | NEW |