| OLD | NEW | 
|---|
| 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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 272     HeapAllocator stdalloc; | 272     HeapAllocator stdalloc; | 
| 273 | 273 | 
| 274     if (NULL == allocator) { | 274     if (NULL == allocator) { | 
| 275         allocator = &stdalloc; | 275         allocator = &stdalloc; | 
| 276     } | 276     } | 
| 277     return allocator->allocPixelRef(this, ctable); | 277     return allocator->allocPixelRef(this, ctable); | 
| 278 } | 278 } | 
| 279 | 279 | 
| 280 /////////////////////////////////////////////////////////////////////////////// | 280 /////////////////////////////////////////////////////////////////////////////// | 
| 281 | 281 | 
| 282 bool SkBitmap::allocPixels(const SkImageInfo& requestedInfo, size_t rowBytes) { | 282 bool SkBitmap::allocPixelsCheck(const SkImageInfo& requestedInfo, size_t rowByte
      s) { | 
| 283     if (kIndex_8_SkColorType == requestedInfo.colorType()) { | 283     if (kIndex_8_SkColorType == requestedInfo.colorType()) { | 
| 284         return reset_return_false(this); | 284         return reset_return_false(this); | 
| 285     } | 285     } | 
| 286     if (!this->setInfo(requestedInfo, rowBytes)) { | 286     if (!this->setInfo(requestedInfo, rowBytes)) { | 
| 287         return reset_return_false(this); | 287         return reset_return_false(this); | 
| 288     } | 288     } | 
| 289 | 289 | 
| 290     // setInfo may have corrected info (e.g. 565 is always opaque). | 290     // setInfo may have corrected info (e.g. 565 is always opaque). | 
| 291     const SkImageInfo& correctedInfo = this->info(); | 291     const SkImageInfo& correctedInfo = this->info(); | 
| 292     // setInfo may have computed a valid rowbytes if 0 were passed in | 292     // setInfo may have computed a valid rowbytes if 0 were passed in | 
| 293     rowBytes = this->rowBytes(); | 293     rowBytes = this->rowBytes(); | 
| 294 | 294 | 
| 295     SkMallocPixelRef::PRFactory defaultFactory; | 295     SkMallocPixelRef::PRFactory defaultFactory; | 
| 296 | 296 | 
| 297     SkPixelRef* pr = defaultFactory.create(correctedInfo, rowBytes, NULL); | 297     SkPixelRef* pr = defaultFactory.create(correctedInfo, rowBytes, NULL); | 
| 298     if (NULL == pr) { | 298     if (NULL == pr) { | 
| 299         return reset_return_false(this); | 299         return reset_return_false(this); | 
| 300     } | 300     } | 
| 301     this->setPixelRef(pr)->unref(); | 301     this->setPixelRef(pr)->unref(); | 
| 302 | 302 | 
| 303     // TODO: lockPixels could/should return bool or void*/NULL | 303     // TODO: lockPixels could/should return bool or void*/NULL | 
| 304     this->lockPixels(); | 304     this->lockPixels(); | 
| 305     if (NULL == this->getPixels()) { | 305     if (NULL == this->getPixels()) { | 
| 306         return reset_return_false(this); | 306         return reset_return_false(this); | 
| 307     } | 307     } | 
| 308     return true; | 308     return true; | 
| 309 } | 309 } | 
| 310 | 310 | 
| 311 bool SkBitmap::allocPixels(const SkImageInfo& requestedInfo, SkPixelRefFactory* 
      factory, | 311 bool SkBitmap::allocPixelsCheck(const SkImageInfo& requestedInfo, SkPixelRefFact
      ory* factory, | 
| 312                            SkColorTable* ctable) { | 312                                 SkColorTable* ctable) { | 
| 313     if (kIndex_8_SkColorType == requestedInfo.fColorType && NULL == ctable) { | 313     if (kIndex_8_SkColorType == requestedInfo.fColorType && NULL == ctable) { | 
| 314         return reset_return_false(this); | 314         return reset_return_false(this); | 
| 315     } | 315     } | 
| 316     if (!this->setInfo(requestedInfo)) { | 316     if (!this->setInfo(requestedInfo)) { | 
| 317         return reset_return_false(this); | 317         return reset_return_false(this); | 
| 318     } | 318     } | 
| 319 | 319 | 
| 320     // setInfo may have corrected info (e.g. 565 is always opaque). | 320     // setInfo may have corrected info (e.g. 565 is always opaque). | 
| 321     const SkImageInfo& correctedInfo = this->info(); | 321     const SkImageInfo& correctedInfo = this->info(); | 
| 322 | 322 | 
| (...skipping 1066 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1389 /////////////////////////////////////////////////////////////////////////////// | 1389 /////////////////////////////////////////////////////////////////////////////// | 
| 1390 | 1390 | 
| 1391 #ifdef SK_DEBUG | 1391 #ifdef SK_DEBUG | 
| 1392 void SkImageInfo::validate() const { | 1392 void SkImageInfo::validate() const { | 
| 1393     SkASSERT(fWidth >= 0); | 1393     SkASSERT(fWidth >= 0); | 
| 1394     SkASSERT(fHeight >= 0); | 1394     SkASSERT(fHeight >= 0); | 
| 1395     SkASSERT(SkColorTypeIsValid(fColorType)); | 1395     SkASSERT(SkColorTypeIsValid(fColorType)); | 
| 1396     SkASSERT(SkAlphaTypeIsValid(fAlphaType)); | 1396     SkASSERT(SkAlphaTypeIsValid(fAlphaType)); | 
| 1397 } | 1397 } | 
| 1398 #endif | 1398 #endif | 
| OLD | NEW | 
|---|