Pixmap_computeIsOpaque.cpp 1015 B

12345678910111213141516171819202122
  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=6ef37d5be03d0bfaec992dbb5a94c66f
  5. REG_FIDDLE(Pixmap_computeIsOpaque, 256, 256, true, 0) {
  6. void draw(SkCanvas* canvas) {
  7. std::vector<uint32_t> pixels;
  8. const int height = 2;
  9. const int width = 2;
  10. pixels.resize(height * width * 4);
  11. SkPixmap pixmap(SkImageInfo::Make(width, height, kN32_SkColorType,
  12. kPremul_SkAlphaType), (const void*) &pixels.front(), width * 4);
  13. for (int index = 0; index < 2; ++index) {
  14. pixmap.erase(0x00000000);
  15. SkDebugf("computeIsOpaque: %s\n", pixmap.computeIsOpaque() ? "true" : "false");
  16. pixmap.erase(0xFFFFFFFF);
  17. SkDebugf("computeIsOpaque: %s\n", pixmap.computeIsOpaque() ? "true" : "false");
  18. pixmap.reset(pixmap.info().makeAlphaType(kOpaque_SkAlphaType),
  19. (const void*) &pixels.front(), width * 4);
  20. }
  21. }
  22. } // END FIDDLE