| 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..43064971c36390c3b2ad7197493d70422eeb6594 100644
|
| --- a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
| +++ b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp
|
| @@ -307,4 +307,33 @@ void ShapeOutsideInfo::updateDeltasForContainingBlockLine(const RenderBlockFlow&
|
| }
|
| }
|
|
|
| +LayoutRect ShapeOutsideInfo::computedShapePhysicalBoundingBox() const
|
| +{
|
| + LayoutRect physicalBoundingBox = computedShape().shapeMarginLogicalBoundingBox();
|
| + physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset());
|
| + physicalBoundingBox.setY(physicalBoundingBox.y() + logicalTopOffset());
|
| + if (m_renderer.style()->isFlippedBlocksWritingMode())
|
| + physicalBoundingBox.setY(m_renderer.logicalHeight() - physicalBoundingBox.maxY());
|
| + if (!m_renderer.style()->isHorizontalWritingMode())
|
| + physicalBoundingBox = physicalBoundingBox.transposedRect();
|
| + 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;
|
| +}
|
| +
|
| }
|
|
|