| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
| 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 #include "SkKernel33MaskFilter.h" | 8 #include "SkKernel33MaskFilter.h" |
| 9 #include "SkColorPriv.h" | 9 #include "SkColorPriv.h" |
| 10 #include "SkFlattenableBuffers.h" | 10 #include "SkReadBuffer.h" |
| 11 #include "SkWriteBuffer.h" |
| 11 #include "SkString.h" | 12 #include "SkString.h" |
| 12 | 13 |
| 13 SkMask::Format SkKernel33ProcMaskFilter::getFormat() const { | 14 SkMask::Format SkKernel33ProcMaskFilter::getFormat() const { |
| 14 return SkMask::kA8_Format; | 15 return SkMask::kA8_Format; |
| 15 } | 16 } |
| 16 | 17 |
| 17 bool SkKernel33ProcMaskFilter::filterMask(SkMask* dst, const SkMask& src, | 18 bool SkKernel33ProcMaskFilter::filterMask(SkMask* dst, const SkMask& src, |
| 18 const SkMatrix&, SkIPoint* margin) const { | 19 const SkMatrix&, SkIPoint* margin) const { |
| 19 // margin??? | 20 // margin??? |
| 20 dst->fImage = NULL; | 21 dst->fImage = NULL; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 if (scale < 256) { | 69 if (scale < 256) { |
| 69 value = SkAlphaBlend(value, srcRows[1][1], scale); | 70 value = SkAlphaBlend(value, srcRows[1][1], scale); |
| 70 } | 71 } |
| 71 *dstRow++ = SkToU8(value); | 72 *dstRow++ = SkToU8(value); |
| 72 } | 73 } |
| 73 dstImage += dst->fRowBytes; | 74 dstImage += dst->fRowBytes; |
| 74 } | 75 } |
| 75 return true; | 76 return true; |
| 76 } | 77 } |
| 77 | 78 |
| 78 void SkKernel33ProcMaskFilter::flatten(SkFlattenableWriteBuffer& wb) const { | 79 void SkKernel33ProcMaskFilter::flatten(SkWriteBuffer& wb) const { |
| 79 this->INHERITED::flatten(wb); | 80 this->INHERITED::flatten(wb); |
| 80 wb.writeInt(fPercent256); | 81 wb.writeInt(fPercent256); |
| 81 } | 82 } |
| 82 | 83 |
| 83 SkKernel33ProcMaskFilter::SkKernel33ProcMaskFilter(SkFlattenableReadBuffer& rb) | 84 SkKernel33ProcMaskFilter::SkKernel33ProcMaskFilter(SkReadBuffer& rb) |
| 84 : SkMaskFilter(rb) { | 85 : SkMaskFilter(rb) { |
| 85 fPercent256 = rb.readInt(); | 86 fPercent256 = rb.readInt(); |
| 86 } | 87 } |
| 87 | 88 |
| 88 #ifdef SK_DEVELOPER | 89 #ifdef SK_DEVELOPER |
| 89 void SkKernel33ProcMaskFilter::toString(SkString* str) const { | 90 void SkKernel33ProcMaskFilter::toString(SkString* str) const { |
| 90 str->appendf("percent256: %d, ", fPercent256); | 91 str->appendf("percent256: %d, ", fPercent256); |
| 91 } | 92 } |
| 92 #endif | 93 #endif |
| 93 | 94 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 105 value >>= fShift; | 106 value >>= fShift; |
| 106 | 107 |
| 107 if (value < 0) { | 108 if (value < 0) { |
| 108 value = 0; | 109 value = 0; |
| 109 } else if (value > 255) { | 110 } else if (value > 255) { |
| 110 value = 255; | 111 value = 255; |
| 111 } | 112 } |
| 112 return (uint8_t)value; | 113 return (uint8_t)value; |
| 113 } | 114 } |
| 114 | 115 |
| 115 void SkKernel33MaskFilter::flatten(SkFlattenableWriteBuffer& wb) const { | 116 void SkKernel33MaskFilter::flatten(SkWriteBuffer& wb) const { |
| 116 this->INHERITED::flatten(wb); | 117 this->INHERITED::flatten(wb); |
| 117 wb.writeIntArray(&fKernel[0][0], 9); | 118 wb.writeIntArray(&fKernel[0][0], 9); |
| 118 wb.writeInt(fShift); | 119 wb.writeInt(fShift); |
| 119 } | 120 } |
| 120 | 121 |
| 121 SkKernel33MaskFilter::SkKernel33MaskFilter(SkFlattenableReadBuffer& rb) | 122 SkKernel33MaskFilter::SkKernel33MaskFilter(SkReadBuffer& rb) |
| 122 : SkKernel33ProcMaskFilter(rb) { | 123 : SkKernel33ProcMaskFilter(rb) { |
| 123 SkDEBUGCODE(bool success = )rb.readIntArray(&fKernel[0][0], 9); | 124 SkDEBUGCODE(bool success = )rb.readIntArray(&fKernel[0][0], 9); |
| 124 SkASSERT(success); | 125 SkASSERT(success); |
| 125 fShift = rb.readInt(); | 126 fShift = rb.readInt(); |
| 126 } | 127 } |
| 127 | 128 |
| 128 #ifdef SK_DEVELOPER | 129 #ifdef SK_DEVELOPER |
| 129 void SkKernel33MaskFilter::toString(SkString* str) const { | 130 void SkKernel33MaskFilter::toString(SkString* str) const { |
| 130 str->append("SkKernel33MaskFilter: ("); | 131 str->append("SkKernel33MaskFilter: ("); |
| 131 | 132 |
| 132 str->appendf("kernel: (%d, %d, %d, %d, %d, %d, %d, %d, %d), ", | 133 str->appendf("kernel: (%d, %d, %d, %d, %d, %d, %d, %d, %d), ", |
| 133 fKernel[0][0], fKernel[0][1], fKernel[0][2], | 134 fKernel[0][0], fKernel[0][1], fKernel[0][2], |
| 134 fKernel[1][0], fKernel[1][1], fKernel[1][2], | 135 fKernel[1][0], fKernel[1][1], fKernel[1][2], |
| 135 fKernel[2][0], fKernel[2][1], fKernel[2][2]); | 136 fKernel[2][0], fKernel[2][1], fKernel[2][2]); |
| 136 str->appendf("shift: %d, ", fShift); | 137 str->appendf("shift: %d, ", fShift); |
| 137 | 138 |
| 138 this->INHERITED::toString(str); | 139 this->INHERITED::toString(str); |
| 139 | 140 |
| 140 str->append(")"); | 141 str->append(")"); |
| 141 } | 142 } |
| 142 #endif | 143 #endif |
| OLD | NEW |