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 12 namespace cc { 13 PictureImageLayerImpl(LayerTreeImpl * tree_impl,int id)14PictureImageLayerImpl::PictureImageLayerImpl(LayerTreeImpl* tree_impl, int id) 15 : PictureLayerImpl(tree_impl, id) { 16 } 17 ~PictureImageLayerImpl()18PictureImageLayerImpl::~PictureImageLayerImpl() { 19 } 20 LayerTypeAsString() const21const char* PictureImageLayerImpl::LayerTypeAsString() const { 22 return "cc::PictureImageLayerImpl"; 23 } 24 CreateLayerImpl(LayerTreeImpl * tree_impl)25scoped_ptr<LayerImpl> PictureImageLayerImpl::CreateLayerImpl( 26 LayerTreeImpl* tree_impl) { 27 return PictureImageLayerImpl::Create(tree_impl, id()).PassAs<LayerImpl>(); 28 } 29 GetDebugBorderProperties(SkColor * color,float * width) const30void PictureImageLayerImpl::GetDebugBorderProperties( 31 SkColor* color, float* width) const { 32 *color = DebugColors::ImageLayerBorderColor(); 33 *width = DebugColors::ImageLayerBorderWidth(layer_tree_impl()); 34 } 35 ShouldAdjustRasterScale() const36bool PictureImageLayerImpl::ShouldAdjustRasterScale() const { 37 return false; 38 } 39 RecalculateRasterScales()40void PictureImageLayerImpl::RecalculateRasterScales() { 41 // Don't scale images during rastering to ensure image quality, save memory 42 // and avoid frequent re-rastering on change of scale. 43 raster_page_scale_ = 1.f; 44 raster_device_scale_ = 1.f; 45 raster_source_scale_ = std::max(1.f, MinimumContentsScale()); 46 raster_contents_scale_ = raster_source_scale_; 47 // We don't need low res tiles. 48 low_res_raster_contents_scale_ = raster_contents_scale_; 49 } 50 UpdateIdealScales()51void PictureImageLayerImpl::UpdateIdealScales() { 52 ideal_contents_scale_ = 1.f; 53 ideal_page_scale_ = 1.f; 54 ideal_device_scale_ = 1.f; 55 ideal_source_scale_ = 1.f; 56 } 57 58 } // namespace cc 59