OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // TODO(awalker): clean up the const/non-const reference handling in this test | 5 // TODO(awalker): clean up the const/non-const reference handling in this test |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 | 8 |
9 #if defined(OS_MACOSX) | 9 #if defined(OS_MACOSX) |
10 #import <ApplicationServices/ApplicationServices.h> | 10 #import <ApplicationServices/ApplicationServices.h> |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 EXPECT_FALSE(platform_bitmap->GetBitmap().empty()); | 407 EXPECT_FALSE(platform_bitmap->GetBitmap().empty()); |
408 EXPECT_FALSE(platform_bitmap->GetBitmap().isNull()); | 408 EXPECT_FALSE(platform_bitmap->GetBitmap().isNull()); |
409 EXPECT_EQ(kWidth, platform_bitmap->GetBitmap().width()); | 409 EXPECT_EQ(kWidth, platform_bitmap->GetBitmap().width()); |
410 EXPECT_EQ(kHeight, platform_bitmap->GetBitmap().height()); | 410 EXPECT_EQ(kHeight, platform_bitmap->GetBitmap().height()); |
411 EXPECT_LE(static_cast<size_t>(platform_bitmap->GetBitmap().width()*4), | 411 EXPECT_LE(static_cast<size_t>(platform_bitmap->GetBitmap().width()*4), |
412 platform_bitmap->GetBitmap().rowBytes()); | 412 platform_bitmap->GetBitmap().rowBytes()); |
413 EXPECT_EQ(kN32_SkColorType, // Same for all platforms. | 413 EXPECT_EQ(kN32_SkColorType, // Same for all platforms. |
414 platform_bitmap->GetBitmap().colorType()); | 414 platform_bitmap->GetBitmap().colorType()); |
415 EXPECT_TRUE(platform_bitmap->GetBitmap().lockPixelsAreWritable()); | 415 EXPECT_TRUE(platform_bitmap->GetBitmap().lockPixelsAreWritable()); |
416 EXPECT_TRUE(platform_bitmap->GetBitmap().pixelRef()->isLocked()); | 416 EXPECT_TRUE(platform_bitmap->GetBitmap().pixelRef()->isLocked()); |
417 EXPECT_EQ(1, platform_bitmap->GetBitmap().pixelRef()->getRefCnt()); | 417 EXPECT_TRUE(platform_bitmap->GetBitmap().pixelRef()->unique()); |
418 | 418 |
419 *(platform_bitmap->GetBitmap().getAddr32(10, 20)) = 0xDEED1020; | 419 *(platform_bitmap->GetBitmap().getAddr32(10, 20)) = 0xDEED1020; |
420 *(platform_bitmap->GetBitmap().getAddr32(20, 30)) = 0xDEED2030; | 420 *(platform_bitmap->GetBitmap().getAddr32(20, 30)) = 0xDEED2030; |
421 | 421 |
422 SkBitmap sk_bitmap = platform_bitmap->GetBitmap(); | 422 SkBitmap sk_bitmap = platform_bitmap->GetBitmap(); |
423 sk_bitmap.lockPixels(); | 423 sk_bitmap.lockPixels(); |
424 | 424 |
425 EXPECT_EQ(2, platform_bitmap->GetBitmap().pixelRef()->getRefCnt()); | 425 EXPECT_FALSE(platform_bitmap->GetBitmap().pixelRef()->unique()); |
426 EXPECT_EQ(2, sk_bitmap.pixelRef()->getRefCnt()); | 426 EXPECT_FALSE(sk_bitmap.pixelRef()->unique()); |
427 | 427 |
428 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); | 428 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); |
429 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); | 429 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); |
430 | 430 |
431 *(platform_bitmap->GetBitmap().getAddr32(30, 40)) = 0xDEED3040; | 431 *(platform_bitmap->GetBitmap().getAddr32(30, 40)) = 0xDEED3040; |
432 | 432 |
433 // The SkBitmaps derived from a PlatformBitmap must be capable of outliving | 433 // The SkBitmaps derived from a PlatformBitmap must be capable of outliving |
434 // the PlatformBitmap. | 434 // the PlatformBitmap. |
435 platform_bitmap.reset(); | 435 platform_bitmap.reset(); |
436 | 436 |
437 EXPECT_EQ(1, sk_bitmap.pixelRef()->getRefCnt()); | 437 EXPECT_TRUE(sk_bitmap.pixelRef()->unique()); |
438 | 438 |
439 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); | 439 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); |
440 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); | 440 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); |
441 EXPECT_EQ(0xDEED3040, *sk_bitmap.getAddr32(30, 40)); | 441 EXPECT_EQ(0xDEED3040, *sk_bitmap.getAddr32(30, 40)); |
442 sk_bitmap.unlockPixels(); | 442 sk_bitmap.unlockPixels(); |
443 | 443 |
444 EXPECT_EQ(NULL, sk_bitmap.getPixels()); | 444 EXPECT_EQ(NULL, sk_bitmap.getPixels()); |
445 | 445 |
446 sk_bitmap.lockPixels(); | 446 sk_bitmap.lockPixels(); |
447 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); | 447 EXPECT_EQ(0xDEED1020, *sk_bitmap.getAddr32(10, 20)); |
448 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); | 448 EXPECT_EQ(0xDEED2030, *sk_bitmap.getAddr32(20, 30)); |
449 EXPECT_EQ(0xDEED3040, *sk_bitmap.getAddr32(30, 40)); | 449 EXPECT_EQ(0xDEED3040, *sk_bitmap.getAddr32(30, 40)); |
450 sk_bitmap.unlockPixels(); | 450 sk_bitmap.unlockPixels(); |
451 } | 451 } |
452 | 452 |
453 | 453 |
454 } // namespace skia | 454 } // namespace skia |
OLD | NEW |