Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / docs / examples / ImageInfo_makeColorSpace.cpp
1 #if 0  // Disabled until updated to use current API.
2 // Copyright 2019 Google LLC.
3 // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
4 #include "tools/fiddle/examples.h"
5 // HASH=fe3c5a755d3dde29bba058a583f18901
6 REG_FIDDLE(ImageInfo_makeColorSpace, 256, 224, false, 0) {
7 void draw(SkCanvas* canvas) {
8     const int width = 256;
9     const int height = 64;
10     auto drawLabel = [=](const char* what, bool closeToSRGB) -> void {
11         SkString string;
12         string.printf("%s gamma is %s" "close to sRGB", what, closeToSRGB ? "" : "not ");
13         SkPaint paint;
14         paint.setAntiAlias(true);
15         canvas->drawString(string, 20, 56, paint);
16     };
17     SkColor  gradColors[] = { 0xFFFF7F00, 0xFF00FF7F,  0xFF0000FF, 0xFF7F7FFF };
18     SkPoint  gradPoints[] = { { 0, 0 }, { width, 0 }, { width * 2, 0 }, { width * 3, 0 } };
19     SkPaint gradPaint;
20     gradPaint.setShader(SkGradientShader::MakeLinear(gradPoints, gradColors, nullptr,
21             SK_ARRAY_COUNT(gradColors), SkShader::kClamp_TileMode));
22     canvas->drawRect(SkRect::MakeWH(width, height), gradPaint);
23     drawLabel("canvas", canvas->imageInfo().gammaCloseToSRGB());
24     SkBitmap bitmap;
25     SkImageInfo offscreenInfo = SkImageInfo::MakeS32(width, height, kPremul_SkAlphaType);
26     bitmap.allocPixels(offscreenInfo);
27     SkCanvas sRGBOffscreen(bitmap);
28     sRGBOffscreen.drawRect(SkRect::MakeWH(width, height), gradPaint);
29     canvas->translate(0, 80);
30     canvas->drawBitmap(bitmap, 0, 0);
31     drawLabel("offscreen", offscreenInfo.gammaCloseToSRGB());
32     SkImageInfo linearGamma =
33             offscreenInfo.makeColorSpace(offscreenInfo.colorSpace()->makeLinearGamma());
34     bitmap.allocPixels(linearGamma);
35     SkCanvas lgOffscreen(bitmap);
36     lgOffscreen.drawRect(SkRect::MakeWH(width, height), gradPaint);
37     canvas->translate(0, 80);
38     canvas->drawBitmap(bitmap, 0, 0);
39     drawLabel("linear", linearGamma.gammaCloseToSRGB());
40 }
41 }  // END FIDDLE
42 #endif  // Disabled until updated to use current API.