OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "modules/canvas2d/CanvasRenderingContext2DState.h" | 5 #include "modules/canvas2d/CanvasRenderingContext2DState.h" |
6 | 6 |
7 #include "core/css/CSSFontSelector.h" | 7 #include "core/css/CSSFontSelector.h" |
8 #include "core/css/resolver/FilterOperationResolver.h" | 8 #include "core/css/resolver/FilterOperationResolver.h" |
9 #include "core/css/resolver/StyleBuilder.h" | 9 #include "core/css/resolver/StyleBuilder.h" |
10 #include "core/css/resolver/StyleResolverState.h" | 10 #include "core/css/resolver/StyleResolverState.h" |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 { | 392 { |
393 if (!m_shadowAndForegroundImageFilter) { | 393 if (!m_shadowAndForegroundImageFilter) { |
394 double sigma = skBlurRadiusToSigma(m_shadowBlur); | 394 double sigma = skBlurRadiusToSigma(m_shadowBlur); |
395 m_shadowAndForegroundImageFilter = SkDropShadowImageFilter::Make(m_shado
wOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropSha
dowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr); | 395 m_shadowAndForegroundImageFilter = SkDropShadowImageFilter::Make(m_shado
wOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropSha
dowImageFilter::kDrawShadowAndForeground_ShadowMode, nullptr); |
396 } | 396 } |
397 return m_shadowAndForegroundImageFilter.get(); | 397 return m_shadowAndForegroundImageFilter.get(); |
398 } | 398 } |
399 | 399 |
400 void CanvasRenderingContext2DState::shadowParameterChanged() | 400 void CanvasRenderingContext2DState::shadowParameterChanged() |
401 { | 401 { |
402 m_shadowOnlyDrawLooper.clear(); | 402 m_shadowOnlyDrawLooper.reset(); |
403 m_shadowAndForegroundDrawLooper.clear(); | 403 m_shadowAndForegroundDrawLooper.reset(); |
404 m_shadowOnlyImageFilter.reset(); | 404 m_shadowOnlyImageFilter.reset(); |
405 m_shadowAndForegroundImageFilter.reset(); | 405 m_shadowAndForegroundImageFilter.reset(); |
406 } | 406 } |
407 | 407 |
408 void CanvasRenderingContext2DState::setShadowOffsetX(double x) | 408 void CanvasRenderingContext2DState::setShadowOffsetX(double x) |
409 { | 409 { |
410 m_shadowOffset.setWidth(x); | 410 m_shadowOffset.setWidth(x); |
411 shadowParameterChanged(); | 411 shadowParameterChanged(); |
412 } | 412 } |
413 | 413 |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 paint->setLooper(0); | 562 paint->setLooper(0); |
563 paint->setImageFilter(shadowAndForegroundImageFilter()); | 563 paint->setImageFilter(shadowAndForegroundImageFilter()); |
564 return paint; | 564 return paint; |
565 } | 565 } |
566 paint->setLooper(sk_ref_sp(shadowAndForegroundDrawLooper())); | 566 paint->setLooper(sk_ref_sp(shadowAndForegroundDrawLooper())); |
567 paint->setImageFilter(0); | 567 paint->setImageFilter(0); |
568 return paint; | 568 return paint; |
569 } | 569 } |
570 | 570 |
571 } // namespace blink | 571 } // namespace blink |
OLD | NEW |