| 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 <functional> | 8 #include <functional> |
| 9 #include "gm.h" | 9 #include "gm.h" |
| 10 #include "SkAutoPixmapStorage.h" | 10 #include "SkAutoPixmapStorage.h" |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 125 |
| 126 SkISize onISize() override { | 126 SkISize onISize() override { |
| 127 return SkISize::Make(960, 1200); | 127 return SkISize::Make(960, 1200); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void onDraw(SkCanvas* canvas) override { | 130 void onDraw(SkCanvas* canvas) override { |
| 131 drawJpeg(canvas, this->getISize()); | 131 drawJpeg(canvas, this->getISize()); |
| 132 | 132 |
| 133 canvas->scale(2, 2); | 133 canvas->scale(2, 2); |
| 134 | 134 |
| 135 static const char* kLabel1 = "Original Img"; | 135 const char* kLabel1 = "Original Img"; |
| 136 static const char* kLabel2 = "Modified Img"; | 136 const char* kLabel2 = "Modified Img"; |
| 137 static const char* kLabel3 = "Cur Surface"; | 137 const char* kLabel3 = "Cur Surface"; |
| 138 static const char* kLabel4 = "Full Crop"; | 138 const char* kLabel4 = "Full Crop"; |
| 139 static const char* kLabel5 = "Over-crop"; | 139 const char* kLabel5 = "Over-crop"; |
| 140 static const char* kLabel6 = "Upper-left"; | 140 const char* kLabel6 = "Upper-left"; |
| 141 static const char* kLabel7 = "No Crop"; | 141 const char* kLabel7 = "No Crop"; |
| 142 | 142 |
| 143 static const char* kLabel8 = "Pre-Alloc Img"; | 143 const char* kLabel8 = "Pre-Alloc Img"; |
| 144 static const char* kLabel9 = "New Alloc Img"; | 144 const char* kLabel9 = "New Alloc Img"; |
| 145 static const char* kLabel10 = "GPU"; | 145 const char* kLabel10 = "GPU"; |
| 146 | 146 |
| 147 SkPaint textPaint; | 147 SkPaint textPaint; |
| 148 textPaint.setAntiAlias(true); | 148 textPaint.setAntiAlias(true); |
| 149 sk_tool_utils::set_portable_typeface(&textPaint); | 149 sk_tool_utils::set_portable_typeface(&textPaint); |
| 150 textPaint.setTextSize(8); | 150 textPaint.setTextSize(8); |
| 151 | 151 |
| 152 canvas->drawText(kLabel1, strlen(kLabel1), 10, 60, textPaint); | 152 canvas->drawText(kLabel1, strlen(kLabel1), 10, 60, textPaint); |
| 153 canvas->drawText(kLabel2, strlen(kLabel2), 10, 140, textPaint); | 153 canvas->drawText(kLabel2, strlen(kLabel2), 10, 140, textPaint); |
| 154 canvas->drawText(kLabel3, strlen(kLabel3), 10, 220, textPaint); | 154 canvas->drawText(kLabel3, strlen(kLabel3), 10, 220, textPaint); |
| 155 canvas->drawText(kLabel4, strlen(kLabel4), 10, 300, textPaint); | 155 canvas->drawText(kLabel4, strlen(kLabel4), 10, 300, textPaint); |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 paint.setColor(SK_ColorRED); | 446 paint.setColor(SK_ColorRED); |
| 447 canvas->drawRect(SkRect::MakeXYWH(10.f,10.f,10.f,10.f), paint); | 447 canvas->drawRect(SkRect::MakeXYWH(10.f,10.f,10.f,10.f), paint); |
| 448 paint.setColor(SK_ColorGREEN); | 448 paint.setColor(SK_ColorGREEN); |
| 449 canvas->drawRect(SkRect::MakeXYWH(30.f,10.f,10.f,10.f), paint); | 449 canvas->drawRect(SkRect::MakeXYWH(30.f,10.f,10.f,10.f), paint); |
| 450 paint.setColor(SK_ColorYELLOW); | 450 paint.setColor(SK_ColorYELLOW); |
| 451 canvas->drawRect(SkRect::MakeXYWH(10.f,30.f,10.f,10.f), paint); | 451 canvas->drawRect(SkRect::MakeXYWH(10.f,30.f,10.f,10.f), paint); |
| 452 paint.setColor(SK_ColorCYAN); | 452 paint.setColor(SK_ColorCYAN); |
| 453 canvas->drawRect(SkRect::MakeXYWH(30.f,30.f,10.f,10.f), paint); | 453 canvas->drawRect(SkRect::MakeXYWH(30.f,30.f,10.f,10.f), paint); |
| 454 }; | 454 }; |
| 455 | 455 |
| 456 static const int kSize = 50; | 456 static constexpr int kSize = 50; |
| 457 SkBitmap bmp; | 457 SkBitmap bmp; |
| 458 bmp.allocN32Pixels(kSize, kSize); | 458 bmp.allocN32Pixels(kSize, kSize); |
| 459 SkCanvas bmpCanvas(bmp); | 459 SkCanvas bmpCanvas(bmp); |
| 460 render_image(&bmpCanvas); | 460 render_image(&bmpCanvas); |
| 461 | 461 |
| 462 std::function<sk_sp<SkImage>()> imageFactories[] = { | 462 std::function<sk_sp<SkImage>()> imageFactories[] = { |
| 463 // Create sw raster image. | 463 // Create sw raster image. |
| 464 [bmp] { | 464 [bmp] { |
| 465 return SkImage::MakeFromBitmap(bmp); | 465 return SkImage::MakeFromBitmap(bmp); |
| 466 }, | 466 }, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 484 SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, | 484 SkSurface::MakeRenderTarget(context, SkBudgeted::kYes, |
| 485 SkImageInfo::MakeN32Premul(kSize, kS
ize))); | 485 SkImageInfo::MakeN32Premul(kSize, kS
ize))); |
| 486 if (!surface) { | 486 if (!surface) { |
| 487 return nullptr; | 487 return nullptr; |
| 488 } | 488 } |
| 489 render_image(surface->getCanvas()); | 489 render_image(surface->getCanvas()); |
| 490 return surface->makeImageSnapshot(); | 490 return surface->makeImageSnapshot(); |
| 491 } | 491 } |
| 492 }; | 492 }; |
| 493 | 493 |
| 494 static const SkScalar kPad = 5.f; | 494 constexpr SkScalar kPad = 5.f; |
| 495 canvas->translate(kPad, kPad); | 495 canvas->translate(kPad, kPad); |
| 496 for (auto factory : imageFactories) { | 496 for (auto factory : imageFactories) { |
| 497 auto image(factory()); | 497 auto image(factory()); |
| 498 if (!image) { | 498 if (!image) { |
| 499 continue; | 499 continue; |
| 500 } | 500 } |
| 501 if (context) { | 501 if (context) { |
| 502 sk_sp<SkImage> texImage(image->makeTextureImage(context)); | 502 sk_sp<SkImage> texImage(image->makeTextureImage(context)); |
| 503 if (texImage) { | 503 if (texImage) { |
| 504 canvas->drawImage(texImage, 0, 0); | 504 canvas->drawImage(texImage, 0, 0); |
| 505 } | 505 } |
| 506 } | 506 } |
| 507 canvas->translate(image->width() + kPad, 0); | 507 canvas->translate(image->width() + kPad, 0); |
| 508 } | 508 } |
| 509 } | 509 } |
| OLD | NEW |