crbug_918512.cpp 1.2 KB

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