| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "webkit/compositor_bindings/web_layer_impl.h" | 5 #include "webkit/compositor_bindings/web_layer_impl.h" |
| 6 | 6 |
| 7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
| 8 #include "cc/animation.h" | 8 #include "cc/animation.h" |
| 9 #include "cc/layer.h" | 9 #include "cc/layer.h" |
| 10 #include "cc/region.h" | 10 #include "cc/region.h" |
| 11 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatPoint.h" | 11 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatPoint.h" |
| 12 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatRect.h" | 12 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatRect.h" |
| 13 #include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" | 13 #include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" |
| 14 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" | 14 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" |
| 15 #include "third_party/skia/include/utils/SkMatrix44.h" | 15 #include "third_party/skia/include/utils/SkMatrix44.h" |
| 16 #include "webkit/compositor_bindings/web_animation_impl.h" | 16 #include "webkit/compositor_bindings/web_animation_impl.h" |
| 17 #include "webkit/compositor_bindings/web_transformation_matrix_util.h" |
| 17 | 18 |
| 18 using cc::Animation; | 19 using cc::Animation; |
| 19 using cc::Layer; | 20 using cc::Layer; |
| 20 | 21 using webkit::WebTransformationMatrixUtil; |
| 21 namespace { | |
| 22 gfx::Transform convertWebTransformationMatrixToTransform(const WebKit::WebTransf
ormationMatrix& matrix) | |
| 23 { | |
| 24 // TODO(jamesr): When gfx::Transform provides a constructor that does not | |
| 25 // initialize the matrix, use that. | |
| 26 gfx::Transform transform; | |
| 27 transform.matrix().setDouble(0, 0, matrix.m11()); | |
| 28 transform.matrix().setDouble(0, 1, matrix.m21()); | |
| 29 transform.matrix().setDouble(0, 2, matrix.m31()); | |
| 30 transform.matrix().setDouble(0, 3, matrix.m41()); | |
| 31 transform.matrix().setDouble(1, 0, matrix.m12()); | |
| 32 transform.matrix().setDouble(1, 1, matrix.m22()); | |
| 33 transform.matrix().setDouble(1, 2, matrix.m32()); | |
| 34 transform.matrix().setDouble(1, 3, matrix.m42()); | |
| 35 transform.matrix().setDouble(2, 0, matrix.m13()); | |
| 36 transform.matrix().setDouble(2, 1, matrix.m23()); | |
| 37 transform.matrix().setDouble(2, 2, matrix.m33()); | |
| 38 transform.matrix().setDouble(2, 3, matrix.m43()); | |
| 39 transform.matrix().setDouble(3, 0, matrix.m14()); | |
| 40 transform.matrix().setDouble(3, 1, matrix.m24()); | |
| 41 transform.matrix().setDouble(3, 2, matrix.m34()); | |
| 42 transform.matrix().setDouble(3, 3, matrix.m44()); | |
| 43 return transform; | |
| 44 } | |
| 45 } // namespace | |
| 46 | |
| 47 | 22 |
| 48 namespace WebKit { | 23 namespace WebKit { |
| 49 | 24 |
| 50 WebLayerImpl::WebLayerImpl() | 25 WebLayerImpl::WebLayerImpl() |
| 51 : m_layer(Layer::create()) | 26 : m_layer(Layer::create()) |
| 52 { | 27 { |
| 53 } | 28 } |
| 54 | 29 |
| 55 WebLayerImpl::WebLayerImpl(scoped_refptr<Layer> layer) | 30 WebLayerImpl::WebLayerImpl(scoped_refptr<Layer> layer) |
| 56 : m_layer(layer) | 31 : m_layer(layer) |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 | 161 |
| 187 void WebLayerImpl::setSublayerTransform(const SkMatrix44& matrix) | 162 void WebLayerImpl::setSublayerTransform(const SkMatrix44& matrix) |
| 188 { | 163 { |
| 189 gfx::Transform subLayerTransform; | 164 gfx::Transform subLayerTransform; |
| 190 subLayerTransform.matrix() = matrix; | 165 subLayerTransform.matrix() = matrix; |
| 191 m_layer->setSublayerTransform(subLayerTransform); | 166 m_layer->setSublayerTransform(subLayerTransform); |
| 192 } | 167 } |
| 193 | 168 |
| 194 void WebLayerImpl::setSublayerTransform(const WebTransformationMatrix& matrix) | 169 void WebLayerImpl::setSublayerTransform(const WebTransformationMatrix& matrix) |
| 195 { | 170 { |
| 196 m_layer->setSublayerTransform(convertWebTransformationMatrixToTransform(matr
ix)); | 171 m_layer->setSublayerTransform(WebTransformationMatrixUtil::ToTransform(matri
x)); |
| 197 } | 172 } |
| 198 | 173 |
| 199 SkMatrix44 WebLayerImpl::sublayerTransform() const | 174 SkMatrix44 WebLayerImpl::sublayerTransform() const |
| 200 { | 175 { |
| 201 return m_layer->sublayerTransform().matrix(); | 176 return m_layer->sublayerTransform().matrix(); |
| 202 } | 177 } |
| 203 | 178 |
| 204 void WebLayerImpl::setTransform(const SkMatrix44& matrix) | 179 void WebLayerImpl::setTransform(const SkMatrix44& matrix) |
| 205 { | 180 { |
| 206 gfx::Transform transform; | 181 gfx::Transform transform; |
| 207 transform.matrix() = matrix; | 182 transform.matrix() = matrix; |
| 208 m_layer->setTransform(transform); | 183 m_layer->setTransform(transform); |
| 209 } | 184 } |
| 210 | 185 |
| 211 void WebLayerImpl::setTransform(const WebTransformationMatrix& matrix) | 186 void WebLayerImpl::setTransform(const WebTransformationMatrix& matrix) |
| 212 { | 187 { |
| 213 m_layer->setTransform(convertWebTransformationMatrixToTransform(matrix)); | 188 m_layer->setTransform(WebTransformationMatrixUtil::ToTransform(matrix)); |
| 214 } | 189 } |
| 215 | 190 |
| 216 SkMatrix44 WebLayerImpl::transform() const | 191 SkMatrix44 WebLayerImpl::transform() const |
| 217 { | 192 { |
| 218 return m_layer->transform().matrix(); | 193 return m_layer->transform().matrix(); |
| 219 } | 194 } |
| 220 | 195 |
| 221 void WebLayerImpl::setDrawsContent(bool drawsContent) | 196 void WebLayerImpl::setDrawsContent(bool drawsContent) |
| 222 { | 197 { |
| 223 m_layer->setIsDrawable(drawsContent); | 198 m_layer->setIsDrawable(drawsContent); |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 { | 416 { |
| 442 m_layer->setLayerScrollClient(scrollClient); | 417 m_layer->setLayerScrollClient(scrollClient); |
| 443 } | 418 } |
| 444 | 419 |
| 445 Layer* WebLayerImpl::layer() const | 420 Layer* WebLayerImpl::layer() const |
| 446 { | 421 { |
| 447 return m_layer.get(); | 422 return m_layer.get(); |
| 448 } | 423 } |
| 449 | 424 |
| 450 } // namespace WebKit | 425 } // namespace WebKit |
| OLD | NEW |