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 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 } | 479 } |
480 | 480 |
481 return true; | 481 return true; |
482 } | 482 } |
483 } | 483 } |
484 } | 484 } |
485 | 485 |
486 /////////////////////////////////////////////////////////////////////////////// | 486 /////////////////////////////////////////////////////////////////////////////// |
487 | 487 |
488 bool SkBitmap::isImmutable() const { | 488 bool SkBitmap::isImmutable() const { |
489 return fPixelRef ? fPixelRef->isImmutable() : | 489 return fPixelRef ? fPixelRef->isImmutable() : false; |
490 fFlags & kImageIsImmutable_Flag; | |
491 } | 490 } |
492 | 491 |
493 void SkBitmap::setImmutable() { | 492 void SkBitmap::setImmutable() { |
494 if (fPixelRef) { | 493 if (fPixelRef) { |
495 fPixelRef->setImmutable(); | 494 fPixelRef->setImmutable(); |
496 } else { | |
497 fFlags |= kImageIsImmutable_Flag; | |
498 } | 495 } |
499 } | 496 } |
500 | 497 |
501 bool SkBitmap::isVolatile() const { | 498 bool SkBitmap::isVolatile() const { |
502 return (fFlags & kImageIsVolatile_Flag) != 0; | 499 return (fFlags & kImageIsVolatile_Flag) != 0; |
503 } | 500 } |
504 | 501 |
505 void SkBitmap::setIsVolatile(bool isVolatile) { | 502 void SkBitmap::setIsVolatile(bool isVolatile) { |
506 if (isVolatile) { | 503 if (isVolatile) { |
507 fFlags |= kImageIsVolatile_Flag; | 504 fFlags |= kImageIsVolatile_Flag; |
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1325 void SkBitmap::validate() const { | 1322 void SkBitmap::validate() const { |
1326 fInfo.validate(); | 1323 fInfo.validate(); |
1327 | 1324 |
1328 // ImageInfo may not require this, but Bitmap ensures that opaque-only | 1325 // ImageInfo may not require this, but Bitmap ensures that opaque-only |
1329 // colorTypes report opaque for their alphatype | 1326 // colorTypes report opaque for their alphatype |
1330 if (kRGB_565_SkColorType == fInfo.colorType()) { | 1327 if (kRGB_565_SkColorType == fInfo.colorType()) { |
1331 SkASSERT(kOpaque_SkAlphaType == fInfo.alphaType()); | 1328 SkASSERT(kOpaque_SkAlphaType == fInfo.alphaType()); |
1332 } | 1329 } |
1333 | 1330 |
1334 SkASSERT(fInfo.validRowBytes(fRowBytes)); | 1331 SkASSERT(fInfo.validRowBytes(fRowBytes)); |
1335 uint8_t allFlags = kImageIsVolatile_Flag | kImageIsImmutable_Flag; | 1332 uint8_t allFlags = kImageIsVolatile_Flag; |
1336 #ifdef SK_BUILD_FOR_ANDROID | 1333 #ifdef SK_BUILD_FOR_ANDROID |
1337 allFlags |= kHasHardwareMipMap_Flag; | 1334 allFlags |= kHasHardwareMipMap_Flag; |
1338 #endif | 1335 #endif |
1339 SkASSERT(fFlags <= allFlags); | 1336 SkASSERT((~allFlags & fFlags) == 0); |
1340 SkASSERT(fPixelLockCount >= 0); | 1337 SkASSERT(fPixelLockCount >= 0); |
1341 | 1338 |
1342 if (fPixels) { | 1339 if (fPixels) { |
1343 SkASSERT(fPixelRef); | 1340 SkASSERT(fPixelRef); |
1344 SkASSERT(fPixelLockCount > 0); | 1341 SkASSERT(fPixelLockCount > 0); |
1345 SkASSERT(fPixelRef->isLocked()); | 1342 SkASSERT(fPixelRef->isLocked()); |
1346 SkASSERT(fPixelRef->rowBytes() == fRowBytes); | 1343 SkASSERT(fPixelRef->rowBytes() == fRowBytes); |
1347 SkASSERT(fPixelRefOrigin.fX >= 0); | 1344 SkASSERT(fPixelRefOrigin.fX >= 0); |
1348 SkASSERT(fPixelRefOrigin.fY >= 0); | 1345 SkASSERT(fPixelRefOrigin.fY >= 0); |
1349 SkASSERT(fPixelRef->info().width() >= (int)this->width() + fPixelRefOrig
in.fX); | 1346 SkASSERT(fPixelRef->info().width() >= (int)this->width() + fPixelRefOrig
in.fX); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1398 /////////////////////////////////////////////////////////////////////////////// | 1395 /////////////////////////////////////////////////////////////////////////////// |
1399 | 1396 |
1400 #ifdef SK_DEBUG | 1397 #ifdef SK_DEBUG |
1401 void SkImageInfo::validate() const { | 1398 void SkImageInfo::validate() const { |
1402 SkASSERT(fWidth >= 0); | 1399 SkASSERT(fWidth >= 0); |
1403 SkASSERT(fHeight >= 0); | 1400 SkASSERT(fHeight >= 0); |
1404 SkASSERT(SkColorTypeIsValid(fColorType)); | 1401 SkASSERT(SkColorTypeIsValid(fColorType)); |
1405 SkASSERT(SkAlphaTypeIsValid(fAlphaType)); | 1402 SkASSERT(SkAlphaTypeIsValid(fAlphaType)); |
1406 } | 1403 } |
1407 #endif | 1404 #endif |
OLD | NEW |