OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The Android Open Source Project | 2 * Copyright 2012 The Android Open Source Project |
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 "SkMorphologyImageFilter.h" | 8 #include "SkMorphologyImageFilter.h" |
9 | 9 |
10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
604 | 604 |
605 call_proc_X(procX, inputPixmap, &tmp, width, srcBounds); | 605 call_proc_X(procX, inputPixmap, &tmp, width, srcBounds); |
606 SkIRect tmpBounds = SkIRect::MakeWH(srcBounds.width(), srcBounds.height(
)); | 606 SkIRect tmpBounds = SkIRect::MakeWH(srcBounds.width(), srcBounds.height(
)); |
607 call_proc_Y(procY, | 607 call_proc_Y(procY, |
608 tmp.getAddr32(tmpBounds.left(), tmpBounds.top()), tmp.rowByt
esAsPixels(), | 608 tmp.getAddr32(tmpBounds.left(), tmpBounds.top()), tmp.rowByt
esAsPixels(), |
609 &dst, height, tmpBounds); | 609 &dst, height, tmpBounds); |
610 } else if (width > 0) { | 610 } else if (width > 0) { |
611 call_proc_X(procX, inputPixmap, &dst, width, srcBounds); | 611 call_proc_X(procX, inputPixmap, &dst, width, srcBounds); |
612 } else if (height > 0) { | 612 } else if (height > 0) { |
613 call_proc_Y(procY, | 613 call_proc_Y(procY, |
614 inputPixmap.addr32(srcBounds.left(), srcBounds.top()), | 614 inputPixmap.addr32(srcBounds.left(), srcBounds.top()), |
615 inputPixmap.rowBytesAsPixels(), | 615 inputPixmap.rowBytesAsPixels(), |
616 &dst, height, srcBounds); | 616 &dst, height, srcBounds); |
617 } | 617 } |
618 offset->fX = bounds.left(); | 618 offset->fX = bounds.left(); |
619 offset->fY = bounds.top(); | 619 offset->fY = bounds.top(); |
620 | 620 |
621 return SkSpecialImage::MakeFromRaster(source->internal_getProxy(), | 621 return SkSpecialImage::MakeFromRaster(source->internal_getProxy(), |
622 SkIRect::MakeWH(bounds.width(), bounds
.height()), | 622 SkIRect::MakeWH(bounds.width(), bounds
.height()), |
623 dst); | 623 dst); |
624 } | 624 } |
625 | 625 |
626 sk_sp<SkSpecialImage> SkDilateImageFilter::onFilterImage(SkSpecialImage* source,
const Context& ctx, | 626 sk_sp<SkSpecialImage> SkDilateImageFilter::onFilterImage(SkSpecialImage* source,
const Context& ctx, |
627 SkIPoint* offset) const
{ | 627 SkIPoint* offset) const
{ |
628 return this->filterImageGeneric(true, source, ctx, offset); | 628 return this->filterImageGeneric(true, source, ctx, offset); |
629 } | 629 } |
630 | 630 |
631 sk_sp<SkSpecialImage> SkErodeImageFilter::onFilterImage(SkSpecialImage* source,
const Context& ctx, | 631 sk_sp<SkSpecialImage> SkErodeImageFilter::onFilterImage(SkSpecialImage* source,
const Context& ctx, |
632 SkIPoint* offset) const
{ | 632 SkIPoint* offset) const
{ |
633 return this->filterImageGeneric(false, source, ctx, offset); | 633 return this->filterImageGeneric(false, source, ctx, offset); |
634 } | 634 } |
635 | |
OLD | NEW |