Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: gm/image.cpp

Issue 1728093005: Move Budgeted enum out of SkSurface, use in GrTextureProvider (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: add aliases for Chrome Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gm/discard.cpp ('k') | gm/image_pict.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <functional> 8 #include <functional>
9 #include "gm.h" 9 #include "gm.h"
10 #include "SkData.h" 10 #include "SkData.h"
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 // since we draw into this directly, we need to start fresh 170 // since we draw into this directly, we need to start fresh
171 sk_bzero(fBuffer, fBufferSize); 171 sk_bzero(fBuffer, fBufferSize);
172 172
173 SkImageInfo info = SkImageInfo::MakeN32Premul(W, H); 173 SkImageInfo info = SkImageInfo::MakeN32Premul(W, H);
174 SkAutoTUnref<SkSurface> surf0(SkSurface::NewRasterDirect(info, fBuffer, RB)); 174 SkAutoTUnref<SkSurface> surf0(SkSurface::NewRasterDirect(info, fBuffer, RB));
175 SkAutoTUnref<SkSurface> surf1(SkSurface::NewRaster(info)); 175 SkAutoTUnref<SkSurface> surf1(SkSurface::NewRaster(info));
176 SkAutoTUnref<SkSurface> surf2; // gpu 176 SkAutoTUnref<SkSurface> surf2; // gpu
177 177
178 #if SK_SUPPORT_GPU 178 #if SK_SUPPORT_GPU
179 surf2.reset(SkSurface::NewRenderTarget(canvas->getGrContext(), 179 surf2.reset(SkSurface::NewRenderTarget(canvas->getGrContext(),
180 SkSurface::kNo_Budgeted, info)); 180 SkBudgeted::kNo, info));
181 #endif 181 #endif
182 182
183 test_surface(canvas, surf0, true); 183 test_surface(canvas, surf0, true);
184 canvas->translate(80, 0); 184 canvas->translate(80, 0);
185 test_surface(canvas, surf1, true); 185 test_surface(canvas, surf1, true);
186 if (surf2) { 186 if (surf2) {
187 canvas->translate(80, 0); 187 canvas->translate(80, 0);
188 test_surface(canvas, surf2, true); 188 test_surface(canvas, surf2, true);
189 } 189 }
190 } 190 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 } 255 }
256 256
257 static SkImage* make_codec(const SkImageInfo& info, GrContext*, void (*draw)(SkC anvas*)) { 257 static SkImage* make_codec(const SkImageInfo& info, GrContext*, void (*draw)(SkC anvas*)) {
258 SkAutoTUnref<SkImage> image(make_raster(info, nullptr, draw)); 258 SkAutoTUnref<SkImage> image(make_raster(info, nullptr, draw));
259 SkAutoTUnref<SkData> data(image->encode()); 259 SkAutoTUnref<SkData> data(image->encode());
260 return SkImage::NewFromEncoded(data); 260 return SkImage::NewFromEncoded(data);
261 } 261 }
262 262
263 static SkImage* make_gpu(const SkImageInfo& info, GrContext* ctx, void (*draw)(S kCanvas*)) { 263 static SkImage* make_gpu(const SkImageInfo& info, GrContext* ctx, void (*draw)(S kCanvas*)) {
264 if (!ctx) { return nullptr; } 264 if (!ctx) { return nullptr; }
265 SkAutoTUnref<SkSurface> surface(SkSurface::NewRenderTarget(ctx, SkSurface::k No_Budgeted, info)); 265 SkAutoTUnref<SkSurface> surface(SkSurface::NewRenderTarget(ctx, SkBudgeted:: kNo, info));
266 draw(surface->getCanvas()); 266 draw(surface->getCanvas());
267 return surface->newImageSnapshot(); 267 return surface->newImageSnapshot();
268 } 268 }
269 269
270 typedef SkImage* (*ImageMakerProc)(const SkImageInfo&, GrContext*, void (*)(SkCa nvas*)); 270 typedef SkImage* (*ImageMakerProc)(const SkImageInfo&, GrContext*, void (*)(SkCa nvas*));
271 271
272 class ScalePixelsGM : public skiagm::GM { 272 class ScalePixelsGM : public skiagm::GM {
273 public: 273 public:
274 ScalePixelsGM() {} 274 ScalePixelsGM() {}
275 275
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 [render_image] { 480 [render_image] {
481 SkPictureRecorder recorder; 481 SkPictureRecorder recorder;
482 SkCanvas* canvas = recorder.beginRecording(SkIntToScalar(kSize), SkI ntToScalar(kSize)); 482 SkCanvas* canvas = recorder.beginRecording(SkIntToScalar(kSize), SkI ntToScalar(kSize));
483 render_image(canvas); 483 render_image(canvas);
484 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); 484 SkAutoTUnref<SkPicture> picture(recorder.endRecording());
485 return SkImage::NewFromPicture(picture, SkISize::Make(kSize, kSize), nullptr, nullptr); 485 return SkImage::NewFromPicture(picture, SkISize::Make(kSize, kSize), nullptr, nullptr);
486 }, 486 },
487 // Create a texture image 487 // Create a texture image
488 [context, render_image]() -> SkImage* { 488 [context, render_image]() -> SkImage* {
489 SkAutoTUnref<SkSurface> surface( 489 SkAutoTUnref<SkSurface> surface(
490 SkSurface::NewRenderTarget(context, SkSurface::kYes_Budgeted, 490 SkSurface::NewRenderTarget(context, SkBudgeted::kYes,
491 SkImageInfo::MakeN32Premul(kSize, kSi ze))); 491 SkImageInfo::MakeN32Premul(kSize, kSi ze)));
492 if (!surface) { 492 if (!surface) {
493 return nullptr; 493 return nullptr;
494 } 494 }
495 render_image(surface->getCanvas()); 495 render_image(surface->getCanvas());
496 return surface->newImageSnapshot(); 496 return surface->newImageSnapshot();
497 } 497 }
498 }; 498 };
499 499
500 static const SkScalar kPad = 5.f; 500 static const SkScalar kPad = 5.f;
501 canvas->translate(kPad, kPad); 501 canvas->translate(kPad, kPad);
502 for (auto factory : imageFactories) { 502 for (auto factory : imageFactories) {
503 SkAutoTUnref<SkImage> image(factory()); 503 SkAutoTUnref<SkImage> image(factory());
504 if (!image) { 504 if (!image) {
505 continue; 505 continue;
506 } 506 }
507 if (context) { 507 if (context) {
508 SkAutoTUnref<SkImage> texImage(image->newTextureImage(context)); 508 SkAutoTUnref<SkImage> texImage(image->newTextureImage(context));
509 if (texImage) { 509 if (texImage) {
510 canvas->drawImage(texImage, 0, 0); 510 canvas->drawImage(texImage, 0, 0);
511 } 511 }
512 } 512 }
513 canvas->translate(image->width() + kPad, 0); 513 canvas->translate(image->width() + kPad, 0);
514 } 514 }
515 } 515 }
OLDNEW
« no previous file with comments | « gm/discard.cpp ('k') | gm/image_pict.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698