| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2009, Google Inc. All rights reserved. | 2 * Copyright (c) 2009, Google Inc. 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 void RenderSVGModelObject::mapLocalToContainer(const RenderLayerModelObject* rep
aintContainer, TransformState& transformState, MapCoordinatesFlags, bool* wasFix
ed) const | 62 void RenderSVGModelObject::mapLocalToContainer(const RenderLayerModelObject* rep
aintContainer, TransformState& transformState, MapCoordinatesFlags, bool* wasFix
ed) const |
| 63 { | 63 { |
| 64 SVGRenderSupport::mapLocalToContainer(this, repaintContainer, transformState
, wasFixed); | 64 SVGRenderSupport::mapLocalToContainer(this, repaintContainer, transformState
, wasFixed); |
| 65 } | 65 } |
| 66 | 66 |
| 67 const RenderObject* RenderSVGModelObject::pushMappingToContainer(const RenderLay
erModelObject* ancestorToStopAt, RenderGeometryMap& geometryMap) const | 67 const RenderObject* RenderSVGModelObject::pushMappingToContainer(const RenderLay
erModelObject* ancestorToStopAt, RenderGeometryMap& geometryMap) const |
| 68 { | 68 { |
| 69 return SVGRenderSupport::pushMappingToContainer(this, ancestorToStopAt, geom
etryMap); | 69 return SVGRenderSupport::pushMappingToContainer(this, ancestorToStopAt, geom
etryMap); |
| 70 } | 70 } |
| 71 | 71 |
| 72 // Copied from RenderBox, this method likely requires further refactoring to wor
k easily for both SVG and CSS Box Model content. | |
| 73 // FIXME: This may also need to move into SVGRenderSupport as the RenderBox vers
ion depends | |
| 74 // on borderBoundingBox() which SVG RenderBox subclases (like SVGRenderBlock) do
not implement. | |
| 75 LayoutRect RenderSVGModelObject::outlineBoundsForRepaint(const RenderLayerModelO
bject* repaintContainer, const RenderGeometryMap*) const | |
| 76 { | |
| 77 LayoutRect box = enclosingLayoutRect(repaintRectInLocalCoordinates()); | |
| 78 adjustRectForOutline(box); | |
| 79 | |
| 80 FloatQuad containerRelativeQuad = localToContainerQuad(FloatRect(box), repai
ntContainer); | |
| 81 return containerRelativeQuad.enclosingBoundingBox(); | |
| 82 } | |
| 83 | |
| 84 void RenderSVGModelObject::absoluteRects(Vector<IntRect>& rects, const LayoutPoi
nt& accumulatedOffset) const | 72 void RenderSVGModelObject::absoluteRects(Vector<IntRect>& rects, const LayoutPoi
nt& accumulatedOffset) const |
| 85 { | 73 { |
| 86 IntRect rect = enclosingIntRect(strokeBoundingBox()); | 74 IntRect rect = enclosingIntRect(strokeBoundingBox()); |
| 87 rect.moveBy(roundedIntPoint(accumulatedOffset)); | 75 rect.moveBy(roundedIntPoint(accumulatedOffset)); |
| 88 rects.append(rect); | 76 rects.append(rect); |
| 89 } | 77 } |
| 90 | 78 |
| 91 void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixe
d) const | 79 void RenderSVGModelObject::absoluteQuads(Vector<FloatQuad>& quads, bool* wasFixe
d) const |
| 92 { | 80 { |
| 93 quads.append(localToAbsoluteQuad(strokeBoundingBox(), 0 /* mode */, wasFixed
)); | 81 quads.append(localToAbsoluteQuad(strokeBoundingBox(), 0 /* mode */, wasFixed
)); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 } | 117 } |
| 130 | 118 |
| 131 // The SVG addFocusRingRects() method adds rects in local coordinates so the def
ault absoluteFocusRingQuads | 119 // The SVG addFocusRingRects() method adds rects in local coordinates so the def
ault absoluteFocusRingQuads |
| 132 // returns incorrect values for SVG objects. Overriding this method provides acc
ess to the absolute bounds. | 120 // returns incorrect values for SVG objects. Overriding this method provides acc
ess to the absolute bounds. |
| 133 void RenderSVGModelObject::absoluteFocusRingQuads(Vector<FloatQuad>& quads) | 121 void RenderSVGModelObject::absoluteFocusRingQuads(Vector<FloatQuad>& quads) |
| 134 { | 122 { |
| 135 quads.append(localToAbsoluteQuad(FloatQuad(repaintRectInLocalCoordinates()))
); | 123 quads.append(localToAbsoluteQuad(FloatQuad(repaintRectInLocalCoordinates()))
); |
| 136 } | 124 } |
| 137 | 125 |
| 138 } // namespace WebCore | 126 } // namespace WebCore |
| OLD | NEW |