Index: Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
diff --git a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
index 6b4138b66064792b7e32429ee8adf85d9171312b..0a3e01a49fa1c4e614e92f915dcf94ee9efe627f 100644 |
--- a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
+++ b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
@@ -307,4 +307,40 @@ void ShapeOutsideInfo::updateDeltasForContainingBlockLine(const RenderBlockFlow& |
} |
} |
+LayoutRect ShapeOutsideInfo::computedShapePhysicalBoundingBox() const |
+{ |
+ LayoutRect physicalBoundingBox = computedShape().shapeMarginLogicalBoundingBox(); |
+ if (m_renderer.style()->isFlippedBlocksWritingMode()) { |
+ physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset()); |
apavlov
2014/05/06 09:12:10
Looks like leviw@ meant that only setY() should go
|
+ physicalBoundingBox.setY(m_renderer.logicalHeight() - physicalBoundingBox.maxY()); |
+ } else { |
+ physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset()); |
apavlov
2014/05/06 09:12:10
This one will go away then...
|
+ physicalBoundingBox.setY(physicalBoundingBox.y() + logicalTopOffset()); |
+ } |
+ if (!m_renderer.style()->isHorizontalWritingMode()) { |
+ physicalBoundingBox = physicalBoundingBox.transposedRect(); |
+ } else { |
+ physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset()); |
apavlov
2014/05/06 09:12:10
...as well as this one.
|
+ physicalBoundingBox.setY(physicalBoundingBox.y() + logicalTopOffset()); |
+ } |
+ return physicalBoundingBox; |
+} |
+ |
+FloatPoint ShapeOutsideInfo::shapeToRendererPoint(FloatPoint point) const |
+{ |
+ FloatPoint result = FloatPoint(point.x() + logicalLeftOffset(), point.y() + logicalTopOffset()); |
+ if (m_renderer.style()->isFlippedBlocksWritingMode()) |
+ result.setY(m_renderer.logicalHeight() - result.y()); |
+ if (!m_renderer.style()->isHorizontalWritingMode()) |
+ result = result.transposedPoint(); |
+ return result; |
+} |
+ |
+FloatSize ShapeOutsideInfo::shapeToRendererSize(FloatSize size) const |
+{ |
+ if (!m_renderer.style()->isHorizontalWritingMode()) |
+ return size.transposedSize(); |
+ return size; |
+} |
+ |
} |