| 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 |