xref: /aosp_15_r20/external/skia/docs/examples/Bitmap_isImmutable.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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 REG_FIDDLE(Bitmap_isImmutable, 256, 256, true, 0) {
draw(SkCanvas * canvas)5 void draw(SkCanvas* canvas) {
6     SkBitmap original;
7     SkImageInfo info = SkImageInfo::Make(25, 35, kRGBA_8888_SkColorType, kOpaque_SkAlphaType);
8     if (original.tryAllocPixels(info)) {
9         original.setImmutable();
10         SkBitmap copy;
11         original.extractSubset(&copy, {5, 10, 15, 20});
12         SkDebugf("original is " "%s" "immutable\n", original.isImmutable() ? "" : "not ");
13         SkDebugf("copy is " "%s" "immutable\n", copy.isImmutable() ? "" : "not ");
14     }
15 }
16 }  // END FIDDLE
17