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 |