OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
595 | 595 |
596 GraphicsContext context(&canvas); | 596 GraphicsContext context(&canvas); |
597 context.setTrackOpaqueRegion(true); | 597 context.setTrackOpaqueRegion(true); |
598 | 598 |
599 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 599 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
600 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 600 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
601 | 601 |
602 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); | 602 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); |
603 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 603 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
604 | 604 |
605 context.drawEllipse(IntRect(10, 10, 90, 90)); | 605 context.fillEllipse(FloatRect(10, 10, 90, 90)); |
| 606 context.strokeEllipse(FloatRect(10, 10, 90, 90)); |
606 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); | 607 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); |
607 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 608 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
608 | 609 |
609 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); | 610 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); |
610 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); | 611 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); |
611 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 612 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
612 | 613 |
613 context.setCompositeOperation(CompositeSourceIn); | 614 context.setCompositeOperation(CompositeSourceIn); |
614 | 615 |
615 context.setShouldAntialias(false); | 616 context.setShouldAntialias(false); |
616 | 617 |
617 context.setFillColor(opaque); | 618 context.setFillColor(opaque); |
618 context.drawEllipse(IntRect(10, 10, 50, 30)); | 619 context.fillEllipse(FloatRect(10, 10, 50, 30)); |
| 620 context.strokeEllipse(FloatRect(10, 10, 50, 30)); |
619 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); | 621 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); |
620 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 622 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
621 | 623 |
622 context.setFillColor(alpha); | 624 context.setFillColor(alpha); |
623 context.drawEllipse(IntRect(10, 10, 30, 50)); | 625 context.fillEllipse(FloatRect(10, 10, 30, 50)); |
| 626 context.strokeEllipse(FloatRect(10, 10, 30, 50)); |
624 EXPECT_EQ_RECT(IntRect(40, 10, 60, 90), context.opaqueRegion().asRect()); | 627 EXPECT_EQ_RECT(IntRect(40, 10, 60, 90), context.opaqueRegion().asRect()); |
625 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 628 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
626 | 629 |
627 context.setShouldAntialias(true); | 630 context.setShouldAntialias(true); |
628 | 631 |
629 context.setFillColor(opaque); | 632 context.setFillColor(opaque); |
630 context.drawEllipse(IntRect(10, 10, 50, 30)); | 633 context.fillEllipse(FloatRect(10, 10, 50, 30)); |
| 634 context.strokeEllipse(FloatRect(10, 10, 50, 30)); |
631 EXPECT_EQ_RECT(IntRect(40, 41, 60, 59), context.opaqueRegion().asRect()); | 635 EXPECT_EQ_RECT(IntRect(40, 41, 60, 59), context.opaqueRegion().asRect()); |
632 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 636 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
633 | 637 |
634 context.setFillColor(alpha); | 638 context.setFillColor(alpha); |
635 context.drawEllipse(IntRect(20, 10, 30, 50)); | 639 context.fillEllipse(FloatRect(20, 10, 30, 50)); |
| 640 context.strokeEllipse(FloatRect(20, 10, 30, 50)); |
636 EXPECT_EQ_RECT(IntRect(51, 41, 49, 59), context.opaqueRegion().asRect()); | 641 EXPECT_EQ_RECT(IntRect(51, 41, 49, 59), context.opaqueRegion().asRect()); |
637 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 642 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
638 } | 643 } |
639 | 644 |
640 TEST(GraphicsContextTest, trackOpaqueRoundedRectTest) | 645 TEST(GraphicsContextTest, trackOpaqueRoundedRectTest) |
641 { | 646 { |
642 SkBitmap bitmap; | 647 SkBitmap bitmap; |
643 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 648 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
644 SkCanvas canvas(bitmap); | 649 SkCanvas canvas(bitmap); |
645 | 650 |
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1108 EXPECT_FALSE(pic); | 1113 EXPECT_FALSE(pic); |
1109 | 1114 |
1110 // endRecording finally makes the picture accessible | 1115 // endRecording finally makes the picture accessible |
1111 dl->endRecording(); | 1116 dl->endRecording(); |
1112 pic = dl->picture(); | 1117 pic = dl->picture(); |
1113 EXPECT_TRUE(pic); | 1118 EXPECT_TRUE(pic); |
1114 EXPECT_EQ(1, pic->getRefCnt()); | 1119 EXPECT_EQ(1, pic->getRefCnt()); |
1115 } | 1120 } |
1116 | 1121 |
1117 } // namespace | 1122 } // namespace |
OLD | NEW |