| 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 "web_layer_impl.h" | 5 #include "web_layer_impl.h" |
| 6 | 6 |
| 7 #include "SkMatrix44.h" | 7 #include "SkMatrix44.h" |
| 8 #ifdef LOG | 8 #ifdef LOG |
| 9 #undef LOG | 9 #undef LOG |
| 10 #endif | 10 #endif |
| 11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
| 12 #include "cc/active_animation.h" | 12 #include "cc/active_animation.h" |
| 13 #include "cc/layer.h" | 13 #include "cc/layer.h" |
| 14 #include "cc/region.h" | 14 #include "cc/region.h" |
| 15 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatPoint.h" | 15 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatPoint.h" |
| 16 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatRect.h" | 16 #include "third_party/WebKit/Source/Platform/chromium/public/WebFloatRect.h" |
| 17 #include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" | 17 #include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" |
| 18 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" | 18 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" |
| 19 #include "web_animation_impl.h" | 19 #include "web_animation_impl.h" |
| 20 | 20 |
| 21 using cc::ActiveAnimation; | 21 using cc::ActiveAnimation; |
| 22 using cc::Layer; | 22 using cc::Layer; |
| 23 | 23 |
| 24 namespace WebKit { | 24 namespace WebKit { |
| 25 | 25 |
| 26 namespace { | |
| 27 | |
| 28 WebTransformationMatrix transformationMatrixFromSkMatrix44(const SkMatrix44& mat
rix) | |
| 29 { | |
| 30 double data[16]; | |
| 31 matrix.asColMajord(data); | |
| 32 return WebTransformationMatrix(data[0], data[1], data[2], data[3], | |
| 33 data[4], data[5], data[6], data[7], | |
| 34 data[8], data[9], data[10], data[11], | |
| 35 data[12], data[13], data[14], data[15]); | |
| 36 } | |
| 37 | |
| 38 SkMatrix44 skMatrix44FromTransformationMatrix(const WebTransformationMatrix& mat
rix) | |
| 39 { | |
| 40 SkMatrix44 skMatrix; | |
| 41 skMatrix.set(0, 0, SkDoubleToMScalar(matrix.m11())); | |
| 42 skMatrix.set(1, 0, SkDoubleToMScalar(matrix.m12())); | |
| 43 skMatrix.set(2, 0, SkDoubleToMScalar(matrix.m13())); | |
| 44 skMatrix.set(3, 0, SkDoubleToMScalar(matrix.m14())); | |
| 45 skMatrix.set(0, 1, SkDoubleToMScalar(matrix.m21())); | |
| 46 skMatrix.set(1, 1, SkDoubleToMScalar(matrix.m22())); | |
| 47 skMatrix.set(2, 1, SkDoubleToMScalar(matrix.m23())); | |
| 48 skMatrix.set(3, 1, SkDoubleToMScalar(matrix.m24())); | |
| 49 skMatrix.set(0, 2, SkDoubleToMScalar(matrix.m31())); | |
| 50 skMatrix.set(1, 2, SkDoubleToMScalar(matrix.m32())); | |
| 51 skMatrix.set(2, 2, SkDoubleToMScalar(matrix.m33())); | |
| 52 skMatrix.set(3, 2, SkDoubleToMScalar(matrix.m34())); | |
| 53 skMatrix.set(0, 3, SkDoubleToMScalar(matrix.m41())); | |
| 54 skMatrix.set(1, 3, SkDoubleToMScalar(matrix.m42())); | |
| 55 skMatrix.set(2, 3, SkDoubleToMScalar(matrix.m43())); | |
| 56 skMatrix.set(3, 3, SkDoubleToMScalar(matrix.m44())); | |
| 57 return skMatrix; | |
| 58 } | |
| 59 | |
| 60 } | |
| 61 | |
| 62 WebLayer* WebLayer::create() | 26 WebLayer* WebLayer::create() |
| 63 { | 27 { |
| 64 return new WebLayerImpl(); | 28 return new WebLayerImpl(); |
| 65 } | 29 } |
| 66 | 30 |
| 67 WebLayerImpl::WebLayerImpl() | 31 WebLayerImpl::WebLayerImpl() |
| 68 : m_layer(Layer::create()) | 32 : m_layer(Layer::create()) |
| 69 { | 33 { |
| 70 } | 34 } |
| 71 | 35 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 m_layer->setPosition(position); | 160 m_layer->setPosition(position); |
| 197 } | 161 } |
| 198 | 162 |
| 199 WebFloatPoint WebLayerImpl::position() const | 163 WebFloatPoint WebLayerImpl::position() const |
| 200 { | 164 { |
| 201 return m_layer->position(); | 165 return m_layer->position(); |
| 202 } | 166 } |
| 203 | 167 |
| 204 void WebLayerImpl::setSublayerTransform(const SkMatrix44& matrix) | 168 void WebLayerImpl::setSublayerTransform(const SkMatrix44& matrix) |
| 205 { | 169 { |
| 206 m_layer->setSublayerTransform(transformationMatrixFromSkMatrix44(matrix)); | 170 gfx::Transform subLayerTransform; |
| 171 subLayerTransform.matrix() = matrix; |
| 172 m_layer->setSublayerTransform(subLayerTransform); |
| 207 } | 173 } |
| 208 | 174 |
| 209 void WebLayerImpl::setSublayerTransform(const WebTransformationMatrix& matrix) | 175 void WebLayerImpl::setSublayerTransform(const WebTransformationMatrix& matrix) |
| 210 { | 176 { |
| 211 m_layer->setSublayerTransform(matrix); | 177 m_layer->setSublayerTransform(matrix.toTransform()); |
| 212 } | 178 } |
| 213 | 179 |
| 214 SkMatrix44 WebLayerImpl::sublayerTransform() const | 180 SkMatrix44 WebLayerImpl::sublayerTransform() const |
| 215 { | 181 { |
| 216 return skMatrix44FromTransformationMatrix(m_layer->sublayerTransform()); | 182 return m_layer->sublayerTransform().matrix(); |
| 217 } | 183 } |
| 218 | 184 |
| 219 void WebLayerImpl::setTransform(const SkMatrix44& matrix) | 185 void WebLayerImpl::setTransform(const SkMatrix44& matrix) |
| 220 { | 186 { |
| 221 m_layer->setTransform(transformationMatrixFromSkMatrix44(matrix)); | 187 gfx::Transform transform; |
| 188 transform.matrix() = matrix; |
| 189 m_layer->setTransform(transform); |
| 222 } | 190 } |
| 223 | 191 |
| 224 void WebLayerImpl::setTransform(const WebTransformationMatrix& matrix) | 192 void WebLayerImpl::setTransform(const WebTransformationMatrix& matrix) |
| 225 { | 193 { |
| 226 m_layer->setTransform(matrix); | 194 m_layer->setTransform(matrix.toTransform()); |
| 227 } | 195 } |
| 228 | 196 |
| 229 SkMatrix44 WebLayerImpl::transform() const | 197 SkMatrix44 WebLayerImpl::transform() const |
| 230 { | 198 { |
| 231 return skMatrix44FromTransformationMatrix(m_layer->transform()); | 199 return m_layer->transform().matrix(); |
| 232 } | 200 } |
| 233 | 201 |
| 234 void WebLayerImpl::setDrawsContent(bool drawsContent) | 202 void WebLayerImpl::setDrawsContent(bool drawsContent) |
| 235 { | 203 { |
| 236 m_layer->setIsDrawable(drawsContent); | 204 m_layer->setIsDrawable(drawsContent); |
| 237 } | 205 } |
| 238 | 206 |
| 239 bool WebLayerImpl::drawsContent() const | 207 bool WebLayerImpl::drawsContent() const |
| 240 { | 208 { |
| 241 return m_layer->drawsContent(); | 209 return m_layer->drawsContent(); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 453 { | 421 { |
| 454 m_layer->setLayerScrollClient(scrollClient); | 422 m_layer->setLayerScrollClient(scrollClient); |
| 455 } | 423 } |
| 456 | 424 |
| 457 Layer* WebLayerImpl::layer() const | 425 Layer* WebLayerImpl::layer() const |
| 458 { | 426 { |
| 459 return m_layer.get(); | 427 return m_layer.get(); |
| 460 } | 428 } |
| 461 | 429 |
| 462 } // namespace WebKit | 430 } // namespace WebKit |
| OLD | NEW |