OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 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 | 9 |
10 #include "SkColorFilter.h" | 10 #include "SkColorFilter.h" |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 canvas->restore(); | 234 canvas->restore(); |
235 | 235 |
236 pic = make_sub_picture(pic.get()); | 236 pic = make_sub_picture(pic.get()); |
237 | 237 |
238 canvas->translate(0, 1.5f * kTriSide / kRoot3); | 238 canvas->translate(0, 1.5f * kTriSide / kRoot3); |
239 } | 239 } |
240 | 240 |
241 return recorder.finishRecordingAsPicture(); | 241 return recorder.finishRecordingAsPicture(); |
242 } | 242 } |
243 | 243 |
244 static SkSurface* create_compat_surface(SkCanvas* canvas, int width, int height)
{ | 244 static sk_sp<SkSurface> create_compat_surface(SkCanvas* canvas, int width, int h
eight) { |
245 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height); | 245 SkImageInfo info = SkImageInfo::MakeN32Premul(width, height); |
246 | 246 |
247 SkSurface* surface = canvas->newSurface(info); | 247 auto surface = canvas->makeSurface(info); |
248 if (nullptr == surface) { | 248 if (nullptr == surface) { |
249 // picture canvas returns nullptr so fall back to raster | 249 // picture canvas returns nullptr so fall back to raster |
250 surface = SkSurface::NewRaster(info); | 250 surface = SkSurface::MakeRaster(info); |
251 } | 251 } |
252 | |
253 return surface; | 252 return surface; |
254 } | 253 } |
255 | 254 |
256 // This class stores the information required to compose all the result | 255 // This class stores the information required to compose all the result |
257 // fragments potentially generated by the MultiPictureDraw object | 256 // fragments potentially generated by the MultiPictureDraw object |
258 class ComposeStep { | 257 class ComposeStep { |
259 public: | 258 public: |
260 ComposeStep() : fSurf(nullptr), fX(0.0f), fY(0.0f), fPaint(nullptr) { } | 259 ComposeStep() : fX(0.0f), fY(0.0f), fPaint(nullptr) { } |
261 ~ComposeStep() { | 260 ~ComposeStep() { |
262 SkSafeUnref(fSurf); | |
263 delete fPaint; | 261 delete fPaint; |
264 } | 262 } |
265 | 263 |
266 SkSurface* fSurf; | 264 sk_sp<SkSurface> fSurf; |
267 SkScalar fX; | 265 SkScalar fX; |
268 SkScalar fY; | 266 SkScalar fY; |
269 SkPaint* fPaint; | 267 SkPaint* fPaint; |
270 }; | 268 }; |
271 | 269 |
272 typedef void (*PFContentMtd)(SkCanvas* canvas, const SkPicture* pictures[kNumPic
tures]); | 270 typedef void (*PFContentMtd)(SkCanvas* canvas, const SkPicture* pictures[kNumPic
tures]); |
273 | 271 |
274 // Just a single picture with no clip | 272 // Just a single picture with no clip |
275 static void no_clip(SkCanvas* canvas, const SkPicture* pictures[kNumPictures]) { | 273 static void no_clip(SkCanvas* canvas, const SkPicture* pictures[kNumPictures]) { |
276 canvas->drawPicture(pictures[0]); | 274 canvas->drawPicture(pictures[0]); |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 MultiPictureDraw::kTiled_Layout);) | 563 MultiPictureDraw::kTiled_Layout);) |
566 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kPathClipMulti_Content, | 564 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kPathClipMulti_Content, |
567 MultiPictureDraw::kTiled_Layout);) | 565 MultiPictureDraw::kTiled_Layout);) |
568 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kInvPathClipMulti_Conte
nt, | 566 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kInvPathClipMulti_Conte
nt, |
569 MultiPictureDraw::kTiled_Layout);) | 567 MultiPictureDraw::kTiled_Layout);) |
570 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kSierpinski_Content, | 568 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kSierpinski_Content, |
571 MultiPictureDraw::kTiled_Layout);) | 569 MultiPictureDraw::kTiled_Layout);) |
572 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kBigLayer_Content, | 570 DEF_GM(return new MultiPictureDraw(MultiPictureDraw::kBigLayer_Content, |
573 MultiPictureDraw::kTiled_Layout);) | 571 MultiPictureDraw::kTiled_Layout);) |
574 } | 572 } |
OLD | NEW |