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

Side by Side Diff: Source/core/svg/SVGRect.cpp

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/SVGRect.h ('k') | Source/core/svg/SVGRect.idl » ('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, 2006 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006 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) 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2007 Apple Inc. 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 *
(...skipping 30 matching lines...) Expand all
41 { 41 {
42 setInvalid(); 42 setInvalid();
43 } 43 }
44 44
45 SVGRect::SVGRect(const FloatRect& rect) 45 SVGRect::SVGRect(const FloatRect& rect)
46 : m_isValid(true) 46 : m_isValid(true)
47 , m_value(rect) 47 , m_value(rect)
48 { 48 {
49 } 49 }
50 50
51 PassRefPtr<SVGRect> SVGRect::clone() const 51 PassRefPtrWillBeRawPtr<SVGRect> SVGRect::clone() const
52 { 52 {
53 return SVGRect::create(m_value); 53 return SVGRect::create(m_value);
54 } 54 }
55 55
56 template<typename CharType> 56 template<typename CharType>
57 void SVGRect::parse(const CharType*& ptr, const CharType* end, ExceptionState& e xceptionState) 57 void SVGRect::parse(const CharType*& ptr, const CharType* end, ExceptionState& e xceptionState)
58 { 58 {
59 const CharType* start = ptr; 59 const CharType* start = ptr;
60 60
61 skipOptionalSVGSpaces(ptr, end); 61 skipOptionalSVGSpaces(ptr, end);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 builder.append(' '); 118 builder.append(' ');
119 builder.appendNumber(height()); 119 builder.appendNumber(height());
120 return builder.toString(); 120 return builder.toString();
121 } 121 }
122 122
123 void SVGRect::add(PassRefPtrWillBeRawPtr<SVGPropertyBase> other, SVGElement*) 123 void SVGRect::add(PassRefPtrWillBeRawPtr<SVGPropertyBase> other, SVGElement*)
124 { 124 {
125 m_value += toSVGRect(other)->value(); 125 m_value += toSVGRect(other)->value();
126 } 126 }
127 127
128 void SVGRect::calculateAnimatedValue(SVGAnimationElement* animationElement, floa t percentage, unsigned repeatCount, PassRefPtr<SVGPropertyBase> fromValue, PassR efPtr<SVGPropertyBase> toValue, PassRefPtr<SVGPropertyBase> toAtEndOfDurationVal ue, SVGElement*) 128 void SVGRect::calculateAnimatedValue(SVGAnimationElement* animationElement, floa t percentage, unsigned repeatCount, PassRefPtrWillBeRawPtr<SVGPropertyBase> from Value, PassRefPtrWillBeRawPtr<SVGPropertyBase> toValue, PassRefPtrWillBeRawPtr<S VGPropertyBase> toAtEndOfDurationValue, SVGElement*)
129 { 129 {
130 ASSERT(animationElement); 130 ASSERT(animationElement);
131 RefPtr<SVGRect> fromRect = animationElement->animationMode() == ToAnimation ? this : toSVGRect(fromValue); 131 RefPtrWillBeRawPtr<SVGRect> fromRect = animationElement->animationMode() == ToAnimation ? PassRefPtrWillBeRawPtr<SVGRect>(this) : toSVGRect(fromValue);
132 RefPtr<SVGRect> toRect = toSVGRect(toValue); 132 RefPtrWillBeRawPtr<SVGRect> toRect = toSVGRect(toValue);
133 RefPtr<SVGRect> toAtEndOfDurationRect = toSVGRect(toAtEndOfDurationValue); 133 RefPtrWillBeRawPtr<SVGRect> toAtEndOfDurationRect = toSVGRect(toAtEndOfDurat ionValue);
134 134
135 float animatedX = x(); 135 float animatedX = x();
136 float animatedY = y(); 136 float animatedY = y();
137 float animatedWidth = width(); 137 float animatedWidth = width();
138 float animatedHeight = height(); 138 float animatedHeight = height();
139 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->x (), toRect->x(), toAtEndOfDurationRect->x(), animatedX); 139 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->x (), toRect->x(), toAtEndOfDurationRect->x(), animatedX);
140 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->y (), toRect->y(), toAtEndOfDurationRect->y(), animatedY); 140 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->y (), toRect->y(), toAtEndOfDurationRect->y(), animatedY);
141 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->w idth(), toRect->width(), toAtEndOfDurationRect->width(), animatedWidth); 141 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->w idth(), toRect->width(), toAtEndOfDurationRect->width(), animatedWidth);
142 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->h eight(), toRect->height(), toAtEndOfDurationRect->height(), animatedHeight); 142 animationElement->animateAdditiveNumber(percentage, repeatCount, fromRect->h eight(), toRect->height(), toAtEndOfDurationRect->height(), animatedHeight);
143 143
144 m_value = FloatRect(animatedX, animatedY, animatedWidth, animatedHeight); 144 m_value = FloatRect(animatedX, animatedY, animatedWidth, animatedHeight);
145 } 145 }
146 146
147 float SVGRect::calculateDistance(PassRefPtr<SVGPropertyBase> to, SVGElement* con textElement) 147 float SVGRect::calculateDistance(PassRefPtrWillBeRawPtr<SVGPropertyBase> to, SVG Element* contextElement)
148 { 148 {
149 // FIXME: Distance calculation is not possible for SVGRect right now. We nee d the distance for every single value. 149 // FIXME: Distance calculation is not possible for SVGRect right now. We nee d the distance for every single value.
150 return -1; 150 return -1;
151 } 151 }
152 152
153 void SVGRect::setInvalid() 153 void SVGRect::setInvalid()
154 { 154 {
155 m_value = FloatRect(0.0f, 0.0f, 0.0f, 0.0f); 155 m_value = FloatRect(0.0f, 0.0f, 0.0f, 0.0f);
156 m_isValid = false; 156 m_isValid = false;
157 } 157 }
158 158
159 } 159 }
OLDNEW
« no previous file with comments | « Source/core/svg/SVGRect.h ('k') | Source/core/svg/SVGRect.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698