| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkDropShadowImageFilter.h" | 8 #include "SkDropShadowImageFilter.h" |
| 9 | 9 |
| 10 #include "SkBlurImageFilter.h" | 10 #include "SkBlurImageFilter.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 canvas->clear(0x0); | 88 canvas->clear(0x0); |
| 89 | 89 |
| 90 SkVector sigma = SkVector::Make(fSigmaX, fSigmaY); | 90 SkVector sigma = SkVector::Make(fSigmaX, fSigmaY); |
| 91 ctx.ctm().mapVectors(&sigma, 1); | 91 ctx.ctm().mapVectors(&sigma, 1); |
| 92 sigma.fX = SkMaxScalar(0, sigma.fX); | 92 sigma.fX = SkMaxScalar(0, sigma.fX); |
| 93 sigma.fY = SkMaxScalar(0, sigma.fY); | 93 sigma.fY = SkMaxScalar(0, sigma.fY); |
| 94 | 94 |
| 95 SkPaint paint; | 95 SkPaint paint; |
| 96 paint.setImageFilter(SkBlurImageFilter::Make(sigma.fX, sigma.fY, nullptr)); | 96 paint.setImageFilter(SkBlurImageFilter::Make(sigma.fX, sigma.fY, nullptr)); |
| 97 paint.setColorFilter(SkColorFilter::MakeModeFilter(fColor, SkXfermode::kSrcI
n_Mode)); | 97 paint.setColorFilter(SkColorFilter::MakeModeFilter(fColor, SkXfermode::kSrcI
n_Mode)); |
| 98 paint.setXfermodeMode(SkXfermode::kSrcOver_Mode); | |
| 99 | 98 |
| 100 SkVector offsetVec = SkVector::Make(fDx, fDy); | 99 SkVector offsetVec = SkVector::Make(fDx, fDy); |
| 101 ctx.ctm().mapVectors(&offsetVec, 1); | 100 ctx.ctm().mapVectors(&offsetVec, 1); |
| 102 | 101 |
| 103 canvas->translate(SkIntToScalar(inputOffset.fX - bounds.fLeft), | 102 canvas->translate(SkIntToScalar(inputOffset.fX - bounds.fLeft), |
| 104 SkIntToScalar(inputOffset.fY - bounds.fTop)); | 103 SkIntToScalar(inputOffset.fY - bounds.fTop)); |
| 105 input->draw(canvas, offsetVec.fX, offsetVec.fY, &paint); | 104 input->draw(canvas, offsetVec.fX, offsetVec.fY, &paint); |
| 106 | 105 |
| 107 if (fShadowMode == kDrawShadowAndForeground_ShadowMode) { | 106 if (fShadowMode == kDrawShadowAndForeground_ShadowMode) { |
| 108 input->draw(canvas, 0, 0, nullptr); | 107 input->draw(canvas, 0, 0, nullptr); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 162 "kDrawShadowAndForeground", "kDrawShadowOnly" | 161 "kDrawShadowAndForeground", "kDrawShadowOnly" |
| 163 }; | 162 }; |
| 164 | 163 |
| 165 static_assert(kShadowModeCount == SK_ARRAY_COUNT(gModeStrings), "enum_mismat
ch"); | 164 static_assert(kShadowModeCount == SK_ARRAY_COUNT(gModeStrings), "enum_mismat
ch"); |
| 166 | 165 |
| 167 str->appendf(" mode: %s", gModeStrings[fShadowMode]); | 166 str->appendf(" mode: %s", gModeStrings[fShadowMode]); |
| 168 | 167 |
| 169 str->append(")"); | 168 str->append(")"); |
| 170 } | 169 } |
| 171 #endif | 170 #endif |
| OLD | NEW |