| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "SkBlurMaskFilter.h" | 9 #include "SkBlurMaskFilter.h" |
| 10 #include "SkBlurMask.h" | 10 #include "SkBlurMask.h" |
| (...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 if (smallR[0].width() < 2 || smallR[0].height() < 2) { | 545 if (smallR[0].width() < 2 || smallR[0].height() < 2) { |
| 546 return kUnimplemented_FilterReturn; | 546 return kUnimplemented_FilterReturn; |
| 547 } | 547 } |
| 548 if (2 == count) { | 548 if (2 == count) { |
| 549 smallR[1].set(rects[1].left(), rects[1].top(), | 549 smallR[1].set(rects[1].left(), rects[1].top(), |
| 550 rects[1].right() - dx, rects[1].bottom() - dy); | 550 rects[1].right() - dx, rects[1].bottom() - dy); |
| 551 SkASSERT(!smallR[1].isEmpty()); | 551 SkASSERT(!smallR[1].isEmpty()); |
| 552 } | 552 } |
| 553 | 553 |
| 554 const SkScalar sigma = this->computeXformedSigma(matrix); | 554 const SkScalar sigma = this->computeXformedSigma(matrix); |
| 555 if (!find_cached_rects(&patch->fMask, sigma, fBlurStyle, this->getQuality(),
rects, count)) { | 555 if (!find_cached_rects(&patch->fMask, sigma, fBlurStyle, this->getQuality(),
smallR, count)) { |
| 556 if (count > 1 || !c_analyticBlurNinepatch) { | 556 if (count > 1 || !c_analyticBlurNinepatch) { |
| 557 if (!draw_rects_into_mask(smallR, count, &srcM)) { | 557 if (!draw_rects_into_mask(smallR, count, &srcM)) { |
| 558 return kFalse_FilterReturn; | 558 return kFalse_FilterReturn; |
| 559 } | 559 } |
| 560 | 560 |
| 561 SkAutoMaskFreeImage amf(srcM.fImage); | 561 SkAutoMaskFreeImage amf(srcM.fImage); |
| 562 | 562 |
| 563 if (!this->filterMask(&patch->fMask, srcM, matrix, &margin)) { | 563 if (!this->filterMask(&patch->fMask, srcM, matrix, &margin)) { |
| 564 return kFalse_FilterReturn; | 564 return kFalse_FilterReturn; |
| 565 } | 565 } |
| 566 } else { | 566 } else { |
| 567 if (!this->filterRectMask(&patch->fMask, smallR[0], matrix, &margin, | 567 if (!this->filterRectMask(&patch->fMask, smallR[0], matrix, &margin, |
| 568 SkMask::kComputeBoundsAndRenderImage_Creat
eMode)) { | 568 SkMask::kComputeBoundsAndRenderImage_Creat
eMode)) { |
| 569 return kFalse_FilterReturn; | 569 return kFalse_FilterReturn; |
| 570 } | 570 } |
| 571 } | 571 } |
| 572 add_cached_rects(patch->fMask, sigma, fBlurStyle, this->getQuality(), re
cts, count); | 572 add_cached_rects(patch->fMask, sigma, fBlurStyle, this->getQuality(), sm
allR, count); |
| 573 } | 573 } |
| 574 patch->fMask.fBounds.offsetTo(0, 0); | 574 patch->fMask.fBounds.offsetTo(0, 0); |
| 575 patch->fOuterRect = dstM.fBounds; | 575 patch->fOuterRect = dstM.fBounds; |
| 576 patch->fCenter = center; | 576 patch->fCenter = center; |
| 577 return kTrue_FilterReturn; | 577 return kTrue_FilterReturn; |
| 578 } | 578 } |
| 579 | 579 |
| 580 void SkBlurMaskFilterImpl::computeFastBounds(const SkRect& src, | 580 void SkBlurMaskFilterImpl::computeFastBounds(const SkRect& src, |
| 581 SkRect* dst) const { | 581 SkRect* dst) const { |
| 582 SkScalar pad = 3.0f * fSigma; | 582 SkScalar pad = 3.0f * fSigma; |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1279 } else { | 1279 } else { |
| 1280 str->append("None"); | 1280 str->append("None"); |
| 1281 } | 1281 } |
| 1282 str->append("))"); | 1282 str->append("))"); |
| 1283 } | 1283 } |
| 1284 #endif | 1284 #endif |
| 1285 | 1285 |
| 1286 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter) | 1286 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter) |
| 1287 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl) | 1287 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl) |
| 1288 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 1288 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |