| OLD | NEW |
| 1 #include "SkKernel33MaskFilter.h" | 1 #include "SkKernel33MaskFilter.h" |
| 2 #include "SkColorPriv.h" | 2 #include "SkColorPriv.h" |
| 3 | 3 |
| 4 SkMask::Format SkKernel33ProcMaskFilter::getFormat() | 4 SkMask::Format SkKernel33ProcMaskFilter::getFormat() |
| 5 { | 5 { |
| 6 return SkMask::kA8_Format; | 6 return SkMask::kA8_Format; |
| 7 } | 7 } |
| 8 | 8 |
| 9 bool SkKernel33ProcMaskFilter::filterMask(SkMask* dst, const SkMask& src, const
SkMatrix&, SkIPoint* margin) | 9 bool SkKernel33ProcMaskFilter::filterMask(SkMask* dst, const SkMask& src, const
SkMatrix&, SkIPoint* margin) |
| 10 { | 10 { |
| 11 // margin??? | 11 // margin??? |
| 12 dst->fImage = NULL; | 12 dst->fImage = NULL; |
| 13 dst->fBounds = src.fBounds; | 13 dst->fBounds = src.fBounds; |
| 14 dst->fBounds.inset(-1, -1); | 14 dst->fBounds.inset(-1, -1); |
| 15 dst->fFormat = SkMask::kA8_Format; | 15 dst->fFormat = SkMask::kA8_Format; |
| 16 | 16 |
| 17 if (NULL == src.fImage) | 17 if (NULL == src.fImage) |
| 18 return true; | 18 return true; |
| 19 | 19 |
| 20 dst->fRowBytes = dst->fBounds.width(); | 20 dst->fRowBytes = dst->fBounds.width(); |
| 21 size_t size = dst->computeImageSize(); | 21 size_t size = dst->computeImageSize(); |
| 22 if (0 == size) { |
| 23 return false; // too big to allocate, abort |
| 24 } |
| 22 dst->fImage = SkMask::AllocImage(size); | 25 dst->fImage = SkMask::AllocImage(size); |
| 23 | 26 |
| 24 const int h = src.fBounds.height(); | 27 const int h = src.fBounds.height(); |
| 25 const int w = src.fBounds.width(); | 28 const int w = src.fBounds.width(); |
| 26 const int srcRB = src.fRowBytes; | 29 const int srcRB = src.fRowBytes; |
| 27 const uint8_t* srcImage = src.fImage; | 30 const uint8_t* srcImage = src.fImage; |
| 28 uint8_t* dstImage = dst->fImage; | 31 uint8_t* dstImage = dst->fImage; |
| 29 | 32 |
| 30 uint8_t* srcRows[3]; | 33 uint8_t* srcRows[3]; |
| 31 uint8_t storage[3][3]; | 34 uint8_t storage[3][3]; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 return new SkKernel33MaskFilter(rb); | 116 return new SkKernel33MaskFilter(rb); |
| 114 } | 117 } |
| 115 | 118 |
| 116 SkKernel33MaskFilter::SkKernel33MaskFilter(SkFlattenableReadBuffer& rb) | 119 SkKernel33MaskFilter::SkKernel33MaskFilter(SkFlattenableReadBuffer& rb) |
| 117 : SkKernel33ProcMaskFilter(rb) | 120 : SkKernel33ProcMaskFilter(rb) |
| 118 { | 121 { |
| 119 rb.read(fKernel, 9 * sizeof(int)); | 122 rb.read(fKernel, 9 * sizeof(int)); |
| 120 fShift = rb.readS32(); | 123 fShift = rb.readS32(); |
| 121 } | 124 } |
| 122 | 125 |
| OLD | NEW |