xref: /third_party/skia/gm/crbug_918512.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
4#include "gm/gm.h"
5#include "include/core/SkBlendMode.h"
6#include "include/core/SkCanvas.h"
7#include "include/core/SkColor.h"
8#include "include/core/SkColorFilter.h"
9#include "include/core/SkPaint.h"
10#include "include/core/SkRect.h"
11#include "include/effects/SkLumaColorFilter.h"
12
13// PDF backend should produce correct results.
14DEF_SIMPLE_GM(crbug_918512, canvas, 256, 256) {
15    canvas->drawColor(SK_ColorYELLOW);
16    {
17        SkAutoCanvasRestore autoCanvasRestore1(canvas, false);
18        canvas->saveLayer(nullptr, nullptr);
19        canvas->drawColor(SK_ColorCYAN);
20        {
21            SkAutoCanvasRestore autoCanvasRestore2(canvas, false);
22            SkPaint lumaFilter;
23            lumaFilter.setBlendMode(SkBlendMode::kDstIn);
24            lumaFilter.setColorFilter(SkLumaColorFilter::Make());
25            canvas->saveLayer(nullptr, &lumaFilter);
26
27            canvas->drawColor(SK_ColorTRANSPARENT);
28            SkPaint paint;
29            paint.setColor(SK_ColorGRAY);
30            canvas->drawRect(SkRect{0, 0, 128, 256}, paint);
31        }
32    }
33}
34