xref: /third_party/skia/docs/examples/Multiply.cpp (revision cb93a386)
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=eb29c896f008dfbef09e16b85114fc3a
5REG_FIDDLE(Multiply, 256, 256, false, 5) {
6void draw(SkCanvas* canvas) {
7    canvas->drawImage(image, 0, 0);
8    canvas->drawImage(image, 128, 0);
9    canvas->drawImage(image, 0, 128);
10    canvas->drawImage(image, 128, 128);
11    SkPaint paint;
12    paint.setBlendMode(SkBlendMode::kDstATop);
13    SkColor alphas[] = { SK_ColorBLACK, SK_ColorTRANSPARENT };
14    SkPoint vert[] = { { 0, 0 }, { 0, 256 } };
15    paint.setShader(SkGradientShader::MakeLinear(vert, alphas, nullptr, SK_ARRAY_COUNT(alphas),
16            SkTileMode::kClamp));
17    canvas->drawPaint(paint);
18    canvas->clipRect( { 30, 30, 226, 226 } );
19    canvas->drawColor(0x80bb9977, SkBlendMode::kMultiply);
20}
21}  // END FIDDLE
22