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

Side by Side Diff: Source/core/svg/SVGPreserveAspectRatio.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
« no previous file with comments | « Source/core/svg/SVGPolyElement.cpp ('k') | Source/core/svg/SVGPreserveAspectRatio.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 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 * 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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 }; 46 };
47 47
48 enum SVGMeetOrSliceType { 48 enum SVGMeetOrSliceType {
49 SVG_MEETORSLICE_UNKNOWN = 0, 49 SVG_MEETORSLICE_UNKNOWN = 0,
50 SVG_MEETORSLICE_MEET = 1, 50 SVG_MEETORSLICE_MEET = 1,
51 SVG_MEETORSLICE_SLICE = 2 51 SVG_MEETORSLICE_SLICE = 2
52 }; 52 };
53 53
54 typedef SVGPreserveAspectRatioTearOff TearOffType; 54 typedef SVGPreserveAspectRatioTearOff TearOffType;
55 55
56 static PassRefPtr<SVGPreserveAspectRatio> create() 56 static PassRefPtrWillBeRawPtr<SVGPreserveAspectRatio> create()
57 { 57 {
58 return adoptRef(new SVGPreserveAspectRatio()); 58 return adoptRefWillBeNoop(new SVGPreserveAspectRatio());
59 } 59 }
60 60
61 virtual PassRefPtr<SVGPreserveAspectRatio> clone() const; 61 virtual PassRefPtrWillBeRawPtr<SVGPreserveAspectRatio> clone() const;
62 62
63 bool operator==(const SVGPreserveAspectRatio&) const; 63 bool operator==(const SVGPreserveAspectRatio&) const;
64 bool operator!=(const SVGPreserveAspectRatio& other) const { return !operato r==(other); } 64 bool operator!=(const SVGPreserveAspectRatio& other) const { return !operato r==(other); }
65 65
66 void setAlign(SVGPreserveAspectRatioType align) { m_align = align; } 66 void setAlign(SVGPreserveAspectRatioType align) { m_align = align; }
67 SVGPreserveAspectRatioType align() const { return m_align; } 67 SVGPreserveAspectRatioType align() const { return m_align; }
68 68
69 void setMeetOrSlice(SVGMeetOrSliceType meetOrSlice) { m_meetOrSlice = meetOr Slice; } 69 void setMeetOrSlice(SVGMeetOrSliceType meetOrSlice) { m_meetOrSlice = meetOr Slice; }
70 SVGMeetOrSliceType meetOrSlice() const { return m_meetOrSlice; } 70 SVGMeetOrSliceType meetOrSlice() const { return m_meetOrSlice; }
71 71
72 void transformRect(FloatRect& destRect, FloatRect& srcRect); 72 void transformRect(FloatRect& destRect, FloatRect& srcRect);
73 73
74 AffineTransform getCTM(float logicX, float logicY, 74 AffineTransform getCTM(float logicX, float logicY,
75 float logicWidth, float logicHeight, 75 float logicWidth, float logicHeight,
76 float physWidth, float physHeight) const; 76 float physWidth, float physHeight) const;
77 77
78 virtual String valueAsString() const override; 78 virtual String valueAsString() const override;
79 virtual void setValueAsString(const String&, ExceptionState&); 79 virtual void setValueAsString(const String&, ExceptionState&);
80 bool parse(const UChar*& ptr, const UChar* end, bool validate); 80 bool parse(const UChar*& ptr, const UChar* end, bool validate);
81 bool parse(const LChar*& ptr, const LChar* end, bool validate); 81 bool parse(const LChar*& ptr, const LChar* end, bool validate);
82 82
83 virtual void add(PassRefPtrWillBeRawPtr<SVGPropertyBase>, SVGElement*) overr ide; 83 virtual void add(PassRefPtrWillBeRawPtr<SVGPropertyBase>, SVGElement*) overr ide;
84 virtual void calculateAnimatedValue(SVGAnimationElement*, float percentage, unsigned repeatCount, PassRefPtr<SVGPropertyBase> from, PassRefPtr<SVGPropertyBa se> to, PassRefPtr<SVGPropertyBase> toAtEndOfDurationValue, SVGElement* contextE lement) override; 84 virtual void calculateAnimatedValue(SVGAnimationElement*, float percentage, unsigned repeatCount, PassRefPtrWillBeRawPtr<SVGPropertyBase> from, PassRefPtrWi llBeRawPtr<SVGPropertyBase> to, PassRefPtrWillBeRawPtr<SVGPropertyBase> toAtEndO fDurationValue, SVGElement* contextElement) override;
85 virtual float calculateDistance(PassRefPtr<SVGPropertyBase> to, SVGElement* contextElement) override; 85 virtual float calculateDistance(PassRefPtrWillBeRawPtr<SVGPropertyBase> to, SVGElement* contextElement) override;
86 86
87 static AnimatedPropertyType classType() { return AnimatedPreserveAspectRatio ; } 87 static AnimatedPropertyType classType() { return AnimatedPreserveAspectRatio ; }
88 88
89 private: 89 private:
90 SVGPreserveAspectRatio(); 90 SVGPreserveAspectRatio();
91 91
92 void setDefault(); 92 void setDefault();
93 template<typename CharType> 93 template<typename CharType>
94 bool parseInternal(const CharType*& ptr, const CharType* end, bool validate) ; 94 bool parseInternal(const CharType*& ptr, const CharType* end, bool validate) ;
95 95
96 SVGPreserveAspectRatioType m_align; 96 SVGPreserveAspectRatioType m_align;
97 SVGMeetOrSliceType m_meetOrSlice; 97 SVGMeetOrSliceType m_meetOrSlice;
98 }; 98 };
99 99
100 inline PassRefPtr<SVGPreserveAspectRatio> toSVGPreserveAspectRatio(PassRefPtr<SV GPropertyBase> passBase) 100 inline PassRefPtrWillBeRawPtr<SVGPreserveAspectRatio> toSVGPreserveAspectRatio(P assRefPtrWillBeRawPtr<SVGPropertyBase> passBase)
101 { 101 {
102 RefPtr<SVGPropertyBase> base = passBase; 102 RefPtrWillBeRawPtr<SVGPropertyBase> base = passBase;
103 ASSERT(base->type() == SVGPreserveAspectRatio::classType()); 103 ASSERT(base->type() == SVGPreserveAspectRatio::classType());
104 return static_pointer_cast<SVGPreserveAspectRatio>(base.release()); 104 return static_pointer_cast<SVGPreserveAspectRatio>(base.release());
105 } 105 }
106 106
107 } // namespace blink 107 } // namespace blink
108 108
109 #endif // SVGPreserveAspectRatio_h 109 #endif // SVGPreserveAspectRatio_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGPolyElement.cpp ('k') | Source/core/svg/SVGPreserveAspectRatio.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698