Surface_readPixels.cpp 1.0 KB

12345678910111213141516171819202122232425
  1. #if 0 // Disabled until updated to use current API.
  2. // Copyright 2019 Google LLC.
  3. // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
  4. #include "tools/fiddle/examples.h"
  5. // HASH=9f454fb93bca6482598d198b4121f0a6
  6. REG_FIDDLE(Surface_readPixels, 256, 32, false, 0) {
  7. void draw(SkCanvas* canvas) {
  8. sk_sp<SkSurface> surf(SkSurface::MakeRasterN32Premul(64, 64));
  9. auto surfCanvas = surf->getCanvas();
  10. surfCanvas->clear(SK_ColorRED);
  11. SkPaint paint;
  12. paint.setTextSize(40);
  13. surfCanvas->drawString("&", 0, 32, paint);
  14. std::vector<SkPMColor> storage;
  15. storage.resize(surf->width() * surf->height());
  16. SkPixmap pixmap(SkImageInfo::MakeN32Premul(32, 32), &storage.front(),
  17. surf->width() * sizeof(storage[0]));
  18. if (surf->readPixels(pixmap, 0, 0)) {
  19. SkBitmap surfBits;
  20. surfBits.installPixels(pixmap);
  21. canvas->drawBitmap(surfBits, 0, 0);
  22. }
  23. }
  24. } // END FIDDLE
  25. #endif // Disabled until updated to use current API.