Changeset 87407 in webkit
- Timestamp:
- May 26, 2011 11:46:57 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r87405 r87407 1 2011-05-26 Emil A Eklund <eae@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 Change RenderObject to use FloatPoint::scale and FloatQuad::scale 6 https://bugs.webkit.org/show_bug.cgi?id=61497 7 8 Covered by existing test. 9 10 * platform/graphics/FloatQuad.h: 11 (WebCore::FloatQuad::scale): 12 * rendering/RenderObject.h: 13 (WebCore::adjustFloatQuadForAbsoluteZoom): 14 (WebCore::adjustFloatRectForAbsoluteZoom): 15 (WebCore::adjustFloatQuadForPageScale): 16 (WebCore::adjustFloatRectForPageScale): 17 1 18 2011-05-26 Alexis Menard <alexis.menard@openbossa.org> 2 19 -
trunk/Source/WebCore/platform/graphics/FloatQuad.h
r77286 r87407 111 111 } 112 112 113 void scale(float dx, float dy) 114 { 115 m_p1.scale(dx, dy); 116 m_p2.scale(dx, dy); 117 m_p3.scale(dx, dy); 118 m_p4.scale(dx, dy); 119 } 120 113 121 private: 114 122 FloatPoint m_p1; -
trunk/Source/WebCore/rendering/RenderObject.h
r87368 r87407 1077 1077 } 1078 1078 1079 inline FloatPoint adjustFloatPointForAbsoluteZoom(const FloatPoint& point, RenderObject* renderer)1080 {1081 // The result here is in floats, so we don't need the truncation hack from the integer version above.1082 float zoomFactor = renderer->style()->effectiveZoom();1083 if (zoomFactor == 1)1084 return point;1085 return FloatPoint(point.x() / zoomFactor, point.y() / zoomFactor);1086 }1087 1088 1079 inline void adjustFloatQuadForAbsoluteZoom(FloatQuad& quad, RenderObject* renderer) 1089 1080 { 1090 quad.setP1(adjustFloatPointForAbsoluteZoom(quad.p1(), renderer)); 1091 quad.setP2(adjustFloatPointForAbsoluteZoom(quad.p2(), renderer)); 1092 quad.setP3(adjustFloatPointForAbsoluteZoom(quad.p3(), renderer)); 1093 quad.setP4(adjustFloatPointForAbsoluteZoom(quad.p4(), renderer)); 1081 float zoom = renderer->style()->effectiveZoom(); 1082 if (zoom != 1) 1083 quad.scale(1 / zoom, 1 / zoom); 1094 1084 } 1095 1085 1096 1086 inline void adjustFloatRectForAbsoluteZoom(FloatRect& rect, RenderObject* renderer) 1097 1087 { 1098 RenderStyle* style = renderer->style(); 1099 rect.setX(adjustFloatForAbsoluteZoom(rect.x(), style)); 1100 rect.setY(adjustFloatForAbsoluteZoom(rect.y(), style)); 1101 rect.setWidth(adjustFloatForAbsoluteZoom(rect.width(), style)); 1102 rect.setHeight(adjustFloatForAbsoluteZoom(rect.height(), style)); 1103 } 1104 1105 inline FloatPoint adjustFloatPointForPageScale(const FloatPoint& point, float pageScale) 1106 { 1107 if (pageScale == 1) 1108 return point; 1109 return FloatPoint(point.x() / pageScale, point.y() / pageScale); 1088 float zoom = renderer->style()->effectiveZoom(); 1089 if (zoom != 1) 1090 rect.scale(1 / zoom, 1 / zoom); 1110 1091 } 1111 1092 1112 1093 inline void adjustFloatQuadForPageScale(FloatQuad& quad, float pageScale) 1113 1094 { 1114 if (pageScale == 1) 1115 return; 1116 quad.setP1(adjustFloatPointForPageScale(quad.p1(), pageScale)); 1117 quad.setP2(adjustFloatPointForPageScale(quad.p2(), pageScale)); 1118 quad.setP3(adjustFloatPointForPageScale(quad.p3(), pageScale)); 1119 quad.setP4(adjustFloatPointForPageScale(quad.p4(), pageScale)); 1095 if (pageScale != 1) 1096 quad.scale(1 / pageScale, 1 / pageScale); 1120 1097 } 1121 1098 1122 1099 inline void adjustFloatRectForPageScale(FloatRect& rect, float pageScale) 1123 1100 { 1124 if (pageScale == 1) 1125 return; 1126 rect.setX(rect.x() / pageScale); 1127 rect.setY(rect.y() / pageScale); 1128 rect.setWidth(rect.width() / pageScale); 1129 rect.setHeight(rect.height() / pageScale); 1101 if (pageScale != 1) 1102 rect.scale(1 / pageScale, 1 / pageScale); 1130 1103 } 1131 1104
Note: See TracChangeset
for help on using the changeset viewer.