| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2013 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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 | 248 |
| 249 return result.release(); | 249 return result.release(); |
| 250 } | 250 } |
| 251 | 251 |
| 252 const RasterShapeIntervals& RasterShape::marginIntervals() const | 252 const RasterShapeIntervals& RasterShape::marginIntervals() const |
| 253 { | 253 { |
| 254 ASSERT(shapeMargin() >= 0); | 254 ASSERT(shapeMargin() >= 0); |
| 255 if (!shapeMargin()) | 255 if (!shapeMargin()) |
| 256 return *m_intervals; | 256 return *m_intervals; |
| 257 | 257 |
| 258 int marginBoundaryRadius = std::min(clampToInteger(ceil(shapeMargin())), std
::max(m_imageSize.width(), m_imageSize.height())); | 258 int shapeMarginInt = clampToPositiveInteger(ceil(shapeMargin())); |
| 259 if (!m_marginIntervals) { | 259 int maxShapeMarginInt = std::max(m_marginRectSize.width(), m_marginRectSize.
height()) * sqrtf(2); |
| 260 ASSERT(marginBoundaryRadius >= 0); | 260 if (!m_marginIntervals) |
| 261 m_marginIntervals = m_intervals->computeShapeMarginIntervals(marginBound
aryRadius); | 261 m_marginIntervals = m_intervals->computeShapeMarginIntervals(std::min(sh
apeMarginInt, maxShapeMarginInt)); |
| 262 } | |
| 263 | 262 |
| 264 return *m_marginIntervals; | 263 return *m_marginIntervals; |
| 265 } | 264 } |
| 266 | 265 |
| 267 const RasterShapeIntervals& RasterShape::paddingIntervals() const | 266 const RasterShapeIntervals& RasterShape::paddingIntervals() const |
| 268 { | 267 { |
| 269 ASSERT(shapePadding() >= 0); | 268 ASSERT(shapePadding() >= 0); |
| 270 if (!shapePadding()) | 269 if (!shapePadding()) |
| 271 return *m_intervals; | 270 return *m_intervals; |
| 272 | 271 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 bool RasterShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalT
op, const FloatSize& minLogicalIntervalSize, LayoutUnit& result) const | 304 bool RasterShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalT
op, const FloatSize& minLogicalIntervalSize, LayoutUnit& result) const |
| 306 { | 305 { |
| 307 const RasterShapeIntervals& intervals = paddingIntervals(); | 306 const RasterShapeIntervals& intervals = paddingIntervals(); |
| 308 if (intervals.isEmpty()) | 307 if (intervals.isEmpty()) |
| 309 return false; | 308 return false; |
| 310 | 309 |
| 311 return intervals.firstIncludedIntervalY(minLogicalIntervalTop.floor(), floor
edIntSize(minLogicalIntervalSize), result); | 310 return intervals.firstIncludedIntervalY(minLogicalIntervalTop.floor(), floor
edIntSize(minLogicalIntervalSize), result); |
| 312 } | 311 } |
| 313 | 312 |
| 314 } // namespace WebCore | 313 } // namespace WebCore |
| OLD | NEW |