| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
| 9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
| 10 * disclaimer. | 10 * disclaimer. |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 Basis m_basis; | 79 Basis m_basis; |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 class PolygonShape FINAL : public Shape { | 82 class PolygonShape FINAL : public Shape { |
| 83 WTF_MAKE_NONCOPYABLE(PolygonShape); | 83 WTF_MAKE_NONCOPYABLE(PolygonShape); |
| 84 public: | 84 public: |
| 85 PolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule) | 85 PolygonShape(PassOwnPtr<Vector<FloatPoint> > vertices, WindRule fillRule) |
| 86 : Shape() | 86 : Shape() |
| 87 , m_polygon(vertices, fillRule) | 87 , m_polygon(vertices, fillRule) |
| 88 , m_marginBounds(nullptr) | 88 , m_marginBounds(nullptr) |
| 89 , m_paddingBounds(nullptr) | |
| 90 { | 89 { |
| 91 } | 90 } |
| 92 | 91 |
| 93 virtual LayoutRect shapeMarginLogicalBoundingBox() const OVERRIDE { return s
tatic_cast<LayoutRect>(shapeMarginBounds().boundingBox()); } | 92 virtual LayoutRect shapeMarginLogicalBoundingBox() const OVERRIDE { return s
tatic_cast<LayoutRect>(shapeMarginBounds().boundingBox()); } |
| 94 virtual LayoutRect shapePaddingLogicalBoundingBox() const OVERRIDE { return
static_cast<LayoutRect>(shapePaddingBounds().boundingBox()); } | |
| 95 virtual bool isEmpty() const OVERRIDE { return m_polygon.isEmpty(); } | 93 virtual bool isEmpty() const OVERRIDE { return m_polygon.isEmpty(); } |
| 96 virtual void getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalH
eight, SegmentList&) const OVERRIDE; | 94 virtual void getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalH
eight, SegmentList&) const OVERRIDE; |
| 97 virtual void getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logicalH
eight, SegmentList&) const OVERRIDE; | |
| 98 virtual bool firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTo
p, const FloatSize& minLogicalIntervalSize, LayoutUnit&) const OVERRIDE; | |
| 99 | 95 |
| 100 private: | 96 private: |
| 101 const FloatPolygon& shapeMarginBounds() const; | 97 const FloatPolygon& shapeMarginBounds() const; |
| 102 const FloatPolygon& shapePaddingBounds() const; | |
| 103 | 98 |
| 104 FloatPolygon m_polygon; | 99 FloatPolygon m_polygon; |
| 105 mutable OwnPtr<FloatPolygon> m_marginBounds; | 100 mutable OwnPtr<FloatPolygon> m_marginBounds; |
| 106 mutable OwnPtr<FloatPolygon> m_paddingBounds; | |
| 107 }; | 101 }; |
| 108 | 102 |
| 109 } // namespace WebCore | 103 } // namespace WebCore |
| 110 | 104 |
| 111 #endif // PolygonShape_h | 105 #endif // PolygonShape_h |
| OLD | NEW |