| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 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 | 8 |
| 9 | 9 |
| 10 #include "SkImageDecoder.h" | 10 #include "SkImageDecoder.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 { | 104 { |
| 105 wbmp_head head; | 105 wbmp_head head; |
| 106 | 106 |
| 107 if (!head.init(stream)) { | 107 if (!head.init(stream)) { |
| 108 return false; | 108 return false; |
| 109 } | 109 } |
| 110 | 110 |
| 111 int width = head.fWidth; | 111 int width = head.fWidth; |
| 112 int height = head.fHeight; | 112 int height = head.fHeight; |
| 113 | 113 |
| 114 if (SkImageDecoder::kDecodeBounds_Mode == mode) { | |
| 115 decodedBitmap->setConfig(SkBitmap::kIndex8_Config, width, height); | |
| 116 decodedBitmap->setIsOpaque(true); | |
| 117 return true; | |
| 118 } | |
| 119 | |
| 120 // No Bitmap reuse supported for this format | |
| 121 if (!decodedBitmap->isNull()) { | |
| 122 return false; | |
| 123 } | |
| 124 | |
| 125 decodedBitmap->setConfig(SkBitmap::kIndex8_Config, width, height); | 114 decodedBitmap->setConfig(SkBitmap::kIndex8_Config, width, height); |
| 126 decodedBitmap->setIsOpaque(true); | 115 decodedBitmap->setIsOpaque(true); |
| 127 | 116 |
| 117 if (SkImageDecoder::kDecodeBounds_Mode == mode) { |
| 118 return true; |
| 119 } |
| 120 |
| 128 const SkPMColor colors[] = { SK_ColorBLACK, SK_ColorWHITE }; | 121 const SkPMColor colors[] = { SK_ColorBLACK, SK_ColorWHITE }; |
| 129 SkColorTable* ct = SkNEW_ARGS(SkColorTable, (colors, 2)); | 122 SkColorTable* ct = SkNEW_ARGS(SkColorTable, (colors, 2)); |
| 130 SkAutoUnref aur(ct); | 123 SkAutoUnref aur(ct); |
| 131 | 124 |
| 132 if (!this->allocPixelRef(decodedBitmap, ct)) { | 125 if (!this->allocPixelRef(decodedBitmap, ct)) { |
| 133 return false; | 126 return false; |
| 134 } | 127 } |
| 135 | 128 |
| 136 SkAutoLockPixels alp(*decodedBitmap); | 129 SkAutoLockPixels alp(*decodedBitmap); |
| 137 | 130 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 173 static SkImageDecoder::Format get_format_wbmp(SkStream* stream) { | 166 static SkImageDecoder::Format get_format_wbmp(SkStream* stream) { |
| 174 wbmp_head head; | 167 wbmp_head head; |
| 175 if (head.init(stream)) { | 168 if (head.init(stream)) { |
| 176 return SkImageDecoder::kWBMP_Format; | 169 return SkImageDecoder::kWBMP_Format; |
| 177 } | 170 } |
| 178 return SkImageDecoder::kUnknown_Format; | 171 return SkImageDecoder::kUnknown_Format; |
| 179 } | 172 } |
| 180 | 173 |
| 181 static SkTRegistry<SkImageDecoder*, SkStream*> gReg(sk_wbmp_dfactory); | 174 static SkTRegistry<SkImageDecoder*, SkStream*> gReg(sk_wbmp_dfactory); |
| 182 static SkTRegistry<SkImageDecoder::Format, SkStream*> gFormatReg(get_format_wbmp
); | 175 static SkTRegistry<SkImageDecoder::Format, SkStream*> gFormatReg(get_format_wbmp
); |
| OLD | NEW |