picture_image_layer_impl.cc revision a93a17c8d99d686bd4a1511e5504e5e6cc9fcadf
1// Copyright 2013 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/layers/picture_image_layer_impl.h" 6 7#include <algorithm> 8 9#include "cc/debug/debug_colors.h" 10#include "cc/trees/layer_tree_impl.h" 11 12namespace cc { 13 14PictureImageLayerImpl::PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id) 15 : PictureLayerImpl(tree_impl, id) { 16} 17 18PictureImageLayerImpl::~PictureImageLayerImpl() { 19} 20 21const char* PictureImageLayerImpl::LayerTypeAsString() const { 22 return "cc::PictureImageLayerImpl"; 23} 24 25scoped_ptr<LayerImpl> PictureImageLayerImpl::CreateLayerImpl( 26 LayerTreeImpl* tree_impl) { 27 return PictureImageLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>(); 28} 29 30void PictureImageLayerImpl::GetDebugBorderProperties( 31 SkColor* color, float* width) const { 32 *color = DebugColors::ImageLayerBorderColor(); 33 *width = DebugColors::ImageLayerBorderWidth(layer_tree_impl()); 34} 35 36bool PictureImageLayerImpl::ShouldAdjustRasterScale( 37 bool animating_transform_to_screen) const { 38 return false; 39} 40 41void PictureImageLayerImpl::CalculateRasterContentsScale( 42 bool animating_transform_to_screen, 43 float* raster_contents_scale, 44 float* low_res_raster_contents_scale) const { 45 // Don't scale images during rastering to ensure image quality, save memory 46 // and avoid frequent re-rastering on change of scale. 47 *raster_contents_scale = std::max(1.f, MinimumContentsScale()); 48 // We don't need low res tiles. 49 *low_res_raster_contents_scale = *raster_contents_scale; 50} 51 52} // namespace cc 53