Bitmap_isVolatile.cpp 760 B

1234567891011121314151617
  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=23c4543ac6cdd0e8fe762816a0dc2e03
  5. REG_FIDDLE(Bitmap_isVolatile, 256, 256, true, 0) {
  6. void draw(SkCanvas* canvas) {
  7. SkBitmap original;
  8. SkImageInfo info = SkImageInfo::Make(25, 35, kRGBA_8888_SkColorType, kOpaque_SkAlphaType);
  9. if (original.tryAllocPixels(info)) {
  10. original.setIsVolatile(true);
  11. SkBitmap copy;
  12. original.extractSubset(&copy, {5, 10, 15, 20});
  13. SkDebugf("original is " "%s" "volatile\n", original.isVolatile() ? "" : "not ");
  14. SkDebugf("copy is " "%s" "volatile\n", copy.isImmutable() ? "" : "not ");
  15. }
  16. }
  17. } // END FIDDLE