| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
     .org> |    2  * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
     .org> | 
|    3  * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |    3  * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 
|    4  * Copyright (C) Research In Motion Limited 2010. All rights reserved. |    4  * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 
|    5  * |    5  * | 
|    6  * This library is free software; you can redistribute it and/or |    6  * This library is free software; you can redistribute it and/or | 
|    7  * modify it under the terms of the GNU Library General Public |    7  * modify it under the terms of the GNU Library General Public | 
|    8  * License as published by the Free Software Foundation; either |    8  * License as published by the Free Software Foundation; either | 
|    9  * version 2 of the License, or (at your option) any later version. |    9  * version 2 of the License, or (at your option) any later version. | 
|   10  * |   10  * | 
|   11  * This library is distributed in the hope that it will be useful, |   11  * This library is distributed in the hope that it will be useful, | 
|   12  * but WITHOUT ANY WARRANTY; without even the implied warranty of |   12  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|   13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU |   13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|   14  * Library General Public License for more details. |   14  * Library General Public License for more details. | 
|   15  * |   15  * | 
|   16  * You should have received a copy of the GNU Library General Public License |   16  * You should have received a copy of the GNU Library General Public License | 
|   17  * along with this library; see the file COPYING.LIB.  If not, write to |   17  * along with this library; see the file COPYING.LIB.  If not, write to | 
|   18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |   18  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 
|   19  * Boston, MA 02110-1301, USA. |   19  * Boston, MA 02110-1301, USA. | 
|   20  */ |   20  */ | 
|   21  |   21  | 
|   22 #include "config.h" |   22 #include "config.h" | 
|   23  |   23  | 
|   24 #include "core/svg/SVGPatternElement.h" |   24 #include "core/svg/SVGPatternElement.h" | 
|   25  |   25  | 
|   26 #include "XLinkNames.h" |   26 #include "XLinkNames.h" | 
 |   27 #include "core/dom/ElementTraversal.h" | 
|   27 #include "core/rendering/svg/RenderSVGResourcePattern.h" |   28 #include "core/rendering/svg/RenderSVGResourcePattern.h" | 
|   28 #include "core/svg/PatternAttributes.h" |   29 #include "core/svg/PatternAttributes.h" | 
|   29 #include "core/svg/SVGElementInstance.h" |   30 #include "core/svg/SVGElementInstance.h" | 
|   30 #include "platform/transforms/AffineTransform.h" |   31 #include "platform/transforms/AffineTransform.h" | 
|   31  |   32  | 
|   32 namespace WebCore { |   33 namespace WebCore { | 
|   33  |   34  | 
|   34 // Animated property definitions |   35 // Animated property definitions | 
|   35 DEFINE_ANIMATED_ENUMERATION(SVGPatternElement, SVGNames::patternUnitsAttr, Patte
     rnUnits, patternUnits, SVGUnitTypes::SVGUnitType) |   36 DEFINE_ANIMATED_ENUMERATION(SVGPatternElement, SVGNames::patternUnitsAttr, Patte
     rnUnits, patternUnits, SVGUnitTypes::SVGUnitType) | 
|   36 DEFINE_ANIMATED_ENUMERATION(SVGPatternElement, SVGNames::patternContentUnitsAttr
     , PatternContentUnits, patternContentUnits, SVGUnitTypes::SVGUnitType) |   37 DEFINE_ANIMATED_ENUMERATION(SVGPatternElement, SVGNames::patternContentUnitsAttr
     , PatternContentUnits, patternContentUnits, SVGUnitTypes::SVGUnitType) | 
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  192  |  193  | 
|  193     if (!attributes.hasPatternContentUnits() && element->patternContentUnitsSpec
     ified()) |  194     if (!attributes.hasPatternContentUnits() && element->patternContentUnitsSpec
     ified()) | 
|  194         attributes.setPatternContentUnits(element->patternContentUnitsCurrentVal
     ue()); |  195         attributes.setPatternContentUnits(element->patternContentUnitsCurrentVal
     ue()); | 
|  195  |  196  | 
|  196     if (!attributes.hasPatternTransform() && element->patternTransformSpecified(
     )) { |  197     if (!attributes.hasPatternTransform() && element->patternTransformSpecified(
     )) { | 
|  197         AffineTransform transform; |  198         AffineTransform transform; | 
|  198         element->patternTransformCurrentValue().concatenate(transform); |  199         element->patternTransformCurrentValue().concatenate(transform); | 
|  199         attributes.setPatternTransform(transform); |  200         attributes.setPatternTransform(transform); | 
|  200     } |  201     } | 
|  201  |  202  | 
|  202     if (!attributes.hasPatternContentElement() && element->childElementCount()) |  203     if (!attributes.hasPatternContentElement() && ElementTraversal::firstWithin(
     *element)) | 
|  203         attributes.setPatternContentElement(element); |  204         attributes.setPatternContentElement(element); | 
|  204 } |  205 } | 
|  205  |  206  | 
|  206 void SVGPatternElement::collectPatternAttributes(PatternAttributes& attributes) 
     const |  207 void SVGPatternElement::collectPatternAttributes(PatternAttributes& attributes) 
     const | 
|  207 { |  208 { | 
|  208     HashSet<const SVGPatternElement*> processedPatterns; |  209     HashSet<const SVGPatternElement*> processedPatterns; | 
|  209     const SVGPatternElement* current = this; |  210     const SVGPatternElement* current = this; | 
|  210  |  211  | 
|  211     while (true) { |  212     while (true) { | 
|  212         setPatternAttributes(current, attributes); |  213         setPatternAttributes(current, attributes); | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
|  237  |  238  | 
|  238 bool SVGPatternElement::selfHasRelativeLengths() const |  239 bool SVGPatternElement::selfHasRelativeLengths() const | 
|  239 { |  240 { | 
|  240     return m_x->currentValue()->isRelative() |  241     return m_x->currentValue()->isRelative() | 
|  241         || m_y->currentValue()->isRelative() |  242         || m_y->currentValue()->isRelative() | 
|  242         || m_width->currentValue()->isRelative() |  243         || m_width->currentValue()->isRelative() | 
|  243         || m_height->currentValue()->isRelative(); |  244         || m_height->currentValue()->isRelative(); | 
|  244 } |  245 } | 
|  245  |  246  | 
|  246 } |  247 } | 
| OLD | NEW |