| // Copyright 2020 Google LLC. |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. |
| #include "tools/fiddle/examples.h" |
| REG_FIDDLE(f16to8888drawImageBug, 256, 256, false, 0) { |
| // f16to8888drawImageBug |
| void draw(SkCanvas* canvas) { |
| sk_sp<SkColorSpace> colorSpace = SkColorSpace::MakeSRGBLinear(); |
| |
| SkImageInfo imageInfo = |
| SkImageInfo::Make(100, 100, kRGBA_F16_SkColorType, kPremul_SkAlphaType, colorSpace); |
| sk_sp<SkSurface> surface = SkSurface::MakeRaster(imageInfo); |
| SkPaint p; |
| surface->getCanvas()->drawRect(SkRect::MakeXYWH(20, 20, 40, 40), p); |
| |
| sk_sp<SkColorSpace> colorSpace2 = SkColorSpace::MakeSRGB(); |
| |
| SkImageInfo imageInfo2 = |
| SkImageInfo::Make(100, 100, kN32_SkColorType, kPremul_SkAlphaType, colorSpace2); |
| sk_sp<SkSurface> surface2 = SkSurface::MakeRaster(imageInfo2); |
| surface2->getCanvas()->drawImage(surface->makeImageSnapshot(), 0, 0); |
| |
| canvas->drawImage(surface->makeImageSnapshot(), 0, 0); |
| canvas->drawImage(surface2->makeImageSnapshot(), 50, 0); |
| } |
| } // END FIDDLE |