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

Side by Side Diff: src/core/SkBitmap.cpp

Issue 310283004: remove SkBitmap::allocConfigPixels and update dox (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove unused function Created 6 years, 6 months 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
« include/core/SkBitmap.h ('K') | « include/core/SkBitmap.h ('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 /* 2 /*
3 * Copyright 2008 The Android Open Source Project 3 * Copyright 2008 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 "SkBitmap.h" 10 #include "SkBitmap.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 88
89 void SkBitmap::reset() { 89 void SkBitmap::reset() {
90 this->freePixels(); 90 this->freePixels();
91 sk_bzero(this, sizeof(*this)); 91 sk_bzero(this, sizeof(*this));
92 } 92 }
93 93
94 SkBitmap::Config SkBitmap::config() const { 94 SkBitmap::Config SkBitmap::config() const {
95 return SkColorTypeToBitmapConfig(fInfo.colorType()); 95 return SkColorTypeToBitmapConfig(fInfo.colorType());
96 } 96 }
97 97
98 #ifdef SK_SUPPORT_LEGACY_COMPUTE_CONFIG_SIZE
98 int SkBitmap::ComputeBytesPerPixel(SkBitmap::Config config) { 99 int SkBitmap::ComputeBytesPerPixel(SkBitmap::Config config) {
99 int bpp; 100 int bpp;
100 switch (config) { 101 switch (config) {
101 case kNo_Config: 102 case kNo_Config:
102 bpp = 0; // not applicable 103 bpp = 0; // not applicable
103 break; 104 break;
104 case kA8_Config: 105 case kA8_Config:
105 case kIndex8_Config: 106 case kIndex8_Config:
106 bpp = 1; 107 bpp = 1;
107 break; 108 break;
(...skipping 19 matching lines...) Expand all
127 int64_t SkBitmap::ComputeSize64(Config config, int width, int height) { 128 int64_t SkBitmap::ComputeSize64(Config config, int width, int height) {
128 SkColorType ct = SkBitmapConfigToColorType(config); 129 SkColorType ct = SkBitmapConfigToColorType(config);
129 int64_t rowBytes = sk_64_mul(SkColorTypeBytesPerPixel(ct), width); 130 int64_t rowBytes = sk_64_mul(SkColorTypeBytesPerPixel(ct), width);
130 return rowBytes * height; 131 return rowBytes * height;
131 } 132 }
132 133
133 size_t SkBitmap::ComputeSize(Config c, int width, int height) { 134 size_t SkBitmap::ComputeSize(Config c, int width, int height) {
134 int64_t size = SkBitmap::ComputeSize64(c, width, height); 135 int64_t size = SkBitmap::ComputeSize64(c, width, height);
135 return sk_64_isS32(size) ? sk_64_asS32(size) : 0; 136 return sk_64_isS32(size) ? sk_64_asS32(size) : 0;
136 } 137 }
137 138 #endif
138 int64_t SkBitmap::ComputeSafeSize64(Config config,
139 uint32_t width,
140 uint32_t height,
141 size_t rowBytes) {
142 SkImageInfo info = SkImageInfo::Make(width, height,
143 SkBitmapConfigToColorType(config),
144 kPremul_SkAlphaType);
145 return info.getSafeSize64(rowBytes);
146 }
147
148 size_t SkBitmap::ComputeSafeSize(Config config,
149 uint32_t width,
150 uint32_t height,
151 size_t rowBytes) {
152 int64_t safeSize = ComputeSafeSize64(config, width, height, rowBytes);
153 int32_t safeSize32 = (int32_t)safeSize;
154
155 if (safeSize32 != safeSize) {
156 safeSize32 = 0;
157 }
158 return safeSize32;
159 }
160 139
161 void SkBitmap::getBounds(SkRect* bounds) const { 140 void SkBitmap::getBounds(SkRect* bounds) const {
162 SkASSERT(bounds); 141 SkASSERT(bounds);
163 bounds->set(0, 0, 142 bounds->set(0, 0,
164 SkIntToScalar(fInfo.fWidth), SkIntToScalar(fInfo.fHeight)); 143 SkIntToScalar(fInfo.fWidth), SkIntToScalar(fInfo.fHeight));
165 } 144 }
166 145
167 void SkBitmap::getBounds(SkIRect* bounds) const { 146 void SkBitmap::getBounds(SkIRect* bounds) const {
168 SkASSERT(bounds); 147 SkASSERT(bounds);
169 bounds->set(0, 0, fInfo.fWidth, fInfo.fHeight); 148 bounds->set(0, 0, fInfo.fWidth, fInfo.fHeight);
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 fPixels = p; 250 fPixels = p;
272 fColorTable = fPixelRef->colorTable(); 251 fColorTable = fPixelRef->colorTable();
273 } else { 252 } else {
274 SkASSERT(0 == fPixelLockCount); 253 SkASSERT(0 == fPixelLockCount);
275 fPixels = NULL; 254 fPixels = NULL;
276 fColorTable = NULL; 255 fColorTable = NULL;
277 } 256 }
278 } 257 }
279 } 258 }
280 259
281 static bool config_to_colorType(SkBitmap::Config config, SkColorType* ctOut) {
282 SkColorType ct;
283 switch (config) {
284 case SkBitmap::kA8_Config:
285 ct = kAlpha_8_SkColorType;
286 break;
287 case SkBitmap::kIndex8_Config:
288 ct = kIndex_8_SkColorType;
289 break;
290 case SkBitmap::kRGB_565_Config:
291 ct = kRGB_565_SkColorType;
292 break;
293 case SkBitmap::kARGB_4444_Config:
294 ct = kARGB_4444_SkColorType;
295 break;
296 case SkBitmap::kARGB_8888_Config:
297 ct = kN32_SkColorType;
298 break;
299 case SkBitmap::kNo_Config:
300 default:
301 return false;
302 }
303 if (ctOut) {
304 *ctOut = ct;
305 }
306 return true;
307 }
308
309 SkPixelRef* SkBitmap::setPixelRef(SkPixelRef* pr, int dx, int dy) { 260 SkPixelRef* SkBitmap::setPixelRef(SkPixelRef* pr, int dx, int dy) {
310 #ifdef SK_DEBUG 261 #ifdef SK_DEBUG
311 if (pr) { 262 if (pr) {
312 if (kUnknown_SkColorType != fInfo.colorType()) { 263 if (kUnknown_SkColorType != fInfo.colorType()) {
313 const SkImageInfo& prInfo = pr->info(); 264 const SkImageInfo& prInfo = pr->info();
314 SkASSERT(fInfo.fWidth <= prInfo.fWidth); 265 SkASSERT(fInfo.fWidth <= prInfo.fWidth);
315 SkASSERT(fInfo.fHeight <= prInfo.fHeight); 266 SkASSERT(fInfo.fHeight <= prInfo.fHeight);
316 SkASSERT(fInfo.fColorType == prInfo.fColorType); 267 SkASSERT(fInfo.fColorType == prInfo.fColorType);
317 switch (prInfo.fAlphaType) { 268 switch (prInfo.fAlphaType) {
318 case kIgnore_SkAlphaType: 269 case kIgnore_SkAlphaType:
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 bool SkBitmap::installMaskPixels(const SkMask& mask) { 416 bool SkBitmap::installMaskPixels(const SkMask& mask) {
466 if (SkMask::kA8_Format != mask.fFormat) { 417 if (SkMask::kA8_Format != mask.fFormat) {
467 this->reset(); 418 this->reset();
468 return false; 419 return false;
469 } 420 }
470 return this->installPixels(SkImageInfo::MakeA8(mask.fBounds.width(), 421 return this->installPixels(SkImageInfo::MakeA8(mask.fBounds.width(),
471 mask.fBounds.height()), 422 mask.fBounds.height()),
472 mask.fImage, mask.fRowBytes); 423 mask.fImage, mask.fRowBytes);
473 } 424 }
474 425
475 bool SkBitmap::allocConfigPixels(Config config, int width, int height,
476 bool isOpaque) {
477 SkColorType ct;
478 if (!config_to_colorType(config, &ct)) {
479 return false;
480 }
481
482 SkAlphaType at = isOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType;
483 return this->allocPixels(SkImageInfo::Make(width, height, ct, at));
484 }
485
486 /////////////////////////////////////////////////////////////////////////////// 426 ///////////////////////////////////////////////////////////////////////////////
487 427
488 void SkBitmap::freePixels() { 428 void SkBitmap::freePixels() {
489 if (NULL != fPixelRef) { 429 if (NULL != fPixelRef) {
490 if (fPixelLockCount > 0) { 430 if (fPixelLockCount > 0) {
491 fPixelRef->unlockPixels(); 431 fPixelRef->unlockPixels();
492 } 432 }
493 fPixelRef->unref(); 433 fPixelRef->unref();
494 fPixelRef = NULL; 434 fPixelRef = NULL;
495 fPixelRefOrigin.setZero(); 435 fPixelRefOrigin.setZero();
(...skipping 980 matching lines...) Expand 10 before | Expand all | Expand 10 after
1476 /////////////////////////////////////////////////////////////////////////////// 1416 ///////////////////////////////////////////////////////////////////////////////
1477 1417
1478 #ifdef SK_DEBUG 1418 #ifdef SK_DEBUG
1479 void SkImageInfo::validate() const { 1419 void SkImageInfo::validate() const {
1480 SkASSERT(fWidth >= 0); 1420 SkASSERT(fWidth >= 0);
1481 SkASSERT(fHeight >= 0); 1421 SkASSERT(fHeight >= 0);
1482 SkASSERT(SkColorTypeIsValid(fColorType)); 1422 SkASSERT(SkColorTypeIsValid(fColorType));
1483 SkASSERT(SkAlphaTypeIsValid(fAlphaType)); 1423 SkASSERT(SkAlphaTypeIsValid(fAlphaType));
1484 } 1424 }
1485 #endif 1425 #endif
OLDNEW
« include/core/SkBitmap.h ('K') | « include/core/SkBitmap.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698