| 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 #include "ui/gfx/skbitmap_operations.h" | 5 #include "ui/gfx/skbitmap_operations.h" |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "third_party/skia/include/core/SkBitmap.h" | 8 #include "third_party/skia/include/core/SkBitmap.h" |
| 9 #include "third_party/skia/include/core/SkCanvas.h" | 9 #include "third_party/skia/include/core/SkCanvas.h" |
| 10 #include "third_party/skia/include/core/SkColorPriv.h" | 10 #include "third_party/skia/include/core/SkColorPriv.h" |
| (...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 SkBitmap src; | 527 SkBitmap src; |
| 528 // Create a simple 4 color bitmap: | 528 // Create a simple 4 color bitmap: |
| 529 // RRRBBB | 529 // RRRBBB |
| 530 // RRRBBB | 530 // RRRBBB |
| 531 // GGGYYY | 531 // GGGYYY |
| 532 // GGGYYY | 532 // GGGYYY |
| 533 src.setConfig(SkBitmap::kARGB_8888_Config, src_w, src_h); | 533 src.setConfig(SkBitmap::kARGB_8888_Config, src_w, src_h); |
| 534 src.allocPixels(); | 534 src.allocPixels(); |
| 535 | 535 |
| 536 SkCanvas canvas(src); | 536 SkCanvas canvas(src); |
| 537 src.eraseARGB(0, 0, 0, 0); |
| 537 SkRegion region; | 538 SkRegion region; |
| 538 | 539 |
| 539 region.setRect(0, 0, src_w / 2, src_h / 2); | 540 region.setRect(0, 0, src_w / 2, src_h / 2); |
| 540 canvas.setClipRegion(region); | 541 canvas.setClipRegion(region); |
| 541 canvas.drawColor(SK_ColorRED, SkXfermode::kSrc_Mode); | 542 // This region is a semi-transparent red to test non-opaque pixels. |
| 543 canvas.drawColor(0x1FFF0000, SkXfermode::kSrc_Mode); |
| 542 region.setRect(src_w / 2, 0, src_w, src_h / 2); | 544 region.setRect(src_w / 2, 0, src_w, src_h / 2); |
| 543 canvas.setClipRegion(region); | 545 canvas.setClipRegion(region); |
| 544 canvas.drawColor(SK_ColorBLUE, SkXfermode::kSrc_Mode); | 546 canvas.drawColor(SK_ColorBLUE, SkXfermode::kSrc_Mode); |
| 545 region.setRect(0, src_h / 2, src_w / 2, src_h); | 547 region.setRect(0, src_h / 2, src_w / 2, src_h); |
| 546 canvas.setClipRegion(region); | 548 canvas.setClipRegion(region); |
| 547 canvas.drawColor(SK_ColorGREEN, SkXfermode::kSrc_Mode); | 549 canvas.drawColor(SK_ColorGREEN, SkXfermode::kSrc_Mode); |
| 548 region.setRect(src_w / 2, src_h / 2, src_w, src_h); | 550 region.setRect(src_w / 2, src_h / 2, src_w, src_h); |
| 549 canvas.setClipRegion(region); | 551 canvas.setClipRegion(region); |
| 550 canvas.drawColor(SK_ColorYELLOW, SkXfermode::kSrc_Mode); | 552 canvas.drawColor(SK_ColorYELLOW, SkXfermode::kSrc_Mode); |
| 551 canvas.flush(); | 553 canvas.flush(); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 572 | 574 |
| 573 for (int x=0; x < src_w; ++x) { | 575 for (int x=0; x < src_w; ++x) { |
| 574 for (int y=0; y < src_h; ++y) { | 576 for (int y=0; y < src_h; ++y) { |
| 575 ASSERT_EQ(*src.getAddr32(x,y), *rotate90.getAddr32(y, src_w - (x+1))); | 577 ASSERT_EQ(*src.getAddr32(x,y), *rotate90.getAddr32(y, src_w - (x+1))); |
| 576 ASSERT_EQ(*src.getAddr32(x,y), *rotate270.getAddr32(src_h - (y+1),x)); | 578 ASSERT_EQ(*src.getAddr32(x,y), *rotate270.getAddr32(src_h - (y+1),x)); |
| 577 ASSERT_EQ(*src.getAddr32(x,y), | 579 ASSERT_EQ(*src.getAddr32(x,y), |
| 578 *rotate180.getAddr32(src_w - (x+1), src_h - (y+1))); | 580 *rotate180.getAddr32(src_w - (x+1), src_h - (y+1))); |
| 579 } | 581 } |
| 580 } | 582 } |
| 581 } | 583 } |
| OLD | NEW |