OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2007, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2005, 2007, 2009 Apple Inc. All rights reserved. |
3 * (C) 2005 Rob Buis <buis@kde.org> | 3 * (C) 2005 Rob Buis <buis@kde.org> |
4 * (C) 2006 Alexander Kellett <lypanov@kde.org> | 4 * (C) 2006 Alexander Kellett <lypanov@kde.org> |
5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 5 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
6 * | 6 * |
7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
9 * are met: | 9 * are met: |
10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 static TextStream& operator<<(TextStream& ts, const RenderSVGShape& shape) | 325 static TextStream& operator<<(TextStream& ts, const RenderSVGShape& shape) |
326 { | 326 { |
327 writePositionAndStyle(ts, shape); | 327 writePositionAndStyle(ts, shape); |
328 | 328 |
329 ASSERT(shape.node()->isSVGElement()); | 329 ASSERT(shape.node()->isSVGElement()); |
330 SVGElement* svgElement = toSVGElement(shape.node()); | 330 SVGElement* svgElement = toSVGElement(shape.node()); |
331 SVGLengthContext lengthContext(svgElement); | 331 SVGLengthContext lengthContext(svgElement); |
332 | 332 |
333 if (svgElement->hasTagName(SVGNames::rectTag)) { | 333 if (svgElement->hasTagName(SVGNames::rectTag)) { |
334 SVGRectElement* element = static_cast<SVGRectElement*>(svgElement); | 334 SVGRectElement* element = static_cast<SVGRectElement*>(svgElement); |
335 writeNameValuePair(ts, "x", element->x().value(lengthContext)); | 335 writeNameValuePair(ts, "x", element->xCurrentValue().value(lengthContext
)); |
336 writeNameValuePair(ts, "y", element->y().value(lengthContext)); | 336 writeNameValuePair(ts, "y", element->yCurrentValue().value(lengthContext
)); |
337 writeNameValuePair(ts, "width", element->width().value(lengthContext)); | 337 writeNameValuePair(ts, "width", element->widthCurrentValue().value(lengt
hContext)); |
338 writeNameValuePair(ts, "height", element->height().value(lengthContext))
; | 338 writeNameValuePair(ts, "height", element->heightCurrentValue().value(len
gthContext)); |
339 } else if (svgElement->hasTagName(SVGNames::lineTag)) { | 339 } else if (svgElement->hasTagName(SVGNames::lineTag)) { |
340 SVGLineElement* element = static_cast<SVGLineElement*>(svgElement); | 340 SVGLineElement* element = static_cast<SVGLineElement*>(svgElement); |
341 writeNameValuePair(ts, "x1", element->x1().value(lengthContext)); | 341 writeNameValuePair(ts, "x1", element->x1CurrentValue().value(lengthConte
xt)); |
342 writeNameValuePair(ts, "y1", element->y1().value(lengthContext)); | 342 writeNameValuePair(ts, "y1", element->y1CurrentValue().value(lengthConte
xt)); |
343 writeNameValuePair(ts, "x2", element->x2().value(lengthContext)); | 343 writeNameValuePair(ts, "x2", element->x2CurrentValue().value(lengthConte
xt)); |
344 writeNameValuePair(ts, "y2", element->y2().value(lengthContext)); | 344 writeNameValuePair(ts, "y2", element->y2CurrentValue().value(lengthConte
xt)); |
345 } else if (svgElement->hasTagName(SVGNames::ellipseTag)) { | 345 } else if (svgElement->hasTagName(SVGNames::ellipseTag)) { |
346 SVGEllipseElement* element = static_cast<SVGEllipseElement*>(svgElement)
; | 346 SVGEllipseElement* element = static_cast<SVGEllipseElement*>(svgElement)
; |
347 writeNameValuePair(ts, "cx", element->cx().value(lengthContext)); | 347 writeNameValuePair(ts, "cx", element->cxCurrentValue().value(lengthConte
xt)); |
348 writeNameValuePair(ts, "cy", element->cy().value(lengthContext)); | 348 writeNameValuePair(ts, "cy", element->cyCurrentValue().value(lengthConte
xt)); |
349 writeNameValuePair(ts, "rx", element->rx().value(lengthContext)); | 349 writeNameValuePair(ts, "rx", element->rxCurrentValue().value(lengthConte
xt)); |
350 writeNameValuePair(ts, "ry", element->ry().value(lengthContext)); | 350 writeNameValuePair(ts, "ry", element->ryCurrentValue().value(lengthConte
xt)); |
351 } else if (svgElement->hasTagName(SVGNames::circleTag)) { | 351 } else if (svgElement->hasTagName(SVGNames::circleTag)) { |
352 SVGCircleElement* element = static_cast<SVGCircleElement*>(svgElement); | 352 SVGCircleElement* element = static_cast<SVGCircleElement*>(svgElement); |
353 writeNameValuePair(ts, "cx", element->cx().value(lengthContext)); | 353 writeNameValuePair(ts, "cx", element->cxCurrentValue().value(lengthConte
xt)); |
354 writeNameValuePair(ts, "cy", element->cy().value(lengthContext)); | 354 writeNameValuePair(ts, "cy", element->cyCurrentValue().value(lengthConte
xt)); |
355 writeNameValuePair(ts, "r", element->r().value(lengthContext)); | 355 writeNameValuePair(ts, "r", element->rCurrentValue().value(lengthContext
)); |
356 } else if (svgElement->hasTagName(SVGNames::polygonTag) || svgElement->hasTa
gName(SVGNames::polylineTag)) { | 356 } else if (svgElement->hasTagName(SVGNames::polygonTag) || svgElement->hasTa
gName(SVGNames::polylineTag)) { |
357 SVGPolyElement* element = static_cast<SVGPolyElement*>(svgElement); | 357 SVGPolyElement* element = static_cast<SVGPolyElement*>(svgElement); |
358 writeNameAndQuotedValue(ts, "points", element->pointList().valueAsString
()); | 358 writeNameAndQuotedValue(ts, "points", element->pointList().valueAsString
()); |
359 } else if (svgElement->hasTagName(SVGNames::pathTag)) { | 359 } else if (svgElement->hasTagName(SVGNames::pathTag)) { |
360 SVGPathElement* element = static_cast<SVGPathElement*>(svgElement); | 360 SVGPathElement* element = static_cast<SVGPathElement*>(svgElement); |
361 String pathString; | 361 String pathString; |
362 // FIXME: We should switch to UnalteredParsing here - this will affect t
he path dumping output of dozens of tests. | 362 // FIXME: We should switch to UnalteredParsing here - this will affect t
he path dumping output of dozens of tests. |
363 buildStringFromByteStream(element->pathByteStream(), pathString, Normali
zedParsing); | 363 buildStringFromByteStream(element->pathByteStream(), pathString, Normali
zedParsing); |
364 writeNameAndQuotedValue(ts, "data", pathString); | 364 writeNameAndQuotedValue(ts, "data", pathString); |
365 } else | 365 } else |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 { | 625 { |
626 writeStandardPrefix(ts, stop, indent); | 626 writeStandardPrefix(ts, stop, indent); |
627 | 627 |
628 SVGStopElement* stopElement = static_cast<SVGStopElement*>(stop.node()); | 628 SVGStopElement* stopElement = static_cast<SVGStopElement*>(stop.node()); |
629 ASSERT(stopElement); | 629 ASSERT(stopElement); |
630 | 630 |
631 RenderStyle* style = stop.style(); | 631 RenderStyle* style = stop.style(); |
632 if (!style) | 632 if (!style) |
633 return; | 633 return; |
634 | 634 |
635 ts << " [offset=" << stopElement->offset() << "] [color=" << stopElement->st
opColorIncludingOpacity() << "]\n"; | 635 ts << " [offset=" << stopElement->offsetCurrentValue() << "] [color=" << sto
pElement->stopColorIncludingOpacity() << "]\n"; |
636 } | 636 } |
637 | 637 |
638 void writeResources(TextStream& ts, const RenderObject& object, int indent) | 638 void writeResources(TextStream& ts, const RenderObject& object, int indent) |
639 { | 639 { |
640 const RenderStyle* style = object.style(); | 640 const RenderStyle* style = object.style(); |
641 const SVGRenderStyle* svgStyle = style->svgStyle(); | 641 const SVGRenderStyle* svgStyle = style->svgStyle(); |
642 | 642 |
643 // FIXME: We want to use SVGResourcesCache to determine which resources are
present, instead of quering the resource <-> id cache. | 643 // FIXME: We want to use SVGResourcesCache to determine which resources are
present, instead of quering the resource <-> id cache. |
644 // For now leave the DRT output as is, but later on we should change this so
cycles are properly ignored in the DRT output. | 644 // For now leave the DRT output as is, but later on we should change this so
cycles are properly ignored in the DRT output. |
645 RenderObject& renderer = const_cast<RenderObject&>(object); | 645 RenderObject& renderer = const_cast<RenderObject&>(object); |
(...skipping 23 matching lines...) Expand all Loading... |
669 ts << " "; | 669 ts << " "; |
670 writeNameAndQuotedValue(ts, "filter", svgStyle->filterResource()); | 670 writeNameAndQuotedValue(ts, "filter", svgStyle->filterResource()); |
671 ts << " "; | 671 ts << " "; |
672 writeStandardPrefix(ts, *filter, 0); | 672 writeStandardPrefix(ts, *filter, 0); |
673 ts << " " << filter->resourceBoundingBox(&renderer) << "\n"; | 673 ts << " " << filter->resourceBoundingBox(&renderer) << "\n"; |
674 } | 674 } |
675 } | 675 } |
676 } | 676 } |
677 | 677 |
678 } // namespace WebCore | 678 } // namespace WebCore |
OLD | NEW |