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 |