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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "modules/canvas2d/CanvasRenderingContext2DState.h" | 7 #include "modules/canvas2d/CanvasRenderingContext2DState.h" |
8 | 8 |
9 #include "core/css/CSSFontSelector.h" | 9 #include "core/css/CSSFontSelector.h" |
10 #include "core/css/resolver/FilterOperationResolver.h" | 10 #include "core/css/resolver/FilterOperationResolver.h" |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 drawLooperBuilder->addShadow(m_shadowOffset, m_shadowBlur, m_shadowColor
, DrawLooperBuilder::ShadowIgnoresTransforms, DrawLooperBuilder::ShadowRespectsA
lpha); | 380 drawLooperBuilder->addShadow(m_shadowOffset, m_shadowBlur, m_shadowColor
, DrawLooperBuilder::ShadowIgnoresTransforms, DrawLooperBuilder::ShadowRespectsA
lpha); |
381 m_shadowOnlyDrawLooper = drawLooperBuilder->detachDrawLooper(); | 381 m_shadowOnlyDrawLooper = drawLooperBuilder->detachDrawLooper(); |
382 } | 382 } |
383 return m_shadowOnlyDrawLooper.get(); | 383 return m_shadowOnlyDrawLooper.get(); |
384 } | 384 } |
385 | 385 |
386 SkDrawLooper* CanvasRenderingContext2DState::shadowAndForegroundDrawLooper() con
st | 386 SkDrawLooper* CanvasRenderingContext2DState::shadowAndForegroundDrawLooper() con
st |
387 { | 387 { |
388 if (!m_shadowAndForegroundDrawLooper) { | 388 if (!m_shadowAndForegroundDrawLooper) { |
389 OwnPtr<DrawLooperBuilder> drawLooperBuilder = DrawLooperBuilder::create(
); | 389 OwnPtr<DrawLooperBuilder> drawLooperBuilder = DrawLooperBuilder::create(
); |
| 390 drawLooperBuilder->addUnmodifiedContent(); |
390 drawLooperBuilder->addShadow(m_shadowOffset, m_shadowBlur, m_shadowColor
, DrawLooperBuilder::ShadowIgnoresTransforms, DrawLooperBuilder::ShadowRespectsA
lpha); | 391 drawLooperBuilder->addShadow(m_shadowOffset, m_shadowBlur, m_shadowColor
, DrawLooperBuilder::ShadowIgnoresTransforms, DrawLooperBuilder::ShadowRespectsA
lpha); |
391 drawLooperBuilder->addUnmodifiedContent(); | |
392 m_shadowAndForegroundDrawLooper = drawLooperBuilder->detachDrawLooper(); | 392 m_shadowAndForegroundDrawLooper = drawLooperBuilder->detachDrawLooper(); |
393 } | 393 } |
394 return m_shadowAndForegroundDrawLooper.get(); | 394 return m_shadowAndForegroundDrawLooper.get(); |
395 } | 395 } |
396 | 396 |
397 SkImageFilter* CanvasRenderingContext2DState::shadowOnlyImageFilter() const | 397 SkImageFilter* CanvasRenderingContext2DState::shadowOnlyImageFilter() const |
398 { | 398 { |
399 if (!m_shadowOnlyImageFilter) { | 399 if (!m_shadowOnlyImageFilter) { |
400 float sigma = skBlurRadiusToSigma(m_shadowBlur); | 400 float sigma = skBlurRadiusToSigma(m_shadowBlur); |
401 m_shadowOnlyImageFilter = adoptRef(SkDropShadowImageFilter::Create(m_sha
dowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropS
hadowImageFilter::kDrawShadowOnly_ShadowMode)); | 401 m_shadowOnlyImageFilter = adoptRef(SkDropShadowImageFilter::Create(m_sha
dowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropS
hadowImageFilter::kDrawShadowOnly_ShadowMode)); |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 paint->setLooper(0); | 533 paint->setLooper(0); |
534 paint->setImageFilter(shadowAndForegroundImageFilter()); | 534 paint->setImageFilter(shadowAndForegroundImageFilter()); |
535 return paint; | 535 return paint; |
536 } | 536 } |
537 paint->setLooper(shadowAndForegroundDrawLooper()); | 537 paint->setLooper(shadowAndForegroundDrawLooper()); |
538 paint->setImageFilter(0); | 538 paint->setImageFilter(0); |
539 return paint; | 539 return paint; |
540 } | 540 } |
541 | 541 |
542 } // blink | 542 } // blink |
OLD | NEW |