Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: Source/core/rendering/compositing/CompositedLayerMapping.cpp

Issue 311273008: Remove anchorPoint from WebLayer and GraphicsLayer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 return; 338 return;
339 339
340 LayoutRect layerBounds = m_owningLayer.boundingBoxForCompositing(); 340 LayoutRect layerBounds = m_owningLayer.boundingBoxForCompositing();
341 341
342 // FIXME: either move this hack to RenderLayer or find a way to get rid of i t. Removing it from here 342 // FIXME: either move this hack to RenderLayer or find a way to get rid of i t. Removing it from here
343 // will alow us to get rid of m_compositedBounds. 343 // will alow us to get rid of m_compositedBounds.
344 344
345 // If the element has a transform-origin that has fixed lengths, and the ren derer has zero size, 345 // If the element has a transform-origin that has fixed lengths, and the ren derer has zero size,
346 // then we need to ensure that the compositing layer has non-zero size so th at we can apply 346 // then we need to ensure that the compositing layer has non-zero size so th at we can apply
347 // the transform-origin via the GraphicsLayer anchorPoint (which is expresse d as a fractional value). 347 // the transform-origin via the GraphicsLayer anchorPoint (which is expresse d as a fractional value).
348 // FIXME: this code is no longer necessary, remove.
348 if (layerBounds.isEmpty() && hasNonZeroTransformOrigin(renderer())) { 349 if (layerBounds.isEmpty() && hasNonZeroTransformOrigin(renderer())) {
349 layerBounds.setWidth(1); 350 layerBounds.setWidth(1);
350 layerBounds.setHeight(1); 351 layerBounds.setHeight(1);
351 m_artificiallyInflatedBounds = true; 352 m_artificiallyInflatedBounds = true;
352 } else { 353 } else {
353 m_artificiallyInflatedBounds = false; 354 m_artificiallyInflatedBounds = false;
354 } 355 }
355 356
356 m_compositedBounds = layerBounds; 357 m_compositedBounds = layerBounds;
357 } 358 }
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 // Update properties that depend on layer dimensions 823 // Update properties that depend on layer dimensions
823 FloatPoint3D transformOrigin = computeTransformOrigin(IntRect(IntPoint() , layerBounds.size())); 824 FloatPoint3D transformOrigin = computeTransformOrigin(IntRect(IntPoint() , layerBounds.size()));
824 825
825 // |transformOrigin| is in the local space of this layer. layerBounds - relativeCompositingBounds converts to the space of the 826 // |transformOrigin| is in the local space of this layer. layerBounds - relativeCompositingBounds converts to the space of the
826 // compositing bounds relative to the composited ancestor. This does not apply to the z direction, since the page is 2D. 827 // compositing bounds relative to the composited ancestor. This does not apply to the z direction, since the page is 2D.
827 FloatPoint3D compositedTransformOrigin( 828 FloatPoint3D compositedTransformOrigin(
828 layerBounds.x() - relativeCompositingBounds.x() + transformOrigin.x( ), 829 layerBounds.x() - relativeCompositingBounds.x() + transformOrigin.x( ),
829 layerBounds.y() - relativeCompositingBounds.y() + transformOrigin.y( ), 830 layerBounds.y() - relativeCompositingBounds.y() + transformOrigin.y( ),
830 transformOrigin.z()); 831 transformOrigin.z());
831 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin); 832 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin);
832
833 // Compute the anchor point, which is in the center of the renderer box unless transform-origin is set.
834 // FIXME: get rid of anchor once transformOrigin is plumbed.
835 FloatPoint3D anchor(
836 relativeCompositingBounds.width() ? compositedTransformOrigin.x() / relativeCompositingBounds.width() : 0.5f,
837 relativeCompositingBounds.height() ? compositedTransformOrigin.y() / relativeCompositingBounds.height() : 0.5f,
838 transformOrigin.z());
839 m_graphicsLayer->setAnchorPoint(anchor);
840 } else { 833 } else {
841 FloatPoint3D compositedTransformOrigin( 834 FloatPoint3D compositedTransformOrigin(
842 relativeCompositingBounds.width() * 0.5f, 835 relativeCompositingBounds.width() * 0.5f,
843 relativeCompositingBounds.height() * 0.5f, 836 relativeCompositingBounds.height() * 0.5f,
844 0.f); 837 0.f);
845 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin); 838 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin);
846 m_graphicsLayer->setAnchorPoint(FloatPoint3D(0.5f, 0.5f, 0));
847 } 839 }
848 } 840 }
849 841
850 void CompositedLayerMapping::updateReflectionLayerGeometry() 842 void CompositedLayerMapping::updateReflectionLayerGeometry()
851 { 843 {
852 if (!m_owningLayer.reflectionInfo() || !m_owningLayer.reflectionInfo()->refl ectionLayer()->hasCompositedLayerMapping()) 844 if (!m_owningLayer.reflectionInfo() || !m_owningLayer.reflectionInfo()->refl ectionLayer()->hasCompositedLayerMapping())
853 return; 845 return;
854 846
855 CompositedLayerMappingPtr reflectionCompositedLayerMapping = m_owningLayer.r eflectionInfo()->reflectionLayer()->compositedLayerMapping(); 847 CompositedLayerMappingPtr reflectionCompositedLayerMapping = m_owningLayer.r eflectionInfo()->reflectionLayer()->compositedLayerMapping();
856 reflectionCompositedLayerMapping->updateGraphicsLayerGeometry(GraphicsLayerU pdater::ForceUpdate, &m_owningLayer); 848 reflectionCompositedLayerMapping->updateGraphicsLayerGeometry(GraphicsLayerU pdater::ForceUpdate, &m_owningLayer);
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
1367 return layerChanged; 1359 return layerChanged;
1368 } 1360 }
1369 1361
1370 bool CompositedLayerMapping::updateBackgroundLayer(bool needsBackgroundLayer) 1362 bool CompositedLayerMapping::updateBackgroundLayer(bool needsBackgroundLayer)
1371 { 1363 {
1372 bool layerChanged = false; 1364 bool layerChanged = false;
1373 if (needsBackgroundLayer) { 1365 if (needsBackgroundLayer) {
1374 if (!m_backgroundLayer) { 1366 if (!m_backgroundLayer) {
1375 m_backgroundLayer = createGraphicsLayer(CompositingReasonLayerForBac kground); 1367 m_backgroundLayer = createGraphicsLayer(CompositingReasonLayerForBac kground);
1376 m_backgroundLayer->setDrawsContent(true); 1368 m_backgroundLayer->setDrawsContent(true);
1377 m_backgroundLayer->setAnchorPoint(FloatPoint3D());
1378 m_backgroundLayer->setTransformOrigin(FloatPoint3D()); 1369 m_backgroundLayer->setTransformOrigin(FloatPoint3D());
1379 m_backgroundLayer->setPaintingPhase(GraphicsLayerPaintBackground); 1370 m_backgroundLayer->setPaintingPhase(GraphicsLayerPaintBackground);
1380 #if !OS(ANDROID) 1371 #if !OS(ANDROID)
1381 m_backgroundLayer->contentLayer()->setDrawCheckerboardForMissingTile s(true); 1372 m_backgroundLayer->contentLayer()->setDrawCheckerboardForMissingTile s(true);
1382 m_graphicsLayer->contentLayer()->setDrawCheckerboardForMissingTiles( false); 1373 m_graphicsLayer->contentLayer()->setDrawCheckerboardForMissingTiles( false);
1383 #endif 1374 #endif
1384 layerChanged = true; 1375 layerChanged = true;
1385 } 1376 }
1386 } else { 1377 } else {
1387 if (m_backgroundLayer) { 1378 if (m_backgroundLayer) {
(...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after
2255 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { 2246 } else if (graphicsLayer == m_scrollingContentsLayer.get()) {
2256 name = "Scrolling Contents Layer"; 2247 name = "Scrolling Contents Layer";
2257 } else { 2248 } else {
2258 ASSERT_NOT_REACHED(); 2249 ASSERT_NOT_REACHED();
2259 } 2250 }
2260 2251
2261 return name; 2252 return name;
2262 } 2253 }
2263 2254
2264 } // namespace WebCore 2255 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698