Image_MakeFromRaster.cpp 797 B

1234567891011121314151617181920
  1. // Copyright 2019 Google LLC.
  2. // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
  3. #include "tools/fiddle/examples.h"
  4. // HASH=275356b65d18c8868f4434137350cddc
  5. REG_FIDDLE(Image_MakeFromRaster, 256, 256, true, 0) {
  6. static void releaseProc(const void* pixels, SkImage::ReleaseContext context) {
  7. int* countPtr = static_cast<int*>(context);
  8. *countPtr += 1;
  9. }
  10. void draw(SkCanvas* canvas) {
  11. SkColor color = 0;
  12. SkPixmap pixmap(SkImageInfo::MakeN32(1, 1, kPremul_SkAlphaType), &color, 4);
  13. int releaseCount = 0;
  14. sk_sp<SkImage> image(SkImage::MakeFromRaster(pixmap, releaseProc, &releaseCount));
  15. SkDebugf("before reset: %d\n", releaseCount);
  16. image.reset();
  17. SkDebugf("after reset: %d\n", releaseCount);
  18. }
  19. } // END FIDDLE