Chromium Code Reviews| Index: cc/test/surface_hittest_test_helpers.cc |
| diff --git a/cc/test/surface_hittest_test_helpers.cc b/cc/test/surface_hittest_test_helpers.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ea5e064cbb9321ffc3d2e3a8da8a6c0ce1c53833 |
| --- /dev/null |
| +++ b/cc/test/surface_hittest_test_helpers.cc |
| @@ -0,0 +1,95 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "cc/test/surface_hittest_test_helpers.h" |
| + |
| +#include "cc/output/compositor_frame.h" |
| +#include "cc/output/delegated_frame_data.h" |
| +#include "cc/quads/render_pass_draw_quad.h" |
| +#include "cc/quads/shared_quad_state.h" |
| +#include "cc/quads/solid_color_draw_quad.h" |
| +#include "cc/quads/surface_draw_quad.h" |
| + |
| +namespace cc { |
| +namespace test { |
| + |
| +void CreateSharedQuadState(RenderPass* pass, |
| + const gfx::Transform& transform, |
| + const gfx::Rect& root_rect) { |
| + SharedQuadState* child_shared_state = pass->CreateAndAppendSharedQuadState(); |
| + child_shared_state->SetAll(transform, root_rect.size(), root_rect, root_rect, |
| + false, 1.0f, SkXfermode::kSrcOver_Mode, 0); |
| +} |
| + |
| +void CreateSolidColorDrawQuad(RenderPass* pass, |
| + const gfx::Transform& transform, |
| + const gfx::Rect& root_rect, |
| + const gfx::Rect& quad_rect) { |
| + CreateSharedQuadState(pass, transform, root_rect); |
| + SolidColorDrawQuad* color_quad = |
| + pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>(); |
| + color_quad->SetNew(pass->shared_quad_state_list.back(), quad_rect, quad_rect, |
| + SK_ColorYELLOW, false); |
| +} |
| + |
| +void CreateRenderPassDrawQuad(RenderPass* pass, |
| + const gfx::Transform& transform, |
| + const gfx::Rect& root_rect, |
| + const gfx::Rect& quad_rect, |
| + const RenderPassId& render_pass_id) { |
| + CreateSharedQuadState(pass, transform, root_rect); |
| + RenderPassDrawQuad* render_pass_quad = |
| + pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
| + render_pass_quad->SetNew(pass->shared_quad_state_list.back(), quad_rect, |
| + quad_rect, render_pass_id, ResourceId(), |
| + gfx::Vector2dF(), gfx::Size(), FilterOperations(), |
| + gfx::Vector2dF(), FilterOperations()); |
| +} |
| + |
| +void CreateSurfaceDrawQuad(RenderPass* pass, |
| + const gfx::Transform& transform, |
| + const gfx::Rect& root_rect, |
| + const gfx::Rect& quad_rect, |
| + SurfaceId surface_id) { |
| + CreateSharedQuadState(pass, transform, root_rect); |
| + SurfaceDrawQuad* surface_quad = |
| + pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
| + surface_quad->SetNew(pass->shared_quad_state_list.back(), quad_rect, |
| + quad_rect, surface_id); |
| +} |
| + |
| +void CreateRenderPass(const RenderPassId& render_pass_id, |
| + const gfx::Rect& rect, |
| + const gfx::Transform& transform_to_root_target, |
| + RenderPassList* render_pass_list) { |
| + scoped_ptr<RenderPass> render_pass = RenderPass::Create(); |
| + render_pass->SetNew(render_pass_id, rect, rect, transform_to_root_target); |
| + render_pass_list->push_back(render_pass.Pass()); |
| +} |
| + |
| +scoped_ptr<CompositorFrame> CreateCompositorFrameWithRenderPassList( |
| + RenderPassList* render_pass_list) { |
| + scoped_ptr<DelegatedFrameData> root_delegated_frame_data( |
| + new DelegatedFrameData); |
| + root_delegated_frame_data->render_pass_list.swap(*render_pass_list); |
| + scoped_ptr<CompositorFrame> root_frame(new CompositorFrame); |
| + root_frame->delegated_frame_data = root_delegated_frame_data.Pass(); |
| + return root_frame.Pass(); |
|
danakj
2015/10/23 18:35:02
nit: return makes an rvalue, you don't need to Pas
Fady Samuel
2015/10/23 19:22:28
Done.
|
| +} |
| + |
| +scoped_ptr<CompositorFrame> CreateCompositorFrame(const gfx::Rect& root_rect, |
| + RenderPass** render_pass) { |
| + RenderPassList render_pass_list; |
| + RenderPassId root_id(1, 1); |
| + CreateRenderPass(root_id, root_rect, gfx::Transform(), &render_pass_list); |
| + |
| + scoped_ptr<CompositorFrame> root_frame = |
| + CreateCompositorFrameWithRenderPassList(&render_pass_list); |
| + |
| + *render_pass = root_frame->delegated_frame_data->render_pass_list.back(); |
| + return root_frame.Pass(); |
|
danakj
2015/10/23 18:35:02
nit: return makes an rvalue, you don't need to Pas
Fady Samuel
2015/10/23 19:22:28
Done.
|
| +} |
| + |
| +} // namespace test |
| +} // namespace cc |