OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "config.h" | 21 #include "config.h" |
22 | 22 |
23 #include "core/svg/SVGFEOffsetElement.h" | 23 #include "core/svg/SVGFEOffsetElement.h" |
24 | 24 |
25 #include "SVGNames.h" | 25 #include "SVGNames.h" |
26 #include "platform/graphics/filters/FilterEffect.h" | 26 #include "platform/graphics/filters/FilterEffect.h" |
27 #include "core/svg/graphics/filters/SVGFilterBuilder.h" | 27 #include "core/svg/graphics/filters/SVGFilterBuilder.h" |
28 | 28 |
29 namespace WebCore { | 29 namespace WebCore { |
30 | 30 |
31 SVGFEOffsetElement::SVGFEOffsetElement(Document& document) | 31 inline SVGFEOffsetElement::SVGFEOffsetElement(Document& document) |
32 : SVGFilterPrimitiveStandardAttributes(SVGNames::feOffsetTag, document) | 32 : SVGFilterPrimitiveStandardAttributes(SVGNames::feOffsetTag, document) |
33 , m_dx(SVGAnimatedNumber::create(this, SVGNames::dxAttr, SVGNumber::create()
)) | 33 , m_dx(SVGAnimatedNumber::create(this, SVGNames::dxAttr, SVGNumber::create()
)) |
34 , m_dy(SVGAnimatedNumber::create(this, SVGNames::dyAttr, SVGNumber::create()
)) | 34 , m_dy(SVGAnimatedNumber::create(this, SVGNames::dyAttr, SVGNumber::create()
)) |
35 , m_in1(SVGAnimatedString::create(this, SVGNames::inAttr, SVGString::create(
))) | 35 , m_in1(SVGAnimatedString::create(this, SVGNames::inAttr, SVGString::create(
))) |
36 { | 36 { |
37 ScriptWrappable::init(this); | 37 ScriptWrappable::init(this); |
38 | 38 |
39 addToPropertyMap(m_dx); | 39 addToPropertyMap(m_dx); |
40 addToPropertyMap(m_dy); | 40 addToPropertyMap(m_dy); |
41 addToPropertyMap(m_in1); | 41 addToPropertyMap(m_in1); |
42 } | 42 } |
43 | 43 |
| 44 DEFINE_NODE_FACTORY(SVGFEOffsetElement) |
| 45 |
44 bool SVGFEOffsetElement::isSupportedAttribute(const QualifiedName& attrName) | 46 bool SVGFEOffsetElement::isSupportedAttribute(const QualifiedName& attrName) |
45 { | 47 { |
46 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); | 48 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, supportedAttributes, ()); |
47 if (supportedAttributes.isEmpty()) { | 49 if (supportedAttributes.isEmpty()) { |
48 supportedAttributes.add(SVGNames::inAttr); | 50 supportedAttributes.add(SVGNames::inAttr); |
49 supportedAttributes.add(SVGNames::dxAttr); | 51 supportedAttributes.add(SVGNames::dxAttr); |
50 supportedAttributes.add(SVGNames::dyAttr); | 52 supportedAttributes.add(SVGNames::dyAttr); |
51 } | 53 } |
52 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); | 54 return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName); |
53 } | 55 } |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 | 98 |
97 if (!input1) | 99 if (!input1) |
98 return nullptr; | 100 return nullptr; |
99 | 101 |
100 RefPtr<FilterEffect> effect = FEOffset::create(filter, m_dx->currentValue()-
>value(), m_dy->currentValue()->value()); | 102 RefPtr<FilterEffect> effect = FEOffset::create(filter, m_dx->currentValue()-
>value(), m_dy->currentValue()->value()); |
101 effect->inputEffects().append(input1); | 103 effect->inputEffects().append(input1); |
102 return effect.release(); | 104 return effect.release(); |
103 } | 105 } |
104 | 106 |
105 } | 107 } |
OLD | NEW |