Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / cc / blink / web_image_layer_impl.cc
blobefa4242b59e89e3e940a42f46027112c137e5bd7
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/picture_image_layer.h"
10 #include "third_party/skia/include/core/SkImage.h"
12 namespace cc_blink {
14 WebImageLayerImpl::WebImageLayerImpl() {
15 layer_.reset(new WebLayerImplFixedBounds(
16 cc::PictureImageLayer::Create(WebLayerImpl::LayerSettings())));
19 WebImageLayerImpl::~WebImageLayerImpl() {
22 blink::WebLayer* WebImageLayerImpl::layer() {
23 return layer_.get();
26 void WebImageLayerImpl::setImage(const SkImage* image) {
27 skia::RefPtr<const SkImage> imageRef = skia::SharePtr(image);
28 static_cast<cc::PictureImageLayer*>(layer_->layer())
29 ->SetImage(imageRef.Pass());
30 static_cast<WebLayerImplFixedBounds*>(layer_.get())
31 ->SetFixedBounds(gfx::Size(image->width(), image->height()));
34 void WebImageLayerImpl::setNearestNeighbor(bool nearest_neighbor) {
35 static_cast<cc::PictureImageLayer*>(layer_->layer())
36 ->SetNearestNeighbor(nearest_neighbor);
39 } // namespace cc_blink