| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef BaseRenderingContext2D_h | 5 #ifndef BaseRenderingContext2D_h |
| 6 #define BaseRenderingContext2D_h | 6 #define BaseRenderingContext2D_h |
| 7 | 7 |
| 8 #include "bindings/modules/v8/CSSImageValueOrHTMLImageElementOrSVGImageElementOr
HTMLVideoElementOrHTMLCanvasElementOrImageBitmapOrOffscreenCanvas.h" | 8 #include "bindings/modules/v8/CSSImageValueOrHTMLImageElementOrSVGImageElementOr
HTMLVideoElementOrHTMLCanvasElementOrImageBitmapOrOffscreenCanvas.h" |
| 9 #include "bindings/modules/v8/StringOrCanvasGradientOrCanvasPattern.h" | 9 #include "bindings/modules/v8/StringOrCanvasGradientOrCanvasPattern.h" |
| 10 #include "core/html/ImageData.h" | 10 #include "core/html/ImageData.h" |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 if (filter) { | 469 if (filter) { |
| 470 PaintFlags foreground_flags = | 470 PaintFlags foreground_flags = |
| 471 *GetState().GetFlags(paint_type, kDrawForegroundOnly, image_type); | 471 *GetState().GetFlags(paint_type, kDrawForegroundOnly, image_type); |
| 472 foreground_flags.setImageFilter(SkComposeImageFilter::Make( | 472 foreground_flags.setImageFilter(SkComposeImageFilter::Make( |
| 473 SkComposeImageFilter::Make(foreground_flags.refImageFilter(), | 473 SkComposeImageFilter::Make(foreground_flags.refImageFilter(), |
| 474 shadow_flags.refImageFilter()), | 474 shadow_flags.refImageFilter()), |
| 475 filter)); | 475 filter)); |
| 476 c->setMatrix(ctm); | 476 c->setMatrix(ctm); |
| 477 draw_func(c, &foreground_flags); | 477 draw_func(c, &foreground_flags); |
| 478 } else { | 478 } else { |
| 479 ASSERT(IsFullCanvasCompositeMode(GetState().GlobalComposite())); | 479 DCHECK(IsFullCanvasCompositeMode(GetState().GlobalComposite())); |
| 480 c->saveLayer(nullptr, &composite_flags); | 480 c->saveLayer(nullptr, &composite_flags); |
| 481 shadow_flags.setBlendMode(SkBlendMode::kSrcOver); | 481 shadow_flags.setBlendMode(SkBlendMode::kSrcOver); |
| 482 c->setMatrix(ctm); | 482 c->setMatrix(ctm); |
| 483 draw_func(c, &shadow_flags); | 483 draw_func(c, &shadow_flags); |
| 484 } | 484 } |
| 485 c->restoreToCount(save_count); | 485 c->restoreToCount(save_count); |
| 486 } | 486 } |
| 487 | 487 |
| 488 composite_flags.setImageFilter(std::move(filter)); | 488 composite_flags.setImageFilter(std::move(filter)); |
| 489 c->saveLayer(nullptr, &composite_flags); | 489 c->saveLayer(nullptr, &composite_flags); |
| 490 PaintFlags foreground_flags = | 490 PaintFlags foreground_flags = |
| 491 *GetState().GetFlags(paint_type, kDrawForegroundOnly, image_type); | 491 *GetState().GetFlags(paint_type, kDrawForegroundOnly, image_type); |
| 492 foreground_flags.setBlendMode(SkBlendMode::kSrcOver); | 492 foreground_flags.setBlendMode(SkBlendMode::kSrcOver); |
| 493 c->setMatrix(ctm); | 493 c->setMatrix(ctm); |
| 494 draw_func(c, &foreground_flags); | 494 draw_func(c, &foreground_flags); |
| 495 c->restore(); | 495 c->restore(); |
| 496 c->setMatrix(ctm); | 496 c->setMatrix(ctm); |
| 497 } | 497 } |
| 498 | 498 |
| 499 } // namespace blink | 499 } // namespace blink |
| 500 | 500 |
| 501 #endif // BaseRenderingContext2D_h | 501 #endif // BaseRenderingContext2D_h |
| OLD | NEW |