| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 | 242 |
| 243 bool RenderLayer::hasAcceleratedCompositing() const | 243 bool RenderLayer::hasAcceleratedCompositing() const |
| 244 { | 244 { |
| 245 #if USE(ACCELERATED_COMPOSITING) | 245 #if USE(ACCELERATED_COMPOSITING) |
| 246 return compositor()->hasAcceleratedCompositing(); | 246 return compositor()->hasAcceleratedCompositing(); |
| 247 #else | 247 #else |
| 248 return false; | 248 return false; |
| 249 #endif | 249 #endif |
| 250 } | 250 } |
| 251 | 251 |
| 252 bool RenderLayer::canRender3DTransforms() const |
| 253 { |
| 254 #if USE(ACCELERATED_COMPOSITING) |
| 255 return compositor()->canRender3DTransforms(); |
| 256 #else |
| 257 return false; |
| 258 #endif |
| 259 } |
| 260 |
| 252 void RenderLayer::updateLayerPositions(UpdateLayerPositionsFlags flags, IntPoint
* cachedOffset) | 261 void RenderLayer::updateLayerPositions(UpdateLayerPositionsFlags flags, IntPoint
* cachedOffset) |
| 253 { | 262 { |
| 254 if (flags & DoFullRepaint) { | 263 if (flags & DoFullRepaint) { |
| 255 renderer()->repaint(); | 264 renderer()->repaint(); |
| 256 #if USE(ACCELERATED_COMPOSITING) | 265 #if USE(ACCELERATED_COMPOSITING) |
| 257 flags &= ~CheckForRepaint; | 266 flags &= ~CheckForRepaint; |
| 258 // We need the full repaint to propagate to child layers if we are hardw
are compositing. | 267 // We need the full repaint to propagate to child layers if we are hardw
are compositing. |
| 259 if (!compositor()->inCompositingMode()) | 268 if (!compositor()->inCompositingMode()) |
| 260 flags &= ~DoFullRepaint; | 269 flags &= ~DoFullRepaint; |
| 261 #else | 270 #else |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 m_transform.set(new TransformationMatrix); | 431 m_transform.set(new TransformationMatrix); |
| 423 else | 432 else |
| 424 m_transform.clear(); | 433 m_transform.clear(); |
| 425 } | 434 } |
| 426 | 435 |
| 427 if (hasTransform) { | 436 if (hasTransform) { |
| 428 RenderBox* box = renderBox(); | 437 RenderBox* box = renderBox(); |
| 429 ASSERT(box); | 438 ASSERT(box); |
| 430 m_transform->makeIdentity(); | 439 m_transform->makeIdentity(); |
| 431 box->style()->applyTransform(*m_transform, box->borderBoxRect().size(),
RenderStyle::IncludeTransformOrigin); | 440 box->style()->applyTransform(*m_transform, box->borderBoxRect().size(),
RenderStyle::IncludeTransformOrigin); |
| 432 makeMatrixRenderable(*m_transform, hasAcceleratedCompositing()); | 441 makeMatrixRenderable(*m_transform, canRender3DTransforms()); |
| 433 } | 442 } |
| 434 | 443 |
| 435 if (had3DTransform != has3DTransform()) | 444 if (had3DTransform != has3DTransform()) |
| 436 dirty3DTransformedDescendantStatus(); | 445 dirty3DTransformedDescendantStatus(); |
| 437 } | 446 } |
| 438 | 447 |
| 439 TransformationMatrix RenderLayer::currentTransform() const | 448 TransformationMatrix RenderLayer::currentTransform() const |
| 440 { | 449 { |
| 441 if (!m_transform) | 450 if (!m_transform) |
| 442 return TransformationMatrix(); | 451 return TransformationMatrix(); |
| 443 | 452 |
| 444 #if USE(ACCELERATED_COMPOSITING) | 453 #if USE(ACCELERATED_COMPOSITING) |
| 445 if (renderer()->style()->isRunningAcceleratedAnimation()) { | 454 if (renderer()->style()->isRunningAcceleratedAnimation()) { |
| 446 TransformationMatrix currTransform; | 455 TransformationMatrix currTransform; |
| 447 RefPtr<RenderStyle> style = renderer()->animation()->getAnimatedStyleFor
Renderer(renderer()); | 456 RefPtr<RenderStyle> style = renderer()->animation()->getAnimatedStyleFor
Renderer(renderer()); |
| 448 style->applyTransform(currTransform, renderBox()->borderBoxRect().size()
, RenderStyle::IncludeTransformOrigin); | 457 style->applyTransform(currTransform, renderBox()->borderBoxRect().size()
, RenderStyle::IncludeTransformOrigin); |
| 449 makeMatrixRenderable(currTransform, hasAcceleratedCompositing()); | 458 makeMatrixRenderable(currTransform, canRender3DTransforms()); |
| 450 return currTransform; | 459 return currTransform; |
| 451 } | 460 } |
| 452 #endif | 461 #endif |
| 453 | 462 |
| 454 return *m_transform; | 463 return *m_transform; |
| 455 } | 464 } |
| 456 | 465 |
| 457 TransformationMatrix RenderLayer::renderableTransform(PaintBehavior paintBehavio
r) const | 466 TransformationMatrix RenderLayer::renderableTransform(PaintBehavior paintBehavio
r) const |
| 458 { | 467 { |
| 459 if (!m_transform) | 468 if (!m_transform) |
| (...skipping 3469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3929 } | 3938 } |
| 3930 } | 3939 } |
| 3931 | 3940 |
| 3932 void showLayerTree(const WebCore::RenderObject* renderer) | 3941 void showLayerTree(const WebCore::RenderObject* renderer) |
| 3933 { | 3942 { |
| 3934 if (!renderer) | 3943 if (!renderer) |
| 3935 return; | 3944 return; |
| 3936 showLayerTree(renderer->enclosingLayer()); | 3945 showLayerTree(renderer->enclosingLayer()); |
| 3937 } | 3946 } |
| 3938 #endif | 3947 #endif |
| OLD | NEW |