Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: src/codec/SkCodec_wbmp.cpp

Issue 1445643002: Make SkAndroidCodec support wbmp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/codec/SkAndroidCodec.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
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 "SkCodec.h" 8 #include "SkCodec.h"
9 #include "SkCodecPriv.h" 9 #include "SkCodecPriv.h"
10 #include "SkColorPriv.h" 10 #include "SkColorPriv.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 return y; 162 return y;
163 } 163 }
164 fSwizzler->swizzle(dstRow, fSrcBuffer.get()); 164 fSwizzler->swizzle(dstRow, fSrcBuffer.get());
165 dstRow = SkTAddOffset<void>(dstRow, dstRowBytes); 165 dstRow = SkTAddOffset<void>(dstRow, dstRowBytes);
166 } 166 }
167 return count; 167 return count;
168 } 168 }
169 169
170 SkCodec::Result SkWbmpCodec::onStartScanlineDecode(const SkImageInfo& dstInfo, 170 SkCodec::Result SkWbmpCodec::onStartScanlineDecode(const SkImageInfo& dstInfo,
171 const Options& options, SkPMColor inputColorTable[], int* inputColorCoun t) { 171 const Options& options, SkPMColor inputColorTable[], int* inputColorCoun t) {
172 if (options.fSubset) {
msarett 2015/11/13 18:52:44 You could argue that this goes too far. Instead,
scroggo 2015/11/16 14:31:35 It seems like this doesn't get us any closer to su
msarett 2015/11/16 14:46:37 sgtm
173 // Subsets are not supported.
174 return kUnimplemented;
175 }
176
177 if (!valid_alpha(dstInfo.alphaType(), this->getInfo().alphaType())) { 172 if (!valid_alpha(dstInfo.alphaType(), this->getInfo().alphaType())) {
178 return kInvalidConversion; 173 return kInvalidConversion;
179 } 174 }
180 175
181 // Fill in the color table 176 // Fill in the color table
182 setup_color_table(dstInfo.colorType(), inputColorTable, inputColorCount); 177 setup_color_table(dstInfo.colorType(), inputColorTable, inputColorCount);
183 178
184 // Copy the color table to a pointer that can be owned by the scanline decod er 179 // Copy the color table to a pointer that can be owned by the scanline decod er
185 if (kIndex_8_SkColorType == dstInfo.colorType()) { 180 if (kIndex_8_SkColorType == dstInfo.colorType()) {
186 fColorTable.reset(new SkColorTable(inputColorTable, 2)); 181 fColorTable.reset(new SkColorTable(inputColorTable, 2));
187 } 182 }
188 183
189 // Initialize the swizzler 184 // Initialize the swizzler
190 fSwizzler.reset(this->initializeSwizzler(dstInfo, get_color_ptr(fColorTable. get()), options)); 185 fSwizzler.reset(this->initializeSwizzler(dstInfo, get_color_ptr(fColorTable. get()), options));
191 if (nullptr == fSwizzler.get()) { 186 if (nullptr == fSwizzler.get()) {
192 return kInvalidConversion; 187 return kInvalidConversion;
193 } 188 }
194 189
195 fSrcBuffer.reset(fSrcRowBytes); 190 fSrcBuffer.reset(fSrcRowBytes);
196 191
197 return kSuccess; 192 return kSuccess;
198 } 193 }
OLDNEW
« no previous file with comments | « src/codec/SkAndroidCodec.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698