1f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "cc/blink/web_image_layer_impl.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "cc/blink/web_layer_impl.h" 803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "cc/blink/web_layer_impl_fixed_bounds.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/layers/image_layer.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/layers/picture_image_layer.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace cc_blink { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)WebImageLayerImpl::WebImageLayerImpl() { 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) if (WebLayerImpl::UsingPictureLayer()) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) layer_.reset(new WebLayerImplFixedBounds(cc::PictureImageLayer::Create())); 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) else 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) layer_.reset(new WebLayerImpl(cc::ImageLayer::Create())); 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 21f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)WebImageLayerImpl::~WebImageLayerImpl() { 22f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 24f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)blink::WebLayer* WebImageLayerImpl::layer() { 25f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) return layer_.get(); 26f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid WebImageLayerImpl::setImageBitmap(const SkBitmap& bitmap) { 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) if (WebLayerImpl::UsingPictureLayer()) { 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static_cast<cc::PictureImageLayer*>(layer_->layer())->SetBitmap(bitmap); 3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) static_cast<WebLayerImplFixedBounds*>(layer_.get()) 3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) ->SetFixedBounds(gfx::Size(bitmap.width(), bitmap.height())); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } else { 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static_cast<cc::ImageLayer*>(layer_->layer())->SetBitmap(bitmap); 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) } 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} // namespace cc_blink 39