Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(316)

Side by Side Diff: Source/core/svg/SVGFECompositeElement.h

Issue 678163002: Oilpan: move SVG property hierarchy to the heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased upto r185213 Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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, 2006 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2006 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,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details. 13 * Library General Public License for more details.
14 * 14 *
15 * You should have received a copy of the GNU Library General Public License 15 * You should have received a copy of the GNU Library General Public License
16 * along with this library; see the file COPYING.LIB. If not, write to 16 * along with this library; see the file COPYING.LIB. If not, write to
17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA. 18 * Boston, MA 02110-1301, USA.
19 */ 19 */
20 20
21 #ifndef SVGFECompositeElement_h 21 #ifndef SVGFECompositeElement_h
22 #define SVGFECompositeElement_h 22 #define SVGFECompositeElement_h
23 23
24 #include "core/svg/SVGAnimatedEnumeration.h" 24 #include "core/svg/SVGAnimatedEnumeration.h"
25 #include "core/svg/SVGAnimatedNumber.h" 25 #include "core/svg/SVGAnimatedNumber.h"
26 #include "core/svg/SVGFilterPrimitiveStandardAttributes.h" 26 #include "core/svg/SVGFilterPrimitiveStandardAttributes.h"
27 #include "platform/graphics/filters/FEComposite.h" 27 #include "platform/graphics/filters/FEComposite.h"
28 #include "platform/heap/Handle.h"
28 29
29 namespace blink { 30 namespace blink {
30 31
31 template<> const SVGEnumerationStringEntries& getStaticStringEntries<CompositeOp erationType>(); 32 template<> const SVGEnumerationStringEntries& getStaticStringEntries<CompositeOp erationType>();
32 33
33 class SVGFECompositeElement final : public SVGFilterPrimitiveStandardAttributes { 34 class SVGFECompositeElement final : public SVGFilterPrimitiveStandardAttributes {
34 DEFINE_WRAPPERTYPEINFO(); 35 DEFINE_WRAPPERTYPEINFO();
35 public: 36 public:
36 DECLARE_NODE_FACTORY(SVGFECompositeElement); 37 DECLARE_NODE_FACTORY(SVGFECompositeElement);
37 38
38 SVGAnimatedNumber* k1() { return m_k1.get(); } 39 SVGAnimatedNumber* k1() { return m_k1.get(); }
39 SVGAnimatedNumber* k2() { return m_k2.get(); } 40 SVGAnimatedNumber* k2() { return m_k2.get(); }
40 SVGAnimatedNumber* k3() { return m_k3.get(); } 41 SVGAnimatedNumber* k3() { return m_k3.get(); }
41 SVGAnimatedNumber* k4() { return m_k4.get(); } 42 SVGAnimatedNumber* k4() { return m_k4.get(); }
42 SVGAnimatedString* in1() { return m_in1.get(); } 43 SVGAnimatedString* in1() { return m_in1.get(); }
43 SVGAnimatedString* in2() { return m_in2.get(); } 44 SVGAnimatedString* in2() { return m_in2.get(); }
44 SVGAnimatedEnumeration<CompositeOperationType>* svgOperator() { return m_svg Operator.get(); } 45 SVGAnimatedEnumeration<CompositeOperationType>* svgOperator() { return m_svg Operator.get(); }
45 46
47 virtual void trace(Visitor*) override;
48
46 private: 49 private:
47 explicit SVGFECompositeElement(Document&); 50 explicit SVGFECompositeElement(Document&);
48 51
49 bool isSupportedAttribute(const QualifiedName&); 52 bool isSupportedAttribute(const QualifiedName&);
50 virtual void parseAttribute(const QualifiedName&, const AtomicString&) overr ide; 53 virtual void parseAttribute(const QualifiedName&, const AtomicString&) overr ide;
51 virtual bool setFilterEffectAttribute(FilterEffect*, const QualifiedName&) o verride; 54 virtual bool setFilterEffectAttribute(FilterEffect*, const QualifiedName&) o verride;
52 virtual void svgAttributeChanged(const QualifiedName&) override; 55 virtual void svgAttributeChanged(const QualifiedName&) override;
53 virtual PassRefPtr<FilterEffect> build(SVGFilterBuilder*, Filter*) override; 56 virtual PassRefPtrWillBeRawPtr<FilterEffect> build(SVGFilterBuilder*, Filter *) override;
54 57
55 RefPtr<SVGAnimatedNumber> m_k1; 58 RefPtrWillBeMember<SVGAnimatedNumber> m_k1;
56 RefPtr<SVGAnimatedNumber> m_k2; 59 RefPtrWillBeMember<SVGAnimatedNumber> m_k2;
57 RefPtr<SVGAnimatedNumber> m_k3; 60 RefPtrWillBeMember<SVGAnimatedNumber> m_k3;
58 RefPtr<SVGAnimatedNumber> m_k4; 61 RefPtrWillBeMember<SVGAnimatedNumber> m_k4;
59 RefPtr<SVGAnimatedString> m_in1; 62 RefPtrWillBeMember<SVGAnimatedString> m_in1;
60 RefPtr<SVGAnimatedString> m_in2; 63 RefPtrWillBeMember<SVGAnimatedString> m_in2;
61 RefPtr<SVGAnimatedEnumeration<CompositeOperationType> > m_svgOperator; 64 RefPtrWillBeMember<SVGAnimatedEnumeration<CompositeOperationType> > m_svgOpe rator;
62 }; 65 };
63 66
64 } // namespace blink 67 } // namespace blink
65 68
66 #endif // SVGFECompositeElement_h 69 #endif // SVGFECompositeElement_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGFEComponentTransferElement.cpp ('k') | Source/core/svg/SVGFECompositeElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698