Index: Source/core/rendering/exclusions/ExclusionShape.h |
diff --git a/Source/core/rendering/exclusions/ExclusionShape.h b/Source/core/rendering/exclusions/ExclusionShape.h |
index 177d4043c6daaaa1898adced8d18348a1bfc7720..7a9f5a0554f5413175cd442a9e38d997a0ed56f7 100644 |
--- a/Source/core/rendering/exclusions/ExclusionShape.h |
+++ b/Source/core/rendering/exclusions/ExclusionShape.h |
@@ -30,7 +30,7 @@ |
#ifndef ExclusionShape_h |
#define ExclusionShape_h |
-#include "core/platform/graphics/FloatRect.h" |
+#include "core/platform/graphics/LayoutRect.h" |
#include "core/platform/text/WritingMode.h" |
#include "core/rendering/style/BasicShapes.h" |
#include <wtf/PassOwnPtr.h> |
@@ -45,8 +45,8 @@ struct LineSegment { |
{ |
} |
- float logicalLeft; |
- float logicalRight; |
+ LayoutUnit logicalLeft; |
eae
2013/05/06 15:59:29
The line-box tree still uses floats (and the LineS
|
+ LayoutUnit logicalRight; |
}; |
typedef Vector<LineSegment> SegmentList; |
@@ -59,23 +59,23 @@ typedef Vector<LineSegment> SegmentList; |
class ExclusionShape { |
public: |
- static PassOwnPtr<ExclusionShape> createExclusionShape(const BasicShape*, float logicalBoxWidth, float logicalBoxHeight, WritingMode, Length margin, Length padding); |
+ static PassOwnPtr<ExclusionShape> createExclusionShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, Length margin, Length padding); |
virtual ~ExclusionShape() { } |
+ virtual LayoutRect shapeMarginLogicalBoundingBox() const = 0; |
+ virtual LayoutRect shapePaddingLogicalBoundingBox() const = 0; |
+ virtual bool isEmpty() const = 0; |
+ virtual void getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList&) const = 0; |
+ virtual void getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList&) const = 0; |
+ virtual bool firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const LayoutSize& minLogicalIntervalSize, LayoutUnit& result) const = 0; |
+ |
+protected: |
float shapeMargin() const { return m_margin; } |
float shapePadding() const { return m_padding; } |
- virtual FloatRect shapeMarginLogicalBoundingBox() const = 0; |
- virtual FloatRect shapePaddingLogicalBoundingBox() const = 0; |
- virtual bool isEmpty() const = 0; |
- virtual void getIncludedIntervals(float logicalTop, float logicalHeight, SegmentList&) const = 0; |
- virtual void getExcludedIntervals(float logicalTop, float logicalHeight, SegmentList&) const = 0; |
- virtual bool firstIncludedIntervalLogicalTop(float minLogicalIntervalTop, const FloatSize& minLogicalIntervalSize, float& result) const = 0; |
private: |
WritingMode m_writingMode; |
- float m_logicalBoxWidth; |
- float m_logicalBoxHeight; |
float m_margin; |
float m_padding; |
}; |