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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 } | 67 } |
68 | 68 |
69 TEST(GraphicsContextTest, trackOpaqueTest) | 69 TEST(GraphicsContextTest, trackOpaqueTest) |
70 { | 70 { |
71 SkBitmap bitmap; | 71 SkBitmap bitmap; |
72 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 72 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
73 bitmap.eraseColor(0); | 73 bitmap.eraseColor(0); |
74 SkCanvas canvas(bitmap); | 74 SkCanvas canvas(bitmap); |
75 | 75 |
76 GraphicsContext context(&canvas); | 76 GraphicsContext context(&canvas); |
77 context.setTrackOpaqueRegion(true); | 77 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
78 | 78 |
79 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 79 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
80 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 80 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
81 | 81 |
82 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); | 82 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); |
83 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); | 83 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); |
84 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 84 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
85 | 85 |
86 context.fillRect(FloatRect(10, 10, 90, 90), alpha, CompositeSourceOver); | 86 context.fillRect(FloatRect(10, 10, 90, 90), alpha, CompositeSourceOver); |
87 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); | 87 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 124 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
125 } | 125 } |
126 | 126 |
127 TEST(GraphicsContextTest, trackOpaqueClipTest) | 127 TEST(GraphicsContextTest, trackOpaqueClipTest) |
128 { | 128 { |
129 SkBitmap bitmap; | 129 SkBitmap bitmap; |
130 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 130 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
131 SkCanvas canvas(bitmap); | 131 SkCanvas canvas(bitmap); |
132 | 132 |
133 GraphicsContext context(&canvas); | 133 GraphicsContext context(&canvas); |
134 context.setTrackOpaqueRegion(true); | 134 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
135 | 135 |
136 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 136 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
137 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 137 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
138 | 138 |
139 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); | 139 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); |
140 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); | 140 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); |
141 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 141 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
142 | 142 |
143 context.clearRect(FloatRect(10, 10, 90, 90)); | 143 context.clearRect(FloatRect(10, 10, 90, 90)); |
144 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); | 144 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 } | 219 } |
220 | 220 |
221 TEST(GraphicsContextTest, trackImageMask) | 221 TEST(GraphicsContextTest, trackImageMask) |
222 { | 222 { |
223 SkBitmap bitmap; | 223 SkBitmap bitmap; |
224 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 224 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
225 bitmap.eraseColor(0); | 225 bitmap.eraseColor(0); |
226 SkCanvas canvas(bitmap); | 226 SkCanvas canvas(bitmap); |
227 | 227 |
228 GraphicsContext context(&canvas); | 228 GraphicsContext context(&canvas); |
229 context.setTrackOpaqueRegion(true); | 229 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
230 | 230 |
231 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 231 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
232 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 232 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
233 | 233 |
234 // Image masks are done by drawing a bitmap into a transparency layer that u
ses DstIn to mask | 234 // Image masks are done by drawing a bitmap into a transparency layer that u
ses DstIn to mask |
235 // out a transparency layer below that is filled with the mask color. In the
end this should | 235 // out a transparency layer below that is filled with the mask color. In the
end this should |
236 // not be marked opaque. | 236 // not be marked opaque. |
237 | 237 |
238 context.setCompositeOperation(CompositeSourceOver); | 238 context.setCompositeOperation(CompositeSourceOver); |
239 context.beginTransparencyLayer(1); | 239 context.beginTransparencyLayer(1); |
(...skipping 16 matching lines...) Expand all Loading... |
256 } | 256 } |
257 | 257 |
258 TEST(GraphicsContextTest, trackImageMaskWithOpaqueRect) | 258 TEST(GraphicsContextTest, trackImageMaskWithOpaqueRect) |
259 { | 259 { |
260 SkBitmap bitmap; | 260 SkBitmap bitmap; |
261 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 261 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
262 bitmap.eraseColor(0); | 262 bitmap.eraseColor(0); |
263 SkCanvas canvas(bitmap); | 263 SkCanvas canvas(bitmap); |
264 | 264 |
265 GraphicsContext context(&canvas); | 265 GraphicsContext context(&canvas); |
266 context.setTrackOpaqueRegion(true); | 266 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
267 | 267 |
268 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 268 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
269 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 269 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
270 | 270 |
271 // Image masks are done by drawing a bitmap into a transparency layer that u
ses DstIn to mask | 271 // Image masks are done by drawing a bitmap into a transparency layer that u
ses DstIn to mask |
272 // out a transparency layer below that is filled with the mask color. In the
end this should | 272 // out a transparency layer below that is filled with the mask color. In the
end this should |
273 // not be marked opaque. | 273 // not be marked opaque. |
274 | 274 |
275 context.setCompositeOperation(CompositeSourceOver); | 275 context.setCompositeOperation(CompositeSourceOver); |
276 context.beginTransparencyLayer(1); | 276 context.beginTransparencyLayer(1); |
(...skipping 18 matching lines...) Expand all Loading... |
295 EXPECT_PIXELS_MATCH_EXACT(bitmap, context.opaqueRegion().asRect()); | 295 EXPECT_PIXELS_MATCH_EXACT(bitmap, context.opaqueRegion().asRect()); |
296 } | 296 } |
297 | 297 |
298 TEST(GraphicsContextTest, trackOpaqueJoinTest) | 298 TEST(GraphicsContextTest, trackOpaqueJoinTest) |
299 { | 299 { |
300 SkBitmap bitmap; | 300 SkBitmap bitmap; |
301 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 301 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
302 SkCanvas canvas(bitmap); | 302 SkCanvas canvas(bitmap); |
303 | 303 |
304 GraphicsContext context(&canvas); | 304 GraphicsContext context(&canvas); |
305 context.setTrackOpaqueRegion(true); | 305 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
306 | 306 |
307 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 307 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
308 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 308 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
309 | 309 |
310 context.fillRect(FloatRect(20, 20, 10, 10), opaque, CompositeSourceOver); | 310 context.fillRect(FloatRect(20, 20, 10, 10), opaque, CompositeSourceOver); |
311 EXPECT_EQ_RECT(IntRect(20, 20, 10, 10), context.opaqueRegion().asRect()); | 311 EXPECT_EQ_RECT(IntRect(20, 20, 10, 10), context.opaqueRegion().asRect()); |
312 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 312 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
313 | 313 |
314 // Doesn't join | 314 // Doesn't join |
315 context.fillRect(FloatRect(31, 20, 10, 10), opaque, CompositeSourceOver); | 315 context.fillRect(FloatRect(31, 20, 10, 10), opaque, CompositeSourceOver); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 } | 353 } |
354 | 354 |
355 TEST(GraphicsContextTest, trackOpaqueLineTest) | 355 TEST(GraphicsContextTest, trackOpaqueLineTest) |
356 { | 356 { |
357 SkBitmap bitmap; | 357 SkBitmap bitmap; |
358 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 358 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
359 bitmap.eraseColor(0); | 359 bitmap.eraseColor(0); |
360 SkCanvas canvas(bitmap); | 360 SkCanvas canvas(bitmap); |
361 | 361 |
362 GraphicsContext context(&canvas); | 362 GraphicsContext context(&canvas); |
363 context.setTrackOpaqueRegion(true); | 363 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
364 | 364 |
365 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 365 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
366 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 366 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
367 | 367 |
368 context.setShouldAntialias(false); | 368 context.setShouldAntialias(false); |
369 context.setMiterLimit(0); | 369 context.setMiterLimit(0); |
370 context.setStrokeThickness(4); | 370 context.setStrokeThickness(4); |
371 context.setLineCap(SquareCap); | 371 context.setLineCap(SquareCap); |
372 context.setStrokeStyle(SolidStroke); | 372 context.setStrokeStyle(SolidStroke); |
373 context.setCompositeOperation(CompositeSourceOver); | 373 context.setCompositeOperation(CompositeSourceOver); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 446 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
447 } | 447 } |
448 | 448 |
449 TEST(GraphicsContextTest, trackOpaquePathTest) | 449 TEST(GraphicsContextTest, trackOpaquePathTest) |
450 { | 450 { |
451 SkBitmap bitmap; | 451 SkBitmap bitmap; |
452 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 452 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
453 SkCanvas canvas(bitmap); | 453 SkCanvas canvas(bitmap); |
454 | 454 |
455 GraphicsContext context(&canvas); | 455 GraphicsContext context(&canvas); |
456 context.setTrackOpaqueRegion(true); | 456 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
457 | 457 |
458 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 458 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
459 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 459 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
460 | 460 |
461 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); | 461 context.fillRect(FloatRect(10, 10, 90, 90), opaque, CompositeSourceOver); |
462 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); | 462 EXPECT_EQ_RECT(IntRect(10, 10, 90, 90), context.opaqueRegion().asRect()); |
463 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 463 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
464 | 464 |
465 context.setShouldAntialias(false); | 465 context.setShouldAntialias(false); |
466 context.setMiterLimit(1); | 466 context.setMiterLimit(1); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 path.clear(); | 504 path.clear(); |
505 } | 505 } |
506 | 506 |
507 TEST(GraphicsContextTest, trackOpaqueImageTest) | 507 TEST(GraphicsContextTest, trackOpaqueImageTest) |
508 { | 508 { |
509 SkBitmap bitmap; | 509 SkBitmap bitmap; |
510 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 510 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
511 SkCanvas canvas(bitmap); | 511 SkCanvas canvas(bitmap); |
512 | 512 |
513 GraphicsContext context(&canvas); | 513 GraphicsContext context(&canvas); |
514 context.setTrackOpaqueRegion(true); | 514 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
515 | 515 |
516 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 516 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
517 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 517 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
518 | 518 |
519 SkBitmap opaqueBitmap; | 519 SkBitmap opaqueBitmap; |
520 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); | 520 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); |
521 | 521 |
522 for (int y = 0; y < opaqueBitmap.height(); ++y) | 522 for (int y = 0; y < opaqueBitmap.height(); ++y) |
523 for (int x = 0; x < opaqueBitmap.width(); ++x) | 523 for (int x = 0; x < opaqueBitmap.width(); ++x) |
524 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; | 524 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 } | 587 } |
588 | 588 |
589 TEST(GraphicsContextTest, trackOpaqueOvalTest) | 589 TEST(GraphicsContextTest, trackOpaqueOvalTest) |
590 { | 590 { |
591 SkBitmap bitmap; | 591 SkBitmap bitmap; |
592 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 592 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
593 bitmap.eraseColor(0); | 593 bitmap.eraseColor(0); |
594 SkCanvas canvas(bitmap); | 594 SkCanvas canvas(bitmap); |
595 | 595 |
596 GraphicsContext context(&canvas); | 596 GraphicsContext context(&canvas); |
597 context.setTrackOpaqueRegion(true); | 597 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
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.fillEllipse(FloatRect(10, 10, 90, 90)); | 605 context.fillEllipse(FloatRect(10, 10, 90, 90)); |
606 context.strokeEllipse(FloatRect(10, 10, 90, 90)); | 606 context.strokeEllipse(FloatRect(10, 10, 90, 90)); |
607 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); | 607 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 642 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
643 } | 643 } |
644 | 644 |
645 TEST(GraphicsContextTest, trackOpaqueRoundedRectTest) | 645 TEST(GraphicsContextTest, trackOpaqueRoundedRectTest) |
646 { | 646 { |
647 SkBitmap bitmap; | 647 SkBitmap bitmap; |
648 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 648 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
649 SkCanvas canvas(bitmap); | 649 SkCanvas canvas(bitmap); |
650 | 650 |
651 GraphicsContext context(&canvas); | 651 GraphicsContext context(&canvas); |
652 context.setTrackOpaqueRegion(true); | 652 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
653 | 653 |
654 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 654 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
655 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 655 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
656 IntSize radii(10, 10); | 656 IntSize radii(10, 10); |
657 | 657 |
658 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); | 658 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); |
659 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 659 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
660 | 660 |
661 context.fillRoundedRect(IntRect(10, 10, 90, 90), radii, radii, radii, radii,
opaque); | 661 context.fillRoundedRect(IntRect(10, 10, 90, 90), radii, radii, radii, radii,
opaque); |
662 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); | 662 EXPECT_EQ_RECT(IntRect(0, 0, 0, 0), context.opaqueRegion().asRect()); |
(...skipping 26 matching lines...) Expand all Loading... |
689 TEST(GraphicsContextTest, trackOpaqueTextTest) | 689 TEST(GraphicsContextTest, trackOpaqueTextTest) |
690 { | 690 { |
691 int width = 200, height = 200; | 691 int width = 200, height = 200; |
692 SkBitmap bitmap; | 692 SkBitmap bitmap; |
693 ASSERT_TRUE(bitmap.allocN32Pixels(width, height)); | 693 ASSERT_TRUE(bitmap.allocN32Pixels(width, height)); |
694 bitmap.eraseColor(0); | 694 bitmap.eraseColor(0); |
695 SkCanvas canvas(bitmap); | 695 SkCanvas canvas(bitmap); |
696 SkRect textRect = SkRect::MakeWH(width, height); | 696 SkRect textRect = SkRect::MakeWH(width, height); |
697 | 697 |
698 GraphicsContext context(&canvas); | 698 GraphicsContext context(&canvas); |
699 context.setTrackOpaqueRegion(true); | 699 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
700 | 700 |
701 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 701 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
702 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 702 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
703 | 703 |
704 SkPaint opaquePaint; | 704 SkPaint opaquePaint; |
705 opaquePaint.setColor(opaque.rgb()); | 705 opaquePaint.setColor(opaque.rgb()); |
706 opaquePaint.setXfermodeMode(SkXfermode::kSrc_Mode); | 706 opaquePaint.setXfermodeMode(SkXfermode::kSrc_Mode); |
707 SkPaint alphaPaint; | 707 SkPaint alphaPaint; |
708 alphaPaint.setColor(alpha.rgb()); | 708 alphaPaint.setColor(alpha.rgb()); |
709 alphaPaint.setXfermodeMode(SkXfermode::kSrc_Mode); | 709 alphaPaint.setXfermodeMode(SkXfermode::kSrc_Mode); |
(...skipping 22 matching lines...) Expand all Loading... |
732 } | 732 } |
733 | 733 |
734 TEST(GraphicsContextTest, trackOpaqueWritePixelsTest) | 734 TEST(GraphicsContextTest, trackOpaqueWritePixelsTest) |
735 { | 735 { |
736 SkBitmap bitmap; | 736 SkBitmap bitmap; |
737 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 737 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
738 bitmap.eraseColor(0); | 738 bitmap.eraseColor(0); |
739 SkCanvas canvas(bitmap); | 739 SkCanvas canvas(bitmap); |
740 | 740 |
741 GraphicsContext context(&canvas); | 741 GraphicsContext context(&canvas); |
742 context.setTrackOpaqueRegion(true); | 742 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
743 | 743 |
744 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 744 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
745 | 745 |
746 SkBitmap opaqueBitmap; | 746 SkBitmap opaqueBitmap; |
747 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); | 747 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); |
748 for (int y = 0; y < opaqueBitmap.height(); ++y) | 748 for (int y = 0; y < opaqueBitmap.height(); ++y) |
749 for (int x = 0; x < opaqueBitmap.width(); ++x) | 749 for (int x = 0; x < opaqueBitmap.width(); ++x) |
750 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; | 750 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; |
751 | 751 |
752 SkBitmap alphaBitmap; | 752 SkBitmap alphaBitmap; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
784 } | 784 } |
785 | 785 |
786 TEST(GraphicsContextTest, trackOpaqueDrawBitmapTest) | 786 TEST(GraphicsContextTest, trackOpaqueDrawBitmapTest) |
787 { | 787 { |
788 SkBitmap bitmap; | 788 SkBitmap bitmap; |
789 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 789 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
790 bitmap.eraseColor(0); | 790 bitmap.eraseColor(0); |
791 SkCanvas canvas(bitmap); | 791 SkCanvas canvas(bitmap); |
792 | 792 |
793 GraphicsContext context(&canvas); | 793 GraphicsContext context(&canvas); |
794 context.setTrackOpaqueRegion(true); | 794 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
795 | 795 |
796 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 796 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
797 | 797 |
798 SkBitmap opaqueBitmap; | 798 SkBitmap opaqueBitmap; |
799 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); | 799 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); |
800 for (int y = 0; y < opaqueBitmap.height(); ++y) | 800 for (int y = 0; y < opaqueBitmap.height(); ++y) |
801 for (int x = 0; x < opaqueBitmap.width(); ++x) | 801 for (int x = 0; x < opaqueBitmap.width(); ++x) |
802 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; | 802 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; |
803 | 803 |
804 SkBitmap alphaBitmap; | 804 SkBitmap alphaBitmap; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 } | 836 } |
837 | 837 |
838 TEST(GraphicsContextTest, trackOpaqueDrawBitmapRectTest) | 838 TEST(GraphicsContextTest, trackOpaqueDrawBitmapRectTest) |
839 { | 839 { |
840 SkBitmap bitmap; | 840 SkBitmap bitmap; |
841 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); | 841 ASSERT_TRUE(bitmap.allocN32Pixels(200, 200)); |
842 bitmap.eraseColor(0); | 842 bitmap.eraseColor(0); |
843 SkCanvas canvas(bitmap); | 843 SkCanvas canvas(bitmap); |
844 | 844 |
845 GraphicsContext context(&canvas); | 845 GraphicsContext context(&canvas); |
846 context.setTrackOpaqueRegion(true); | 846 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
847 | 847 |
848 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 848 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
849 | 849 |
850 SkBitmap opaqueBitmap; | 850 SkBitmap opaqueBitmap; |
851 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); | 851 ASSERT_TRUE(opaqueBitmap.allocN32Pixels(10, 10, true /* opaque */)); |
852 for (int y = 0; y < opaqueBitmap.height(); ++y) | 852 for (int y = 0; y < opaqueBitmap.height(); ++y) |
853 for (int x = 0; x < opaqueBitmap.width(); ++x) | 853 for (int x = 0; x < opaqueBitmap.width(); ++x) |
854 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; | 854 *opaqueBitmap.getAddr32(x, y) = 0xFFFFFFFF; |
855 | 855 |
856 SkBitmap alphaBitmap; | 856 SkBitmap alphaBitmap; |
(...skipping 27 matching lines...) Expand all Loading... |
884 } | 884 } |
885 | 885 |
886 TEST(GraphicsContextTest, contextTransparencyLayerTest) | 886 TEST(GraphicsContextTest, contextTransparencyLayerTest) |
887 { | 887 { |
888 SkBitmap bitmap; | 888 SkBitmap bitmap; |
889 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 889 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
890 bitmap.eraseColor(0); | 890 bitmap.eraseColor(0); |
891 SkCanvas canvas(bitmap); | 891 SkCanvas canvas(bitmap); |
892 | 892 |
893 GraphicsContext context(&canvas); | 893 GraphicsContext context(&canvas); |
894 context.setTrackOpaqueRegion(true); | 894 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
895 | 895 |
896 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 896 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
897 context.fillRect(FloatRect(20, 20, 10, 10), opaque, CompositeSourceOver); | 897 context.fillRect(FloatRect(20, 20, 10, 10), opaque, CompositeSourceOver); |
898 EXPECT_EQ_RECT(IntRect(20, 20, 10, 10), context.opaqueRegion().asRect()); | 898 EXPECT_EQ_RECT(IntRect(20, 20, 10, 10), context.opaqueRegion().asRect()); |
899 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); | 899 EXPECT_PIXELS_MATCH(bitmap, context.opaqueRegion().asRect()); |
900 | 900 |
901 context.clearRect(FloatRect(20, 20, 10, 10)); | 901 context.clearRect(FloatRect(20, 20, 10, 10)); |
902 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); | 902 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); |
903 | 903 |
904 context.beginTransparencyLayer(0.5); | 904 context.beginTransparencyLayer(0.5); |
(...skipping 13 matching lines...) Expand all Loading... |
918 } | 918 } |
919 | 919 |
920 TEST(GraphicsContextTest, UnboundedDrawsAreClipped) | 920 TEST(GraphicsContextTest, UnboundedDrawsAreClipped) |
921 { | 921 { |
922 SkBitmap bitmap; | 922 SkBitmap bitmap; |
923 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 923 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
924 bitmap.eraseColor(0); | 924 bitmap.eraseColor(0); |
925 SkCanvas canvas(bitmap); | 925 SkCanvas canvas(bitmap); |
926 | 926 |
927 GraphicsContext context(&canvas); | 927 GraphicsContext context(&canvas); |
928 context.setTrackOpaqueRegion(true); | 928 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
929 | 929 |
930 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 930 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
931 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 931 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
932 | 932 |
933 Path path; | 933 Path path; |
934 context.setShouldAntialias(false); | 934 context.setShouldAntialias(false); |
935 context.setMiterLimit(1); | 935 context.setMiterLimit(1); |
936 context.setStrokeThickness(5); | 936 context.setStrokeThickness(5); |
937 context.setLineCap(SquareCap); | 937 context.setLineCap(SquareCap); |
938 context.setStrokeStyle(SolidStroke); | 938 context.setStrokeStyle(SolidStroke); |
(...skipping 24 matching lines...) Expand all Loading... |
963 } | 963 } |
964 | 964 |
965 TEST(GraphicsContextTest, PreserveOpaqueOnlyMattersForFirstLayer) | 965 TEST(GraphicsContextTest, PreserveOpaqueOnlyMattersForFirstLayer) |
966 { | 966 { |
967 SkBitmap bitmap; | 967 SkBitmap bitmap; |
968 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 968 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
969 bitmap.eraseColor(0); | 969 bitmap.eraseColor(0); |
970 SkCanvas canvas(bitmap); | 970 SkCanvas canvas(bitmap); |
971 | 971 |
972 GraphicsContext context(&canvas); | 972 GraphicsContext context(&canvas); |
973 context.setTrackOpaqueRegion(true); | 973 context.setRegionTrackingMode(GraphicsContext::RegionTrackingOpaque); |
974 | 974 |
975 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); | 975 Color opaque(1.0f, 0.0f, 0.0f, 1.0f); |
976 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); | 976 Color alpha(0.0f, 0.0f, 0.0f, 0.0f); |
977 | 977 |
978 Path path; | 978 Path path; |
979 context.setShouldAntialias(false); | 979 context.setShouldAntialias(false); |
980 context.setMiterLimit(1); | 980 context.setMiterLimit(1); |
981 context.setStrokeThickness(5); | 981 context.setStrokeThickness(5); |
982 context.setLineCap(SquareCap); | 982 context.setLineCap(SquareCap); |
983 context.setStrokeStyle(SolidStroke); | 983 context.setStrokeStyle(SolidStroke); |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1114 EXPECT_FALSE(pic); | 1114 EXPECT_FALSE(pic); |
1115 | 1115 |
1116 // endRecording finally makes the picture accessible | 1116 // endRecording finally makes the picture accessible |
1117 dl->endRecording(); | 1117 dl->endRecording(); |
1118 pic = dl->picture(); | 1118 pic = dl->picture(); |
1119 EXPECT_TRUE(pic); | 1119 EXPECT_TRUE(pic); |
1120 EXPECT_EQ(1, pic->getRefCnt()); | 1120 EXPECT_EQ(1, pic->getRefCnt()); |
1121 } | 1121 } |
1122 | 1122 |
1123 } // namespace | 1123 } // namespace |
OLD | NEW |