| 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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 return point.transposedPoint(); | 93 return point.transposedPoint(); |
| 94 } | 94 } |
| 95 | 95 |
| 96 static inline FloatSize physicalSizeToLogical(const FloatSize& size, WritingMode
writingMode) | 96 static inline FloatSize physicalSizeToLogical(const FloatSize& size, WritingMode
writingMode) |
| 97 { | 97 { |
| 98 if (isHorizontalWritingMode(writingMode)) | 98 if (isHorizontalWritingMode(writingMode)) |
| 99 return size; | 99 return size; |
| 100 return size.transposedSize(); | 100 return size.transposedSize(); |
| 101 } | 101 } |
| 102 | 102 |
| 103 static inline void ensureRadiiDoNotOverlap(FloatRect &bounds, FloatSize &radii) | 103 static inline void ensureRadiiDoNotOverlap(FloatRect& bounds, FloatSize& radii) |
| 104 { | 104 { |
| 105 float widthRatio = bounds.width() / (2 * radii.width()); | 105 float widthRatio = bounds.width() / (2 * radii.width()); |
| 106 float heightRatio = bounds.height() / (2 * radii.height()); | 106 float heightRatio = bounds.height() / (2 * radii.height()); |
| 107 float reductionRatio = std::min<float>(widthRatio, heightRatio); | 107 float reductionRatio = std::min<float>(widthRatio, heightRatio); |
| 108 if (reductionRatio < 1) { | 108 if (reductionRatio < 1) { |
| 109 radii.setWidth(reductionRatio * radii.width()); | 109 radii.setWidth(reductionRatio * radii.width()); |
| 110 radii.setHeight(reductionRatio * radii.height()); | 110 radii.setHeight(reductionRatio * radii.height()); |
| 111 } | 111 } |
| 112 } | 112 } |
| 113 | 113 |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 FloatRect rect(left, top, std::max<float>(boxWidth - left - right, 0), s
td::max<float>(boxHeight - top - bottom, 0)); | 234 FloatRect rect(left, top, std::max<float>(boxWidth - left - right, 0), s
td::max<float>(boxHeight - top - bottom, 0)); |
| 235 FloatRect logicalRect = physicalRectToLogical(rect, logicalBoxSize.heigh
t(), writingMode); | 235 FloatRect logicalRect = physicalRectToLogical(rect, logicalBoxSize.heigh
t(), writingMode); |
| 236 | 236 |
| 237 FloatSize boxSize(boxWidth, boxHeight); | 237 FloatSize boxSize(boxWidth, boxHeight); |
| 238 FloatRoundedRect::Radii cornerRadii( | 238 FloatRoundedRect::Radii cornerRadii( |
| 239 floatSizeForLengthSize(inset.topLeftRadius(), boxSize), | 239 floatSizeForLengthSize(inset.topLeftRadius(), boxSize), |
| 240 floatSizeForLengthSize(inset.topRightRadius(), boxSize), | 240 floatSizeForLengthSize(inset.topRightRadius(), boxSize), |
| 241 floatSizeForLengthSize(inset.bottomLeftRadius(), boxSize), | 241 floatSizeForLengthSize(inset.bottomLeftRadius(), boxSize), |
| 242 floatSizeForLengthSize(inset.bottomRightRadius(), boxSize)); | 242 floatSizeForLengthSize(inset.bottomRightRadius(), boxSize)); |
| 243 | 243 |
| 244 cornerRadii.scale(calcBorderRadiiConstraintScaleFor(logicalRect, cornerR
adii)); |
| 245 |
| 244 shape = createInsetShape(FloatRoundedRect(logicalRect, cornerRadii)); | 246 shape = createInsetShape(FloatRoundedRect(logicalRect, cornerRadii)); |
| 245 break; | 247 break; |
| 246 } | 248 } |
| 247 | 249 |
| 248 default: | 250 default: |
| 249 ASSERT_NOT_REACHED(); | 251 ASSERT_NOT_REACHED(); |
| 250 } | 252 } |
| 251 | 253 |
| 252 shape->m_writingMode = writingMode; | 254 shape->m_writingMode = writingMode; |
| 253 shape->m_margin = floatValueForLength(margin, 0); | 255 shape->m_margin = floatValueForLength(margin, 0); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 FloatRoundedRect bounds(rect, roundedRect.radii()); | 306 FloatRoundedRect bounds(rect, roundedRect.radii()); |
| 305 OwnPtr<Shape> shape = createInsetShape(bounds); | 307 OwnPtr<Shape> shape = createInsetShape(bounds); |
| 306 shape->m_writingMode = writingMode; | 308 shape->m_writingMode = writingMode; |
| 307 shape->m_margin = floatValueForLength(margin, 0); | 309 shape->m_margin = floatValueForLength(margin, 0); |
| 308 shape->m_padding = floatValueForLength(padding, 0); | 310 shape->m_padding = floatValueForLength(padding, 0); |
| 309 | 311 |
| 310 return shape.release(); | 312 return shape.release(); |
| 311 } | 313 } |
| 312 | 314 |
| 313 } // namespace WebCore | 315 } // namespace WebCore |
| OLD | NEW |