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 3// found in the LICENSE file. 4 5#include "cc/test/fake_picture_layer_tiling_client.h" 6 7#include <limits> 8 9#include "cc/test/fake_picture_pile_impl.h" 10#include "cc/test/fake_tile_manager.h" 11 12namespace cc { 13 14FakePictureLayerTilingClient::FakePictureLayerTilingClient() 15 : tile_manager_(new FakeTileManager(&tile_manager_client_)), 16 pile_(FakePicturePileImpl::CreateInfiniteFilledPile()), 17 twin_tiling_(NULL), 18 recycled_twin_tiling_(NULL), 19 allow_create_tile_(true), 20 max_tiles_for_interest_area_(10000), 21 skewport_target_time_in_seconds_(1.0f), 22 skewport_extrapolation_limit_in_content_pixels_(2000) { 23} 24 25FakePictureLayerTilingClient::FakePictureLayerTilingClient( 26 ResourceProvider* resource_provider) 27 : resource_pool_( 28 ResourcePool::Create(resource_provider, GL_TEXTURE_2D, RGBA_8888)), 29 tile_manager_( 30 new FakeTileManager(&tile_manager_client_, resource_pool_.get())), 31 pile_(FakePicturePileImpl::CreateInfiniteFilledPile()), 32 twin_tiling_(NULL), 33 recycled_twin_tiling_(NULL), 34 allow_create_tile_(true), 35 max_tiles_for_interest_area_(10000), 36 skewport_target_time_in_seconds_(1.0f) { 37} 38 39FakePictureLayerTilingClient::~FakePictureLayerTilingClient() { 40} 41 42scoped_refptr<Tile> FakePictureLayerTilingClient::CreateTile( 43 PictureLayerTiling*, 44 const gfx::Rect& rect) { 45 if (!allow_create_tile_) 46 return scoped_refptr<Tile>(); 47 return tile_manager_->CreateTile(pile_.get(), tile_size_, rect, 1, 0, 0, 0); 48} 49 50PicturePileImpl* FakePictureLayerTilingClient::GetPile() { 51 return pile_.get(); 52} 53 54void FakePictureLayerTilingClient::SetTileSize(const gfx::Size& tile_size) { 55 tile_size_ = tile_size; 56} 57 58gfx::Size FakePictureLayerTilingClient::CalculateTileSize( 59 const gfx::Size& /* content_bounds */) const { 60 return tile_size_; 61} 62 63size_t FakePictureLayerTilingClient::GetMaxTilesForInterestArea() const { 64 return max_tiles_for_interest_area_; 65} 66 67float FakePictureLayerTilingClient::GetSkewportTargetTimeInSeconds() const { 68 return skewport_target_time_in_seconds_; 69} 70 71int FakePictureLayerTilingClient::GetSkewportExtrapolationLimitInContentPixels() 72 const { 73 return skewport_extrapolation_limit_in_content_pixels_; 74} 75 76const Region* FakePictureLayerTilingClient::GetInvalidation() { 77 return &invalidation_; 78} 79 80const PictureLayerTiling* FakePictureLayerTilingClient::GetTwinTiling( 81 const PictureLayerTiling* tiling) const { 82 return twin_tiling_; 83} 84 85PictureLayerTiling* FakePictureLayerTilingClient::GetRecycledTwinTiling( 86 const PictureLayerTiling* tiling) { 87 return recycled_twin_tiling_; 88} 89 90WhichTree FakePictureLayerTilingClient::GetTree() const { 91 return tree_; 92} 93 94} // namespace cc 95