OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "cc/base/math_util.h" | 10 #include "cc/base/math_util.h" |
11 #include "cc/output/gl_renderer.h" | 11 #include "cc/output/gl_renderer.h" |
| 12 #include "cc/paint/paint_flags.h" |
12 #include "cc/quads/draw_quad.h" | 13 #include "cc/quads/draw_quad.h" |
13 #include "cc/quads/picture_draw_quad.h" | 14 #include "cc/quads/picture_draw_quad.h" |
14 #include "cc/quads/texture_draw_quad.h" | 15 #include "cc/quads/texture_draw_quad.h" |
15 #include "cc/resources/video_resource_updater.h" | 16 #include "cc/resources/video_resource_updater.h" |
16 #include "cc/test/fake_raster_source.h" | 17 #include "cc/test/fake_raster_source.h" |
17 #include "cc/test/fake_recording_source.h" | 18 #include "cc/test/fake_recording_source.h" |
18 #include "cc/test/pixel_test.h" | 19 #include "cc/test/pixel_test.h" |
19 #include "gpu/command_buffer/client/gles2_interface.h" | 20 #include "gpu/command_buffer/client/gles2_interface.h" |
20 #include "media/base/video_frame.h" | 21 #include "media/base/video_frame.h" |
21 #include "third_party/skia/include/core/SkColorPriv.h" | 22 #include "third_party/skia/include/core/SkColorPriv.h" |
(...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 } | 943 } |
943 | 944 |
944 TYPED_TEST(IntersectingQuadSoftwareTest, PictureQuads) { | 945 TYPED_TEST(IntersectingQuadSoftwareTest, PictureQuads) { |
945 this->SetupQuadStateAndRenderPass(); | 946 this->SetupQuadStateAndRenderPass(); |
946 gfx::Rect outer_rect(this->quad_rect_); | 947 gfx::Rect outer_rect(this->quad_rect_); |
947 gfx::Rect inner_rect(this->quad_rect_.x() + (this->quad_rect_.width() / 4), | 948 gfx::Rect inner_rect(this->quad_rect_.x() + (this->quad_rect_.width() / 4), |
948 this->quad_rect_.y() + (this->quad_rect_.height() / 4), | 949 this->quad_rect_.y() + (this->quad_rect_.height() / 4), |
949 this->quad_rect_.width() / 2, | 950 this->quad_rect_.width() / 2, |
950 this->quad_rect_.height() / 2); | 951 this->quad_rect_.height() / 2); |
951 | 952 |
952 SkPaint black_paint; | 953 PaintFlags black_paint; |
953 black_paint.setColor(SK_ColorBLACK); | 954 black_paint.setColor(SK_ColorBLACK); |
954 SkPaint blue_paint; | 955 PaintFlags blue_paint; |
955 blue_paint.setColor(SK_ColorBLUE); | 956 blue_paint.setColor(SK_ColorBLUE); |
956 SkPaint green_paint; | 957 PaintFlags green_paint; |
957 green_paint.setColor(SK_ColorGREEN); | 958 green_paint.setColor(SK_ColorGREEN); |
958 | 959 |
959 std::unique_ptr<FakeRecordingSource> blue_recording = | 960 std::unique_ptr<FakeRecordingSource> blue_recording = |
960 FakeRecordingSource::CreateFilledRecordingSource(this->quad_rect_.size()); | 961 FakeRecordingSource::CreateFilledRecordingSource(this->quad_rect_.size()); |
961 blue_recording->add_draw_rect_with_paint(outer_rect, black_paint); | 962 blue_recording->add_draw_rect_with_paint(outer_rect, black_paint); |
962 blue_recording->add_draw_rect_with_paint(inner_rect, blue_paint); | 963 blue_recording->add_draw_rect_with_paint(inner_rect, blue_paint); |
963 blue_recording->Rerecord(); | 964 blue_recording->Rerecord(); |
964 scoped_refptr<FakeRasterSource> blue_raster_source = | 965 scoped_refptr<FakeRasterSource> blue_raster_source = |
965 FakeRasterSource::CreateFromRecordingSource(blue_recording.get(), false); | 966 FakeRasterSource::CreateFromRecordingSource(blue_recording.get(), false); |
966 | 967 |
(...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1906 SolidColorDrawQuad* green = | 1907 SolidColorDrawQuad* green = |
1907 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 1908 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
1908 green->SetNew( | 1909 green->SetNew( |
1909 child_pass_shared_state, viewport_rect, viewport_rect, kCSSGreen, false); | 1910 child_pass_shared_state, viewport_rect, viewport_rect, kCSSGreen, false); |
1910 | 1911 |
1911 // Make a mask. | 1912 // Make a mask. |
1912 gfx::Rect mask_rect = viewport_rect; | 1913 gfx::Rect mask_rect = viewport_rect; |
1913 SkBitmap bitmap; | 1914 SkBitmap bitmap; |
1914 bitmap.allocPixels( | 1915 bitmap.allocPixels( |
1915 SkImageInfo::MakeN32Premul(mask_rect.width(), mask_rect.height())); | 1916 SkImageInfo::MakeN32Premul(mask_rect.width(), mask_rect.height())); |
1916 SkCanvas canvas(bitmap); | 1917 PaintCanvas canvas(bitmap); |
1917 SkPaint paint; | 1918 PaintFlags paint; |
1918 paint.setStyle(SkPaint::kStroke_Style); | 1919 paint.setStyle(PaintFlags::kStroke_Style); |
1919 paint.setStrokeWidth(SkIntToScalar(4)); | 1920 paint.setStrokeWidth(SkIntToScalar(4)); |
1920 paint.setColor(SK_ColorWHITE); | 1921 paint.setColor(SK_ColorWHITE); |
1921 canvas.clear(SK_ColorTRANSPARENT); | 1922 canvas.clear(SK_ColorTRANSPARENT); |
1922 gfx::Rect rect = mask_rect; | 1923 gfx::Rect rect = mask_rect; |
1923 while (!rect.IsEmpty()) { | 1924 while (!rect.IsEmpty()) { |
1924 rect.Inset(6, 6, 4, 4); | 1925 rect.Inset(6, 6, 4, 4); |
1925 canvas.drawRect( | 1926 canvas.drawRect( |
1926 SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()), | 1927 SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()), |
1927 paint); | 1928 paint); |
1928 rect.Inset(6, 6, 4, 4); | 1929 rect.Inset(6, 6, 4, 4); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1999 SolidColorDrawQuad* green = | 2000 SolidColorDrawQuad* green = |
2000 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); | 2001 child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
2001 green->SetNew(child_pass_shared_state, viewport_rect, viewport_rect, | 2002 green->SetNew(child_pass_shared_state, viewport_rect, viewport_rect, |
2002 kCSSGreen, false); | 2003 kCSSGreen, false); |
2003 | 2004 |
2004 // Make a mask. | 2005 // Make a mask. |
2005 gfx::Rect mask_rect = viewport_rect; | 2006 gfx::Rect mask_rect = viewport_rect; |
2006 SkBitmap bitmap; | 2007 SkBitmap bitmap; |
2007 bitmap.allocPixels( | 2008 bitmap.allocPixels( |
2008 SkImageInfo::MakeN32Premul(mask_rect.width(), mask_rect.height())); | 2009 SkImageInfo::MakeN32Premul(mask_rect.width(), mask_rect.height())); |
2009 SkCanvas canvas(bitmap); | 2010 PaintCanvas canvas(bitmap); |
2010 SkPaint paint; | 2011 PaintFlags paint; |
2011 paint.setStyle(SkPaint::kStroke_Style); | 2012 paint.setStyle(PaintFlags::kStroke_Style); |
2012 paint.setStrokeWidth(SkIntToScalar(4)); | 2013 paint.setStrokeWidth(SkIntToScalar(4)); |
2013 paint.setColor(SK_ColorWHITE); | 2014 paint.setColor(SK_ColorWHITE); |
2014 canvas.clear(SK_ColorTRANSPARENT); | 2015 canvas.clear(SK_ColorTRANSPARENT); |
2015 gfx::Rect rect = mask_rect; | 2016 gfx::Rect rect = mask_rect; |
2016 while (!rect.IsEmpty()) { | 2017 while (!rect.IsEmpty()) { |
2017 rect.Inset(6, 6, 4, 4); | 2018 rect.Inset(6, 6, 4, 4); |
2018 canvas.drawRect( | 2019 canvas.drawRect( |
2019 SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()), | 2020 SkRect::MakeXYWH(rect.x(), rect.y(), rect.width(), rect.height()), |
2020 paint); | 2021 paint); |
2021 rect.Inset(6, 6, 4, 4); | 2022 rect.Inset(6, 6, 4, 4); |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2492 std::unique_ptr<RenderPass> pass = | 2493 std::unique_ptr<RenderPass> pass = |
2493 CreateTestRenderPass(id, viewport, transform_to_root); | 2494 CreateTestRenderPass(id, viewport, transform_to_root); |
2494 | 2495 |
2495 // One clipped blue quad in the lower right corner. Outside the clip | 2496 // One clipped blue quad in the lower right corner. Outside the clip |
2496 // is red, which should not appear. | 2497 // is red, which should not appear. |
2497 gfx::Rect blue_rect(gfx::Size(100, 100)); | 2498 gfx::Rect blue_rect(gfx::Size(100, 100)); |
2498 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); | 2499 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); |
2499 | 2500 |
2500 std::unique_ptr<FakeRecordingSource> blue_recording = | 2501 std::unique_ptr<FakeRecordingSource> blue_recording = |
2501 FakeRecordingSource::CreateFilledRecordingSource(blue_rect.size()); | 2502 FakeRecordingSource::CreateFilledRecordingSource(blue_rect.size()); |
2502 SkPaint red_paint; | 2503 PaintFlags red_paint; |
2503 red_paint.setColor(SK_ColorRED); | 2504 red_paint.setColor(SK_ColorRED); |
2504 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint); | 2505 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint); |
2505 SkPaint blue_paint; | 2506 PaintFlags blue_paint; |
2506 blue_paint.setColor(SK_ColorBLUE); | 2507 blue_paint.setColor(SK_ColorBLUE); |
2507 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint); | 2508 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint); |
2508 blue_recording->Rerecord(); | 2509 blue_recording->Rerecord(); |
2509 | 2510 |
2510 scoped_refptr<FakeRasterSource> blue_raster_source = | 2511 scoped_refptr<FakeRasterSource> blue_raster_source = |
2511 FakeRasterSource::CreateFromRecordingSource(blue_recording.get(), false); | 2512 FakeRasterSource::CreateFromRecordingSource(blue_recording.get(), false); |
2512 | 2513 |
2513 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); | 2514 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); |
2514 gfx::Transform blue_quad_to_target_transform; | 2515 gfx::Transform blue_quad_to_target_transform; |
2515 blue_quad_to_target_transform.Translate(offset.x(), offset.y()); | 2516 blue_quad_to_target_transform.Translate(offset.x(), offset.y()); |
2516 gfx::Rect blue_target_clip_rect = MathUtil::MapEnclosingClippedRect( | 2517 gfx::Rect blue_target_clip_rect = MathUtil::MapEnclosingClippedRect( |
2517 blue_quad_to_target_transform, blue_clip_rect); | 2518 blue_quad_to_target_transform, blue_clip_rect); |
2518 SharedQuadState* blue_shared_state = | 2519 SharedQuadState* blue_shared_state = |
2519 CreateTestSharedQuadStateClipped(blue_quad_to_target_transform, blue_rect, | 2520 CreateTestSharedQuadStateClipped(blue_quad_to_target_transform, blue_rect, |
2520 blue_target_clip_rect, pass.get()); | 2521 blue_target_clip_rect, pass.get()); |
2521 | 2522 |
2522 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2523 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
2523 | 2524 |
2524 blue_quad->SetNew(blue_shared_state, | 2525 blue_quad->SetNew(blue_shared_state, |
2525 viewport, // Intentionally bigger than clip. | 2526 viewport, // Intentionally bigger than clip. |
2526 gfx::Rect(), viewport, gfx::RectF(viewport), | 2527 gfx::Rect(), viewport, gfx::RectF(viewport), |
2527 viewport.size(), nearest_neighbor, texture_format, viewport, | 2528 viewport.size(), nearest_neighbor, texture_format, viewport, |
2528 1.f, std::move(blue_raster_source)); | 2529 1.f, std::move(blue_raster_source)); |
2529 | 2530 |
2530 // One viewport-filling green quad. | 2531 // One viewport-filling green quad. |
2531 std::unique_ptr<FakeRecordingSource> green_recording = | 2532 std::unique_ptr<FakeRecordingSource> green_recording = |
2532 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); | 2533 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); |
2533 SkPaint green_paint; | 2534 PaintFlags green_paint; |
2534 green_paint.setColor(SK_ColorGREEN); | 2535 green_paint.setColor(SK_ColorGREEN); |
2535 green_recording->add_draw_rect_with_paint(viewport, green_paint); | 2536 green_recording->add_draw_rect_with_paint(viewport, green_paint); |
2536 green_recording->Rerecord(); | 2537 green_recording->Rerecord(); |
2537 scoped_refptr<FakeRasterSource> green_raster_source = | 2538 scoped_refptr<FakeRasterSource> green_raster_source = |
2538 FakeRasterSource::CreateFromRecordingSource(green_recording.get(), false); | 2539 FakeRasterSource::CreateFromRecordingSource(green_recording.get(), false); |
2539 | 2540 |
2540 gfx::Transform green_quad_to_target_transform; | 2541 gfx::Transform green_quad_to_target_transform; |
2541 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 2542 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
2542 green_quad_to_target_transform, viewport, pass.get()); | 2543 green_quad_to_target_transform, viewport, pass.get()); |
2543 | 2544 |
(...skipping 20 matching lines...) Expand all Loading... |
2564 bool nearest_neighbor = false; | 2565 bool nearest_neighbor = false; |
2565 | 2566 |
2566 int id = 1; | 2567 int id = 1; |
2567 gfx::Transform transform_to_root; | 2568 gfx::Transform transform_to_root; |
2568 std::unique_ptr<RenderPass> pass = | 2569 std::unique_ptr<RenderPass> pass = |
2569 CreateTestRenderPass(id, viewport, transform_to_root); | 2570 CreateTestRenderPass(id, viewport, transform_to_root); |
2570 | 2571 |
2571 // One viewport-filling 0.5-opacity green quad. | 2572 // One viewport-filling 0.5-opacity green quad. |
2572 std::unique_ptr<FakeRecordingSource> green_recording = | 2573 std::unique_ptr<FakeRecordingSource> green_recording = |
2573 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); | 2574 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); |
2574 SkPaint green_paint; | 2575 PaintFlags green_paint; |
2575 green_paint.setColor(SK_ColorGREEN); | 2576 green_paint.setColor(SK_ColorGREEN); |
2576 green_recording->add_draw_rect_with_paint(viewport, green_paint); | 2577 green_recording->add_draw_rect_with_paint(viewport, green_paint); |
2577 green_recording->Rerecord(); | 2578 green_recording->Rerecord(); |
2578 scoped_refptr<FakeRasterSource> green_raster_source = | 2579 scoped_refptr<FakeRasterSource> green_raster_source = |
2579 FakeRasterSource::CreateFromRecordingSource(green_recording.get(), false); | 2580 FakeRasterSource::CreateFromRecordingSource(green_recording.get(), false); |
2580 | 2581 |
2581 gfx::Transform green_quad_to_target_transform; | 2582 gfx::Transform green_quad_to_target_transform; |
2582 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 2583 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
2583 green_quad_to_target_transform, viewport, pass.get()); | 2584 green_quad_to_target_transform, viewport, pass.get()); |
2584 green_shared_state->opacity = 0.5f; | 2585 green_shared_state->opacity = 0.5f; |
2585 | 2586 |
2586 PictureDrawQuad* green_quad = | 2587 PictureDrawQuad* green_quad = |
2587 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2588 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
2588 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, | 2589 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, |
2589 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, | 2590 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, |
2590 texture_format, viewport, 1.f, green_raster_source.get()); | 2591 texture_format, viewport, 1.f, green_raster_source.get()); |
2591 | 2592 |
2592 // One viewport-filling white quad. | 2593 // One viewport-filling white quad. |
2593 std::unique_ptr<FakeRecordingSource> white_recording = | 2594 std::unique_ptr<FakeRecordingSource> white_recording = |
2594 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); | 2595 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); |
2595 SkPaint white_paint; | 2596 PaintFlags white_paint; |
2596 white_paint.setColor(SK_ColorWHITE); | 2597 white_paint.setColor(SK_ColorWHITE); |
2597 white_recording->add_draw_rect_with_paint(viewport, white_paint); | 2598 white_recording->add_draw_rect_with_paint(viewport, white_paint); |
2598 white_recording->Rerecord(); | 2599 white_recording->Rerecord(); |
2599 scoped_refptr<FakeRasterSource> white_raster_source = | 2600 scoped_refptr<FakeRasterSource> white_raster_source = |
2600 FakeRasterSource::CreateFromRecordingSource(white_recording.get(), false); | 2601 FakeRasterSource::CreateFromRecordingSource(white_recording.get(), false); |
2601 | 2602 |
2602 gfx::Transform white_quad_to_target_transform; | 2603 gfx::Transform white_quad_to_target_transform; |
2603 SharedQuadState* white_shared_state = CreateTestSharedQuadState( | 2604 SharedQuadState* white_shared_state = CreateTestSharedQuadState( |
2604 white_quad_to_target_transform, viewport, pass.get()); | 2605 white_quad_to_target_transform, viewport, pass.get()); |
2605 | 2606 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2653 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); | 2654 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); |
2654 ASSERT_NE(surface, nullptr); | 2655 ASSERT_NE(surface, nullptr); |
2655 SkCanvas* canvas = surface->getCanvas(); | 2656 SkCanvas* canvas = surface->getCanvas(); |
2656 canvas->drawPoint(0, 0, SK_ColorGREEN); | 2657 canvas->drawPoint(0, 0, SK_ColorGREEN); |
2657 canvas->drawPoint(0, 1, SK_ColorBLUE); | 2658 canvas->drawPoint(0, 1, SK_ColorBLUE); |
2658 canvas->drawPoint(1, 0, SK_ColorBLUE); | 2659 canvas->drawPoint(1, 0, SK_ColorBLUE); |
2659 canvas->drawPoint(1, 1, SK_ColorGREEN); | 2660 canvas->drawPoint(1, 1, SK_ColorGREEN); |
2660 | 2661 |
2661 std::unique_ptr<FakeRecordingSource> recording = | 2662 std::unique_ptr<FakeRecordingSource> recording = |
2662 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); | 2663 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); |
2663 SkPaint paint; | 2664 PaintFlags paint; |
2664 paint.setFilterQuality(kLow_SkFilterQuality); | 2665 paint.setFilterQuality(kLow_SkFilterQuality); |
2665 recording->add_draw_image_with_paint(surface->makeImageSnapshot(), | 2666 recording->add_draw_image_with_paint(surface->makeImageSnapshot(), |
2666 gfx::Point(), paint); | 2667 gfx::Point(), paint); |
2667 recording->Rerecord(); | 2668 recording->Rerecord(); |
2668 scoped_refptr<FakeRasterSource> raster_source = | 2669 scoped_refptr<FakeRasterSource> raster_source = |
2669 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); | 2670 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); |
2670 | 2671 |
2671 gfx::Transform quad_to_target_transform; | 2672 gfx::Transform quad_to_target_transform; |
2672 SharedQuadState* shared_state = | 2673 SharedQuadState* shared_state = |
2673 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); | 2674 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); |
(...skipping 28 matching lines...) Expand all Loading... |
2702 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); | 2703 sk_sp<SkSurface> surface = SkSurface::MakeRasterN32Premul(2, 2); |
2703 ASSERT_NE(surface, nullptr); | 2704 ASSERT_NE(surface, nullptr); |
2704 SkCanvas* canvas = surface->getCanvas(); | 2705 SkCanvas* canvas = surface->getCanvas(); |
2705 canvas->drawPoint(0, 0, SK_ColorGREEN); | 2706 canvas->drawPoint(0, 0, SK_ColorGREEN); |
2706 canvas->drawPoint(0, 1, SK_ColorBLUE); | 2707 canvas->drawPoint(0, 1, SK_ColorBLUE); |
2707 canvas->drawPoint(1, 0, SK_ColorBLUE); | 2708 canvas->drawPoint(1, 0, SK_ColorBLUE); |
2708 canvas->drawPoint(1, 1, SK_ColorGREEN); | 2709 canvas->drawPoint(1, 1, SK_ColorGREEN); |
2709 | 2710 |
2710 std::unique_ptr<FakeRecordingSource> recording = | 2711 std::unique_ptr<FakeRecordingSource> recording = |
2711 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); | 2712 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); |
2712 SkPaint paint; | 2713 PaintFlags paint; |
2713 paint.setFilterQuality(kLow_SkFilterQuality); | 2714 paint.setFilterQuality(kLow_SkFilterQuality); |
2714 recording->add_draw_image_with_paint(surface->makeImageSnapshot(), | 2715 recording->add_draw_image_with_paint(surface->makeImageSnapshot(), |
2715 gfx::Point(), paint); | 2716 gfx::Point(), paint); |
2716 recording->Rerecord(); | 2717 recording->Rerecord(); |
2717 scoped_refptr<FakeRasterSource> raster_source = | 2718 scoped_refptr<FakeRasterSource> raster_source = |
2718 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); | 2719 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); |
2719 | 2720 |
2720 gfx::Transform quad_to_target_transform; | 2721 gfx::Transform quad_to_target_transform; |
2721 SharedQuadState* shared_state = | 2722 SharedQuadState* shared_state = |
2722 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); | 2723 CreateTestSharedQuadState(quad_to_target_transform, viewport, pass.get()); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2907 // a few extra "cleanup rects" need to be added to clobber the blending | 2908 // a few extra "cleanup rects" need to be added to clobber the blending |
2908 // to make the output image more clean. This will also test subrects | 2909 // to make the output image more clean. This will also test subrects |
2909 // of the layer. | 2910 // of the layer. |
2910 gfx::Transform green_quad_to_target_transform; | 2911 gfx::Transform green_quad_to_target_transform; |
2911 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); | 2912 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); |
2912 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); | 2913 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); |
2913 | 2914 |
2914 std::unique_ptr<FakeRecordingSource> green_recording = | 2915 std::unique_ptr<FakeRecordingSource> green_recording = |
2915 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); | 2916 FakeRecordingSource::CreateFilledRecordingSource(viewport.size()); |
2916 | 2917 |
2917 SkPaint red_paint; | 2918 PaintFlags red_paint; |
2918 red_paint.setColor(SK_ColorRED); | 2919 red_paint.setColor(SK_ColorRED); |
2919 green_recording->add_draw_rect_with_paint(viewport, red_paint); | 2920 green_recording->add_draw_rect_with_paint(viewport, red_paint); |
2920 SkPaint green_paint; | 2921 PaintFlags green_paint; |
2921 green_paint.setColor(SK_ColorGREEN); | 2922 green_paint.setColor(SK_ColorGREEN); |
2922 green_recording->add_draw_rect_with_paint(green_rect1, green_paint); | 2923 green_recording->add_draw_rect_with_paint(green_rect1, green_paint); |
2923 green_recording->add_draw_rect_with_paint(green_rect2, green_paint); | 2924 green_recording->add_draw_rect_with_paint(green_rect2, green_paint); |
2924 green_recording->Rerecord(); | 2925 green_recording->Rerecord(); |
2925 scoped_refptr<FakeRasterSource> green_raster_source = | 2926 scoped_refptr<FakeRasterSource> green_raster_source = |
2926 FakeRasterSource::CreateFromRecordingSource(green_recording.get(), false); | 2927 FakeRasterSource::CreateFromRecordingSource(green_recording.get(), false); |
2927 | 2928 |
2928 SharedQuadState* top_right_green_shared_quad_state = | 2929 SharedQuadState* top_right_green_shared_quad_state = |
2929 CreateTestSharedQuadState(green_quad_to_target_transform, viewport, | 2930 CreateTestSharedQuadState(green_quad_to_target_transform, viewport, |
2930 pass.get()); | 2931 pass.get()); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2979 | 2980 |
2980 std::unique_ptr<FakeRecordingSource> recording = | 2981 std::unique_ptr<FakeRecordingSource> recording = |
2981 FakeRecordingSource::CreateFilledRecordingSource(layer_rect.size()); | 2982 FakeRecordingSource::CreateFilledRecordingSource(layer_rect.size()); |
2982 | 2983 |
2983 Region outside(layer_rect); | 2984 Region outside(layer_rect); |
2984 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); | 2985 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); |
2985 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { | 2986 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { |
2986 recording->add_draw_rect_with_paint(iter.rect(), red_paint); | 2987 recording->add_draw_rect_with_paint(iter.rect(), red_paint); |
2987 } | 2988 } |
2988 | 2989 |
2989 SkPaint blue_paint; | 2990 PaintFlags blue_paint; |
2990 blue_paint.setColor(SK_ColorBLUE); | 2991 blue_paint.setColor(SK_ColorBLUE); |
2991 recording->add_draw_rectf_with_paint(blue_layer_rect1, blue_paint); | 2992 recording->add_draw_rectf_with_paint(blue_layer_rect1, blue_paint); |
2992 recording->add_draw_rectf_with_paint(blue_layer_rect2, blue_paint); | 2993 recording->add_draw_rectf_with_paint(blue_layer_rect2, blue_paint); |
2993 recording->Rerecord(); | 2994 recording->Rerecord(); |
2994 scoped_refptr<FakeRasterSource> raster_source = | 2995 scoped_refptr<FakeRasterSource> raster_source = |
2995 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); | 2996 FakeRasterSource::CreateFromRecordingSource(recording.get(), false); |
2996 | 2997 |
2997 gfx::Rect content_union_rect( | 2998 gfx::Rect content_union_rect( |
2998 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); | 2999 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); |
2999 | 3000 |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3199 | 3200 |
3200 SharedQuadState* shared_state = | 3201 SharedQuadState* shared_state = |
3201 CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); | 3202 CreateTestSharedQuadState(gfx::Transform(), rect, pass.get()); |
3202 | 3203 |
3203 // Make a mask. | 3204 // Make a mask. |
3204 gfx::Rect mask_rect = rect; | 3205 gfx::Rect mask_rect = rect; |
3205 SkBitmap bitmap; | 3206 SkBitmap bitmap; |
3206 bitmap.allocPixels( | 3207 bitmap.allocPixels( |
3207 SkImageInfo::MakeN32Premul(mask_rect.width(), mask_rect.height())); | 3208 SkImageInfo::MakeN32Premul(mask_rect.width(), mask_rect.height())); |
3208 SkCanvas canvas(bitmap); | 3209 SkCanvas canvas(bitmap); |
3209 SkPaint paint; | 3210 PaintFlags paint; |
3210 paint.setStyle(SkPaint::kStroke_Style); | 3211 paint.setStyle(PaintFlags::kStroke_Style); |
3211 paint.setStrokeWidth(SkIntToScalar(4)); | 3212 paint.setStrokeWidth(SkIntToScalar(4)); |
3212 paint.setColor(SK_ColorGREEN); | 3213 paint.setColor(SK_ColorGREEN); |
3213 canvas.clear(SK_ColorWHITE); | 3214 canvas.clear(SK_ColorWHITE); |
3214 gfx::Rect inset_rect = rect; | 3215 gfx::Rect inset_rect = rect; |
3215 while (!inset_rect.IsEmpty()) { | 3216 while (!inset_rect.IsEmpty()) { |
3216 inset_rect.Inset(6, 6, 4, 4); | 3217 inset_rect.Inset(6, 6, 4, 4); |
3217 canvas.drawRect(SkRect::MakeXYWH(inset_rect.x(), inset_rect.y(), | 3218 canvas.drawRect(SkRect::MakeXYWH(inset_rect.x(), inset_rect.y(), |
3218 inset_rect.width(), inset_rect.height()), | 3219 inset_rect.width(), inset_rect.height()), |
3219 paint); | 3220 paint); |
3220 inset_rect.Inset(6, 6, 4, 4); | 3221 inset_rect.Inset(6, 6, 4, 4); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3319 | 3320 |
3320 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(FILE_PATH_LITERAL( | 3321 EXPECT_TRUE(this->RunPixelTest(&pass_list, base::FilePath(FILE_PATH_LITERAL( |
3321 "translucent_rectangles.png")), | 3322 "translucent_rectangles.png")), |
3322 ExactPixelComparator(true))); | 3323 ExactPixelComparator(true))); |
3323 } | 3324 } |
3324 | 3325 |
3325 #endif // !defined(OS_ANDROID) | 3326 #endif // !defined(OS_ANDROID) |
3326 | 3327 |
3327 } // namespace | 3328 } // namespace |
3328 } // namespace cc | 3329 } // namespace cc |
OLD | NEW |