| 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 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 else if (paintServerContainer->resourceType() == LinearGradientResourceType) | 263 else if (paintServerContainer->resourceType() == LinearGradientResourceType) |
| 264 ts << "[type=LINEAR-GRADIENT]"; | 264 ts << "[type=LINEAR-GRADIENT]"; |
| 265 else if (paintServerContainer->resourceType() == RadialGradientResourceType) | 265 else if (paintServerContainer->resourceType() == RadialGradientResourceType) |
| 266 ts << "[type=RADIAL-GRADIENT]"; | 266 ts << "[type=RADIAL-GRADIENT]"; |
| 267 | 267 |
| 268 ts << " [id=\"" << element->getIdAttribute() << "\"]"; | 268 ts << " [id=\"" << element->getIdAttribute() << "\"]"; |
| 269 } | 269 } |
| 270 | 270 |
| 271 static void writeStyle(TextStream& ts, const LayoutObject& object) | 271 static void writeStyle(TextStream& ts, const LayoutObject& object) |
| 272 { | 272 { |
| 273 const LayoutStyle& style = object.styleRef(); | 273 const ComputedStyle& style = object.styleRef(); |
| 274 const SVGLayoutStyle& svgStyle = style.svgStyle(); | 274 const SVGComputedStyle& svgStyle = style.svgStyle(); |
| 275 | 275 |
| 276 if (!object.localTransform().isIdentity()) | 276 if (!object.localTransform().isIdentity()) |
| 277 writeNameValuePair(ts, "transform", object.localTransform()); | 277 writeNameValuePair(ts, "transform", object.localTransform()); |
| 278 writeIfNotDefault(ts, "image rendering", style.imageRendering(), LayoutStyle
::initialImageRendering()); | 278 writeIfNotDefault(ts, "image rendering", style.imageRendering(), ComputedSty
le::initialImageRendering()); |
| 279 writeIfNotDefault(ts, "opacity", style.opacity(), LayoutStyle::initialOpacit
y()); | 279 writeIfNotDefault(ts, "opacity", style.opacity(), ComputedStyle::initialOpac
ity()); |
| 280 if (object.isSVGShape()) { | 280 if (object.isSVGShape()) { |
| 281 const LayoutSVGShape& shape = static_cast<const LayoutSVGShape&>(object)
; | 281 const LayoutSVGShape& shape = static_cast<const LayoutSVGShape&>(object)
; |
| 282 ASSERT(shape.element()); | 282 ASSERT(shape.element()); |
| 283 | 283 |
| 284 SVGPaintDescription strokePaintDescription = LayoutSVGResourcePaintServe
r::requestPaintDescription(shape, shape.styleRef(), ApplyToStrokeMode); | 284 SVGPaintDescription strokePaintDescription = LayoutSVGResourcePaintServe
r::requestPaintDescription(shape, shape.styleRef(), ApplyToStrokeMode); |
| 285 if (strokePaintDescription.isValid) { | 285 if (strokePaintDescription.isValid) { |
| 286 TextStreamSeparator s(" "); | 286 TextStreamSeparator s(" "); |
| 287 ts << " [stroke={" << s; | 287 ts << " [stroke={" << s; |
| 288 writeSVGPaintingResource(ts, strokePaintDescription); | 288 writeSVGPaintingResource(ts, strokePaintDescription); |
| 289 | 289 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 } | 394 } |
| 395 | 395 |
| 396 static inline void writeSVGInlineTextBox(TextStream& ts, SVGInlineTextBox* textB
ox, int indent) | 396 static inline void writeSVGInlineTextBox(TextStream& ts, SVGInlineTextBox* textB
ox, int indent) |
| 397 { | 397 { |
| 398 Vector<SVGTextFragment>& fragments = textBox->textFragments(); | 398 Vector<SVGTextFragment>& fragments = textBox->textFragments(); |
| 399 if (fragments.isEmpty()) | 399 if (fragments.isEmpty()) |
| 400 return; | 400 return; |
| 401 | 401 |
| 402 LayoutSVGInlineText& textLayoutObject = toLayoutSVGInlineText(textBox->layou
tObject()); | 402 LayoutSVGInlineText& textLayoutObject = toLayoutSVGInlineText(textBox->layou
tObject()); |
| 403 | 403 |
| 404 const SVGLayoutStyle& svgStyle = textLayoutObject.style()->svgStyle(); | 404 const SVGComputedStyle& svgStyle = textLayoutObject.style()->svgStyle(); |
| 405 String text = textBox->layoutObject().text(); | 405 String text = textBox->layoutObject().text(); |
| 406 | 406 |
| 407 unsigned fragmentsSize = fragments.size(); | 407 unsigned fragmentsSize = fragments.size(); |
| 408 for (unsigned i = 0; i < fragmentsSize; ++i) { | 408 for (unsigned i = 0; i < fragmentsSize; ++i) { |
| 409 SVGTextFragment& fragment = fragments.at(i); | 409 SVGTextFragment& fragment = fragments.at(i); |
| 410 writeIndent(ts, indent + 1); | 410 writeIndent(ts, indent + 1); |
| 411 | 411 |
| 412 unsigned startOffset = fragment.characterOffset; | 412 unsigned startOffset = fragment.characterOffset; |
| 413 unsigned endOffset = fragment.characterOffset + fragment.length; | 413 unsigned endOffset = fragment.characterOffset + fragment.length; |
| 414 | 414 |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 | 630 |
| 631 SVGStopElement* stopElement = toSVGStopElement(stop.node()); | 631 SVGStopElement* stopElement = toSVGStopElement(stop.node()); |
| 632 ASSERT(stopElement); | 632 ASSERT(stopElement); |
| 633 ASSERT(stop.style()); | 633 ASSERT(stop.style()); |
| 634 | 634 |
| 635 ts << " [offset=" << stopElement->offset()->currentValue()->value() << "] [c
olor=" << stopElement->stopColorIncludingOpacity() << "]\n"; | 635 ts << " [offset=" << stopElement->offset()->currentValue()->value() << "] [c
olor=" << stopElement->stopColorIncludingOpacity() << "]\n"; |
| 636 } | 636 } |
| 637 | 637 |
| 638 void writeResources(TextStream& ts, const LayoutObject& object, int indent) | 638 void writeResources(TextStream& ts, const LayoutObject& object, int indent) |
| 639 { | 639 { |
| 640 const LayoutStyle& style = object.styleRef(); | 640 const ComputedStyle& style = object.styleRef(); |
| 641 const SVGLayoutStyle& svgStyle = style.svgStyle(); | 641 const SVGComputedStyle& 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 LayoutObject& layoutObject = const_cast<LayoutObject&>(object); | 645 LayoutObject& layoutObject = const_cast<LayoutObject&>(object); |
| 646 if (!svgStyle.maskerResource().isEmpty()) { | 646 if (!svgStyle.maskerResource().isEmpty()) { |
| 647 if (LayoutSVGResourceMasker* masker = getLayoutSVGResourceById<LayoutSVG
ResourceMasker>(object.document(), svgStyle.maskerResource())) { | 647 if (LayoutSVGResourceMasker* masker = getLayoutSVGResourceById<LayoutSVG
ResourceMasker>(object.document(), svgStyle.maskerResource())) { |
| 648 writeIndent(ts, indent); | 648 writeIndent(ts, indent); |
| 649 ts << " "; | 649 ts << " "; |
| 650 writeNameAndQuotedValue(ts, "masker", svgStyle.maskerResource()); | 650 writeNameAndQuotedValue(ts, "masker", svgStyle.maskerResource()); |
| 651 ts << " "; | 651 ts << " "; |
| (...skipping 17 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(&layoutObject) << "\n"; | 673 ts << " " << filter->resourceBoundingBox(&layoutObject) << "\n"; |
| 674 } | 674 } |
| 675 } | 675 } |
| 676 } | 676 } |
| 677 | 677 |
| 678 } // namespace blink | 678 } // namespace blink |
| OLD | NEW |