Index: Source/core/rendering/RenderBlock.h |
diff --git a/Source/core/rendering/RenderBlock.h b/Source/core/rendering/RenderBlock.h |
index 3a92dae1843b14fc2eca8f1934285ef4b1c801e1..feef1580e45982a0fc9c941eb134fb7ea8bbab02 100644 |
--- a/Source/core/rendering/RenderBlock.h |
+++ b/Source/core/rendering/RenderBlock.h |
@@ -506,8 +506,22 @@ protected: |
virtual void paintChildren(PaintInfo&, const LayoutPoint&); |
void paintChild(RenderBox*, PaintInfo&, const LayoutPoint&); |
- LayoutUnit logicalRightOffsetForLine(LayoutUnit position, LayoutUnit fixedOffset, bool applyTextIndent, LayoutUnit* logicalHeightRemaining = 0, LayoutUnit logicalHeight = 0) const; |
- LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, LayoutUnit fixedOffset, bool applyTextIndent, LayoutUnit* logicalHeightRemaining = 0, LayoutUnit logicalHeight = 0) const; |
+ LayoutUnit logicalRightOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining = 0, LayoutUnit logicalHeight = 0) const |
+ { |
+ return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(logicalTop, fixedOffset, heightRemaining, logicalHeight, ShapeOutsideFloatShapeOffset), applyTextIndent); |
+ } |
+ LayoutUnit logicalLeftOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining = 0, LayoutUnit logicalHeight = 0) const |
+ { |
+ return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logicalTop, fixedOffset, heightRemaining, logicalHeight, ShapeOutsideFloatShapeOffset), applyTextIndent); |
+ } |
+ LayoutUnit logicalRightOffsetForLineUsingFloatBoundingBox(LayoutUnit logicalTop, LayoutUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining = 0, LayoutUnit logicalHeight = 0) const |
+ { |
+ return adjustLogicalRightOffsetForLine(logicalRightFloatOffsetForLine(logicalTop, fixedOffset, heightRemaining, logicalHeight, ShapeOutsideFloatBoundingBoxOffset), applyTextIndent); |
+ } |
+ LayoutUnit logicalLeftOffsetForLineUsingFloatBoundingBox(LayoutUnit logicalTop, LayoutUnit fixedOffset, bool applyTextIndent, LayoutUnit* heightRemaining = 0, LayoutUnit logicalHeight = 0) const |
+ { |
+ return adjustLogicalLeftOffsetForLine(logicalLeftFloatOffsetForLine(logicalTop, fixedOffset, heightRemaining, logicalHeight, ShapeOutsideFloatBoundingBoxOffset), applyTextIndent); |
+ } |
virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const; |
virtual void adjustInlineDirectionLineBounds(int /* expansionOpportunityCount */, float& /* logicalLeft */, float& /* logicalWidth */) const { } |
@@ -572,6 +586,13 @@ protected: |
virtual void checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalHeight, bool& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight); |
private: |
+ enum ShapeOutsideFloatOffsetMode { ShapeOutsideFloatShapeOffset, ShapeOutsideFloatBoundingBoxOffset }; |
+ |
+ LayoutUnit logicalRightFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, LayoutUnit* heightRemaining, LayoutUnit logicalHeight, ShapeOutsideFloatOffsetMode) const; |
+ LayoutUnit logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, LayoutUnit* heightRemaining, LayoutUnit logicalHeight, ShapeOutsideFloatOffsetMode) const; |
+ LayoutUnit adjustLogicalRightOffsetForLine(LayoutUnit offsetFromFloats, bool applyTextIndent) const; |
+ LayoutUnit adjustLogicalLeftOffsetForLine(LayoutUnit offsetFromFloats, bool applyTextIndent) const; |
+ |
void computeShapeSize(); |
void updateRegionsAndShapesAfterChildLayout(RenderFlowThread*, bool); |
void updateShapeInsideInfoAfterStyleChange(const ShapeValue*, const ShapeValue* oldShape); |