1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "cc/test/layer_tree_host_common_test.h" 6 7#include "cc/layers/layer.h" 8#include "cc/layers/layer_impl.h" 9#include "cc/trees/layer_tree_host_common.h" 10 11namespace cc { 12 13LayerTreeHostCommonTestBase::LayerTreeHostCommonTestBase() 14 : render_surface_layer_list_count_(0) { 15} 16 17LayerTreeHostCommonTestBase::~LayerTreeHostCommonTestBase() { 18} 19 20void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( 21 Layer* layer, 22 const gfx::Transform& transform, 23 const gfx::Point3F& transform_origin, 24 const gfx::PointF& position, 25 const gfx::Size& bounds, 26 bool flatten_transform, 27 bool is_3d_sorted) { 28 SetLayerPropertiesForTestingInternal<Layer>(layer, 29 transform, 30 transform_origin, 31 position, 32 bounds, 33 flatten_transform, 34 is_3d_sorted); 35} 36 37void LayerTreeHostCommonTestBase::SetLayerPropertiesForTesting( 38 LayerImpl* layer, 39 const gfx::Transform& transform, 40 const gfx::Point3F& transform_origin, 41 const gfx::PointF& position, 42 const gfx::Size& bounds, 43 bool flatten_transform, 44 bool is_3d_sorted) { 45 SetLayerPropertiesForTestingInternal<LayerImpl>(layer, 46 transform, 47 transform_origin, 48 position, 49 bounds, 50 flatten_transform, 51 is_3d_sorted); 52 layer->SetContentBounds(bounds); 53} 54 55void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( 56 Layer* root_layer, 57 float device_scale_factor, 58 float page_scale_factor, 59 Layer* page_scale_application_layer, 60 bool can_use_lcd_text) { 61 EXPECT_TRUE(page_scale_application_layer || (page_scale_factor == 1.f)); 62 gfx::Transform identity_matrix; 63 gfx::Size device_viewport_size = 64 gfx::Size(root_layer->bounds().width() * device_scale_factor, 65 root_layer->bounds().height() * device_scale_factor); 66 67 render_surface_layer_list_.reset(new RenderSurfaceLayerList); 68 69 // We are probably not testing what is intended if the root_layer bounds are 70 // empty. 71 DCHECK(!root_layer->bounds().IsEmpty()); 72 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting inputs( 73 root_layer, device_viewport_size, render_surface_layer_list_.get()); 74 inputs.device_scale_factor = device_scale_factor; 75 inputs.page_scale_factor = page_scale_factor; 76 inputs.page_scale_application_layer = page_scale_application_layer; 77 inputs.can_use_lcd_text = can_use_lcd_text; 78 inputs.can_adjust_raster_scales = true; 79 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 80} 81 82void LayerTreeHostCommonTestBase::ExecuteCalculateDrawProperties( 83 LayerImpl* root_layer, 84 float device_scale_factor, 85 float page_scale_factor, 86 LayerImpl* page_scale_application_layer, 87 bool can_use_lcd_text) { 88 gfx::Transform identity_matrix; 89 gfx::Size device_viewport_size = 90 gfx::Size(root_layer->bounds().width() * device_scale_factor, 91 root_layer->bounds().height() * device_scale_factor); 92 93 render_surface_layer_list_impl_.reset(new LayerImplList); 94 95 // We are probably not testing what is intended if the root_layer bounds are 96 // empty. 97 DCHECK(!root_layer->bounds().IsEmpty()); 98 LayerTreeHostCommon::CalcDrawPropsImplInputsForTesting inputs( 99 root_layer, device_viewport_size, render_surface_layer_list_impl_.get()); 100 inputs.device_scale_factor = device_scale_factor; 101 inputs.page_scale_factor = page_scale_factor; 102 inputs.page_scale_application_layer = page_scale_application_layer; 103 inputs.can_use_lcd_text = can_use_lcd_text; 104 inputs.can_adjust_raster_scales = true; 105 106 ++render_surface_layer_list_count_; 107 inputs.current_render_surface_layer_list_id = 108 render_surface_layer_list_count_; 109 110 LayerTreeHostCommon::CalculateDrawProperties(&inputs); 111} 112 113} // namespace cc 114