Chromium Code Reviews| Index: Source/core/rendering/shapes/Shape.h |
| diff --git a/Source/core/rendering/shapes/Shape.h b/Source/core/rendering/shapes/Shape.h |
| index 3c51dabebcf8640c803a6f79aa4a5dac779169de..fb649957671724e3e404b019999cc5a724e77caa 100644 |
| --- a/Source/core/rendering/shapes/Shape.h |
| +++ b/Source/core/rendering/shapes/Shape.h |
| @@ -34,6 +34,7 @@ |
| #include "core/rendering/style/StyleImage.h" |
| #include "platform/geometry/LayoutRect.h" |
| #include "platform/geometry/RoundedRect.h" |
| +#include "platform/graphics/Path.h" |
| #include "platform/text/WritingMode.h" |
| #include "wtf/PassOwnPtr.h" |
| #include "wtf/Vector.h" |
| @@ -61,6 +62,10 @@ typedef Vector<LineSegment> SegmentList; |
| class Shape { |
| public: |
| + struct DisplayPaths { |
| + Path shape; |
| + Path marginShape; |
| + }; |
| static PassOwnPtr<Shape> createShape(const BasicShape*, const LayoutSize& logicalBoxSize, WritingMode, float margin); |
| static PassOwnPtr<Shape> createRasterShape(Image*, float threshold, const LayoutRect& imageRect, const LayoutRect& marginRect, WritingMode, float margin); |
| static PassOwnPtr<Shape> createLayoutBoxShape(const RoundedRect&, WritingMode, float margin); |
| @@ -72,6 +77,7 @@ public: |
| virtual void getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalHeight, SegmentList&) const = 0; |
| bool lineOverlapsShapeMarginBounds(LayoutUnit lineTop, LayoutUnit lineHeight) const { return lineOverlapsBoundingBox(lineTop, lineHeight, shapeMarginLogicalBoundingBox()); } |
| + virtual void buildDisplayPaths(DisplayPaths&) const = 0; |
|
pfeldman
2014/04/15 11:59:09
Someone other than me would need to assess changes
|
| protected: |
| float shapeMargin() const { return m_margin; } |