LayoutRect BoxShape::shapePaddingLogicalBoundingBox() const { FloatRect paddingBounds(m_bounds.rect()); if (shapePadding() > 0) paddingBounds.inflate(-shapePadding()); return static_cast<LayoutRect>(paddingBounds); }
const RasterShapeIntervals& RasterShape::paddingIntervals() const { ASSERT(shapePadding() >= 0); if (!shapePadding()) return *m_intervals; // FIXME: Add support for non-zero padding, see https://bugs.webkit.org/show_bug.cgi?id=116348. return *m_intervals; }
FloatRoundedRect BoxShape::shapePaddingBounds() const { FloatRoundedRect paddingBounds(m_bounds); if (shapePadding() > 0) { paddingBounds.inflate(-shapePadding()); paddingBounds.expandRadii(-shapePadding()); } return paddingBounds; }
const FloatPolygon& ExclusionPolygon::shapePaddingBounds() const { ASSERT(shapePadding() >= 0); if (!shapePadding()) return m_polygon; if (!m_paddingBounds) m_paddingBounds = computeShapePaddingBounds(m_polygon, shapePadding(), m_polygon.fillRule()); return *m_paddingBounds; }
BoxShape::BoxShape(const FloatRoundedRect& bounds) : Shape() , m_bounds(bounds) , m_marginBounds(bounds) , m_paddingBounds(bounds) { if (shapeMargin() > 0) { m_marginBounds.inflate(shapeMargin()); m_marginBounds.expandRadii(shapeMargin()); } if (shapePadding() > 0) { m_paddingBounds.inflate(-shapePadding()); m_paddingBounds.expandRadii(-shapePadding()); } }
FloatRoundedRect RectangleShape::shapePaddingBounds() const { if (!m_haveInitializedPaddingBounds) { m_haveInitializedPaddingBounds = true; m_paddingBounds = m_bounds.paddingBounds(shapePadding()); } return m_paddingBounds; }