Changeset 87407 in webkit


Ignore:
Timestamp:
May 26, 2011 11:46:57 AM (13 years ago)
Author:
eae@chromium.org
Message:

2011-05-26 Emil A Eklund <eae@chromium.org>

Reviewed by Eric Seidel.

Change RenderObject to use FloatPoint::scale and FloatQuad::scale
https://bugs.webkit.org/show_bug.cgi?id=61497

Covered by existing test.

  • platform/graphics/FloatQuad.h: (WebCore::FloatQuad::scale):
  • rendering/RenderObject.h: (WebCore::adjustFloatQuadForAbsoluteZoom): (WebCore::adjustFloatRectForAbsoluteZoom): (WebCore::adjustFloatQuadForPageScale): (WebCore::adjustFloatRectForPageScale):
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r87405 r87407  
     12011-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
    1182011-05-26  Alexis Menard  <alexis.menard@openbossa.org>
    219
  • trunk/Source/WebCore/platform/graphics/FloatQuad.h

    r77286 r87407  
    111111    }
    112112
     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
    113121private:
    114122    FloatPoint m_p1;
  • trunk/Source/WebCore/rendering/RenderObject.h

    r87368 r87407  
    10771077}
    10781078
    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 
    10881079inline void adjustFloatQuadForAbsoluteZoom(FloatQuad& quad, RenderObject* renderer)
    10891080{
    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);
    10941084}
    10951085
    10961086inline void adjustFloatRectForAbsoluteZoom(FloatRect& rect, RenderObject* renderer)
    10971087{
    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);
    11101091}
    11111092
    11121093inline void adjustFloatQuadForPageScale(FloatQuad& quad, float pageScale)
    11131094{
    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);
    11201097}
    11211098
    11221099inline void adjustFloatRectForPageScale(FloatRect& rect, float pageScale)
    11231100{
    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);
    11301103}
    11311104
Note: See TracChangeset for help on using the changeset viewer.