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.
5 #include "cc/blink/web_image_layer_impl.h"
7 #include "cc/blink/web_layer_impl.h"
8 #include "cc/blink/web_layer_impl_fixed_bounds.h"
9 #include "cc/layers/image_layer.h"
10 #include "cc/layers/picture_image_layer.h"
14 WebImageLayerImpl::WebImageLayerImpl() {
15 if (WebLayerImpl::UsingPictureLayer())
16 layer_
.reset(new WebLayerImplFixedBounds(cc::PictureImageLayer::Create()));
18 layer_
.reset(new WebLayerImpl(cc::ImageLayer::Create()));
21 WebImageLayerImpl::~WebImageLayerImpl() {
24 blink::WebLayer
* WebImageLayerImpl::layer() {
28 void WebImageLayerImpl::setImageBitmap(const SkBitmap
& bitmap
) {
29 if (WebLayerImpl::UsingPictureLayer()) {
30 static_cast<cc::PictureImageLayer
*>(layer_
->layer())->SetBitmap(bitmap
);
31 static_cast<WebLayerImplFixedBounds
*>(layer_
.get())
32 ->SetFixedBounds(gfx::Size(bitmap
.width(), bitmap
.height()));
34 static_cast<cc::ImageLayer
*>(layer_
->layer())->SetBitmap(bitmap
);
38 void WebImageLayerImpl::setNearestNeighbor(bool nearest_neighbor
) {
39 if (WebLayerImpl::UsingPictureLayer()) {
40 static_cast<cc::PictureImageLayer
*>(layer_
->layer())
41 ->SetNearestNeighbor(nearest_neighbor
);
45 } // namespace cc_blink