| OLD | NEW |
| 1 function ellipseXIntercept(yi, rx, ry) | 1 function ellipseXIntercept(yi, rx, ry) |
| 2 { | 2 { |
| 3 return rx * Math.sqrt(1 - (yi * yi) / (ry * ry)); | 3 return rx * Math.sqrt(1 - (yi * yi) / (ry * ry)); |
| 4 } | 4 } |
| 5 | 5 |
| 6 function scanConvertRoundedRectangleOutside(r, height, lineHeight, corner) | 6 function scanConvertRoundedRectangleOutside(r, height, lineHeight, corner) |
| 7 { | 7 { |
| 8 var intervals = []; | 8 var intervals = []; |
| 9 var upperCorner = true; | 9 var upperCorner = true; |
| 10 var lowerCorner = true; | 10 var lowerCorner = true; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 var dx = ellipseXIntercept(y - (r.y + r.height - r.ry), r.rx, r.ry); | 28 var dx = ellipseXIntercept(y - (r.y + r.height - r.ry), r.rx, r.ry); |
| 29 intervals.push( { y: y, left: r.x + r.rx - dx, right: r.x + r.width
- r.rx + dx} ); | 29 intervals.push( { y: y, left: r.x + r.rx - dx, right: r.x + r.width
- r.rx + dx} ); |
| 30 } | 30 } |
| 31 else // within the rectangle's vertical edges | 31 else // within the rectangle's vertical edges |
| 32 intervals.push( {y: y, left: r.x, right: r.x + r.width} ); | 32 intervals.push( {y: y, left: r.x, right: r.x + r.width} ); |
| 33 } | 33 } |
| 34 | 34 |
| 35 return intervals; | 35 return intervals; |
| 36 } | 36 } |
| 37 | 37 |
| 38 function genLeftRightRoundedRectFloatShapeOutsideRefTest(args) | |
| 39 { | |
| 40 genLeftRoundedRectFloatShapeOutsideRefTest(args); | |
| 41 genRightRoundedRectFloatShapeOutsideRefTest(args); | |
| 42 } | |
| 43 | |
| 44 function genLeftRoundedRectFloatShapeOutsideRefTest(args) | 38 function genLeftRoundedRectFloatShapeOutsideRefTest(args) |
| 45 { | 39 { |
| 46 var leftRoundedRect = args.roundedRect; | 40 var leftRoundedRect = args.roundedRect; |
| 47 var leftRoundedRectIntervals = scanConvertRoundedRectangleOutside(leftRounde
dRect, args.containerHeight, args.lineHeight, args.corner); | 41 var leftRoundedRectIntervals = scanConvertRoundedRectangleOutside(leftRounde
dRect, args.containerHeight, args.lineHeight, args.corner); |
| 48 var leftFloatDivs = leftRoundedRectIntervals.map(function(interval) { | 42 var leftFloatDivs = leftRoundedRectIntervals.map(function(interval) { |
| 49 var width = SubPixelLayout.snapToLayoutUnit(interval.right); | 43 var width = SubPixelLayout.snapToLayoutUnit(interval.right); |
| 50 var cls = "left-" + args.floatElementClassSuffix; | 44 var cls = "left-" + args.floatElementClassSuffix; |
| 51 return '<div class="' + cls + '" style="width:' + width + 'px"></div>'; | 45 return '<div class="' + cls + '" style="width:' + width + 'px"></div>'; |
| 52 }); | 46 }); |
| 53 document.getElementById("left-" + args.insertElementIdSuffix).insertAdjacent
HTML('afterend', leftFloatDivs.join("\n")); | 47 document.getElementById("left-" + args.insertElementIdSuffix).insertAdjacent
HTML('afterend', leftFloatDivs.join("\n")); |
| 48 return leftFloatDivs; |
| 49 } |
| 50 |
| 51 function getRoundedRectLeftEdge(args) |
| 52 { |
| 53 var leftRoundedRect = args.roundedRect; |
| 54 var leftRoundedRectIntervals = scanConvertRoundedRectangleOutside(leftRounde
dRect, args.containerHeight, args.lineHeight, args.corner); |
| 55 var leftSidePoints = leftRoundedRectIntervals.map(function(interval) { |
| 56 var width = SubPixelLayout.snapToLayoutUnit(interval.right); |
| 57 return width; |
| 58 }); |
| 59 return leftSidePoints; |
| 54 } | 60 } |
| 55 | 61 |
| 56 function genRightRoundedRectFloatShapeOutsideRefTest(args) | 62 function genRightRoundedRectFloatShapeOutsideRefTest(args) |
| 57 { | 63 { |
| 58 var rightRoundedRect = Object.create(args.roundedRect); | 64 var rightRoundedRect = Object.create(args.roundedRect); |
| 59 rightRoundedRect.x = args.containerWidth - args.roundedRect.width; | 65 rightRoundedRect.x = args.containerWidth - args.roundedRect.width; |
| 60 var rightRoundedRectIntervals = scanConvertRoundedRectangleOutside(rightRoun
dedRect, args.containerHeight, args.lineHeight, args.corner); | 66 var rightRoundedRectIntervals = scanConvertRoundedRectangleOutside(rightRoun
dedRect, args.containerHeight, args.lineHeight, args.corner); |
| 61 var rightFloatDivs = rightRoundedRectIntervals.map(function(interval) { | 67 var rightFloatDivs = rightRoundedRectIntervals.map(function(interval) { |
| 62 var width = args.containerWidth - SubPixelLayout.snapToLayoutUnit(interv
al.left); | 68 var width = args.containerWidth - SubPixelLayout.snapToLayoutUnit(interv
al.left); |
| 63 var cls = "right-" + args.floatElementClassSuffix; | 69 var cls = "right-" + args.floatElementClassSuffix; |
| 64 return '<div class="' + cls + '" style="width:' + width + 'px"></div>'; | 70 return '<div class="' + cls + '" style="width:' + width + 'px"></div>'; |
| 65 }); | 71 }); |
| 66 document.getElementById("right-" + args.insertElementIdSuffix).insertAdjacen
tHTML('afterend', rightFloatDivs.join("\n")); | 72 document.getElementById("right-" + args.insertElementIdSuffix).insertAdjacen
tHTML('afterend', rightFloatDivs.join("\n")); |
| 67 } | 73 } |
| OLD | NEW |