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

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: Fix. 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 return; 332 return;
333 333
334 LayoutRect layerBounds = m_owningLayer.boundingBoxForCompositing(); 334 LayoutRect layerBounds = m_owningLayer.boundingBoxForCompositing();
335 335
336 // FIXME: either move this hack to RenderLayer or find a way to get rid of i t. Removing it from here 336 // FIXME: either move this hack to RenderLayer or find a way to get rid of i t. Removing it from here
337 // will alow us to get rid of m_compositedBounds. 337 // will alow us to get rid of m_compositedBounds.
338 338
339 // If the element has a transform-origin that has fixed lengths, and the ren derer has zero size, 339 // If the element has a transform-origin that has fixed lengths, and the ren derer has zero size,
340 // then we need to ensure that the compositing layer has non-zero size so th at we can apply 340 // then we need to ensure that the compositing layer has non-zero size so th at we can apply
341 // the transform-origin via the GraphicsLayer anchorPoint (which is expresse d as a fractional value). 341 // the transform-origin via the GraphicsLayer anchorPoint (which is expresse d as a fractional value).
342 // FIXME: this code is no longer necessary, remove.
342 if (layerBounds.isEmpty() && hasNonZeroTransformOrigin(renderer())) { 343 if (layerBounds.isEmpty() && hasNonZeroTransformOrigin(renderer())) {
343 layerBounds.setWidth(1); 344 layerBounds.setWidth(1);
344 layerBounds.setHeight(1); 345 layerBounds.setHeight(1);
345 m_artificiallyInflatedBounds = true; 346 m_artificiallyInflatedBounds = true;
346 } else { 347 } else {
347 m_artificiallyInflatedBounds = false; 348 m_artificiallyInflatedBounds = false;
348 } 349 }
349 350
350 m_compositedBounds = layerBounds; 351 m_compositedBounds = layerBounds;
351 } 352 }
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
816 // Update properties that depend on layer dimensions 817 // Update properties that depend on layer dimensions
817 FloatPoint3D transformOrigin = computeTransformOrigin(IntRect(IntPoint() , layerBounds.size())); 818 FloatPoint3D transformOrigin = computeTransformOrigin(IntRect(IntPoint() , layerBounds.size()));
818 819
819 // |transformOrigin| is in the local space of this layer. layerBounds - relativeCompositingBounds converts to the space of the 820 // |transformOrigin| is in the local space of this layer. layerBounds - relativeCompositingBounds converts to the space of the
820 // compositing bounds relative to the composited ancestor. This does not apply to the z direction, since the page is 2D. 821 // compositing bounds relative to the composited ancestor. This does not apply to the z direction, since the page is 2D.
821 FloatPoint3D compositedTransformOrigin( 822 FloatPoint3D compositedTransformOrigin(
822 layerBounds.x() - relativeCompositingBounds.x() + transformOrigin.x( ), 823 layerBounds.x() - relativeCompositingBounds.x() + transformOrigin.x( ),
823 layerBounds.y() - relativeCompositingBounds.y() + transformOrigin.y( ), 824 layerBounds.y() - relativeCompositingBounds.y() + transformOrigin.y( ),
824 transformOrigin.z()); 825 transformOrigin.z());
825 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin); 826 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin);
826
827 // Compute the anchor point, which is in the center of the renderer box unless transform-origin is set.
828 // FIXME: get rid of anchor once transformOrigin is plumbed.
829 FloatPoint3D anchor(
830 relativeCompositingBounds.width() ? compositedTransformOrigin.x() / relativeCompositingBounds.width() : 0.5f,
831 relativeCompositingBounds.height() ? compositedTransformOrigin.y() / relativeCompositingBounds.height() : 0.5f,
832 transformOrigin.z());
833 m_graphicsLayer->setAnchorPoint(anchor);
834 } else { 827 } else {
835 FloatPoint3D compositedTransformOrigin( 828 FloatPoint3D compositedTransformOrigin(
836 relativeCompositingBounds.width() * 0.5f, 829 relativeCompositingBounds.width() * 0.5f,
837 relativeCompositingBounds.height() * 0.5f, 830 relativeCompositingBounds.height() * 0.5f,
838 0.f); 831 0.f);
839 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin); 832 m_graphicsLayer->setTransformOrigin(compositedTransformOrigin);
840 m_graphicsLayer->setAnchorPoint(FloatPoint3D(0.5f, 0.5f, 0));
841 } 833 }
842 } 834 }
843 835
844 void CompositedLayerMapping::updateReflectionLayerGeometry() 836 void CompositedLayerMapping::updateReflectionLayerGeometry()
845 { 837 {
846 if (!m_owningLayer.reflectionInfo() || !m_owningLayer.reflectionInfo()->refl ectionLayer()->hasCompositedLayerMapping()) 838 if (!m_owningLayer.reflectionInfo() || !m_owningLayer.reflectionInfo()->refl ectionLayer()->hasCompositedLayerMapping())
847 return; 839 return;
848 840
849 CompositedLayerMappingPtr reflectionCompositedLayerMapping = m_owningLayer.r eflectionInfo()->reflectionLayer()->compositedLayerMapping(); 841 CompositedLayerMappingPtr reflectionCompositedLayerMapping = m_owningLayer.r eflectionInfo()->reflectionLayer()->compositedLayerMapping();
850 reflectionCompositedLayerMapping->updateGraphicsLayerGeometry(GraphicsLayerU pdater::ForceUpdate, &m_owningLayer); 842 reflectionCompositedLayerMapping->updateGraphicsLayerGeometry(GraphicsLayerU pdater::ForceUpdate, &m_owningLayer);
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 return layerChanged; 1353 return layerChanged;
1362 } 1354 }
1363 1355
1364 bool CompositedLayerMapping::updateBackgroundLayer(bool needsBackgroundLayer) 1356 bool CompositedLayerMapping::updateBackgroundLayer(bool needsBackgroundLayer)
1365 { 1357 {
1366 bool layerChanged = false; 1358 bool layerChanged = false;
1367 if (needsBackgroundLayer) { 1359 if (needsBackgroundLayer) {
1368 if (!m_backgroundLayer) { 1360 if (!m_backgroundLayer) {
1369 m_backgroundLayer = createGraphicsLayer(CompositingReasonLayerForBac kground); 1361 m_backgroundLayer = createGraphicsLayer(CompositingReasonLayerForBac kground);
1370 m_backgroundLayer->setDrawsContent(true); 1362 m_backgroundLayer->setDrawsContent(true);
1371 m_backgroundLayer->setAnchorPoint(FloatPoint3D());
1372 m_backgroundLayer->setTransformOrigin(FloatPoint3D()); 1363 m_backgroundLayer->setTransformOrigin(FloatPoint3D());
1373 m_backgroundLayer->setPaintingPhase(GraphicsLayerPaintBackground); 1364 m_backgroundLayer->setPaintingPhase(GraphicsLayerPaintBackground);
1374 #if !OS(ANDROID) 1365 #if !OS(ANDROID)
1375 m_backgroundLayer->contentLayer()->setDrawCheckerboardForMissingTile s(true); 1366 m_backgroundLayer->contentLayer()->setDrawCheckerboardForMissingTile s(true);
1376 m_graphicsLayer->contentLayer()->setDrawCheckerboardForMissingTiles( false); 1367 m_graphicsLayer->contentLayer()->setDrawCheckerboardForMissingTiles( false);
1377 #endif 1368 #endif
1378 layerChanged = true; 1369 layerChanged = true;
1379 } 1370 }
1380 } else { 1371 } else {
1381 if (m_backgroundLayer) { 1372 if (m_backgroundLayer) {
(...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after
2249 } else if (graphicsLayer == m_scrollingContentsLayer.get()) { 2240 } else if (graphicsLayer == m_scrollingContentsLayer.get()) {
2250 name = "Scrolling Contents Layer"; 2241 name = "Scrolling Contents Layer";
2251 } else { 2242 } else {
2252 ASSERT_NOT_REACHED(); 2243 ASSERT_NOT_REACHED();
2253 } 2244 }
2254 2245
2255 return name; 2246 return name;
2256 } 2247 }
2257 2248
2258 } // namespace WebCore 2249 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorLayerTreeAgent.cpp ('k') | Source/platform/graphics/GraphicsLayer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698