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

Side by Side Diff: Source/core/css/CSSPrimitiveValue.h

Issue 273683005: Web Animations API: Deferred computation of interpolated values (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Add missing test file Created 6 years, 7 months 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/css/CSSCalculationValueTest.cpp ('k') | Source/core/css/CSSPrimitiveValue.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 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
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 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 UnitTypeViewportWidth, 150 UnitTypeViewportWidth,
151 UnitTypeViewportHeight, 151 UnitTypeViewportHeight,
152 UnitTypeViewportMin, 152 UnitTypeViewportMin,
153 UnitTypeViewportMax, 153 UnitTypeViewportMax,
154 154
155 // This value must come after the last length unit type to enable iterat ion over the length unit types. 155 // This value must come after the last length unit type to enable iterat ion over the length unit types.
156 LengthUnitTypeCount, 156 LengthUnitTypeCount,
157 }; 157 };
158 158
159 typedef Vector<double, CSSPrimitiveValue::LengthUnitTypeCount> CSSLengthArra y; 159 typedef Vector<double, CSSPrimitiveValue::LengthUnitTypeCount> CSSLengthArra y;
160 static void zeroLengthArray(CSSLengthArray&);
160 void accumulateLengthArray(CSSLengthArray&, double multiplier = 1) const; 161 void accumulateLengthArray(CSSLengthArray&, double multiplier = 1) const;
161 162
162 // This enum follows the BisonCSSParser::Units enum augmented with UNIT_FREQ UENCY for frequencies. 163 // This enum follows the BisonCSSParser::Units enum augmented with UNIT_FREQ UENCY for frequencies.
163 enum UnitCategory { 164 enum UnitCategory {
164 UNumber, 165 UNumber,
165 UPercent, 166 UPercent,
166 ULength, 167 ULength,
167 UAngle, 168 UAngle,
168 UTime, 169 UTime,
169 UFrequency, 170 UFrequency,
(...skipping 14 matching lines...) Expand all
184 bool isAttr() const { return m_primitiveUnitType == CSS_ATTR; } 185 bool isAttr() const { return m_primitiveUnitType == CSS_ATTR; }
185 bool isCounter() const { return m_primitiveUnitType == CSS_COUNTER; } 186 bool isCounter() const { return m_primitiveUnitType == CSS_COUNTER; }
186 bool isFontIndependentLength() const { return m_primitiveUnitType >= CSS_PX && m_primitiveUnitType <= CSS_PC; } 187 bool isFontIndependentLength() const { return m_primitiveUnitType >= CSS_PX && m_primitiveUnitType <= CSS_PC; }
187 bool isFontRelativeLength() const 188 bool isFontRelativeLength() const
188 { 189 {
189 return m_primitiveUnitType == CSS_EMS 190 return m_primitiveUnitType == CSS_EMS
190 || m_primitiveUnitType == CSS_EXS 191 || m_primitiveUnitType == CSS_EXS
191 || m_primitiveUnitType == CSS_REMS 192 || m_primitiveUnitType == CSS_REMS
192 || m_primitiveUnitType == CSS_CHS; 193 || m_primitiveUnitType == CSS_CHS;
193 } 194 }
195 bool isViewportPercentageLength() const { return isViewportPercentageLength( m_primitiveUnitType); }
194 static bool isViewportPercentageLength(unsigned short type) { return type >= CSS_VW && type <= CSS_VMAX; } 196 static bool isViewportPercentageLength(unsigned short type) { return type >= CSS_VW && type <= CSS_VMAX; }
195 static bool isLength(unsigned short type) 197 static bool isLength(unsigned short type)
196 { 198 {
197 return (type >= CSS_EMS && type <= CSS_PC) || type == CSS_REMS || type = = CSS_CHS || isViewportPercentageLength(type); 199 return (type >= CSS_EMS && type <= CSS_PC) || type == CSS_REMS || type = = CSS_CHS || isViewportPercentageLength(type);
198 } 200 }
199 bool isLength() const { return isLength(primitiveType()); } 201 bool isLength() const { return isLength(primitiveType()); }
200 bool isNumber() const { return primitiveType() == CSS_NUMBER; } 202 bool isNumber() const { return primitiveType() == CSS_NUMBER; }
201 bool isPercentage() const { return primitiveType() == CSS_PERCENTAGE; } 203 bool isPercentage() const { return primitiveType() == CSS_PERCENTAGE; }
202 bool isPx() const { return primitiveType() == CSS_PX; } 204 bool isPx() const { return primitiveType() == CSS_PX; }
203 bool isRect() const { return m_primitiveUnitType == CSS_RECT; } 205 bool isRect() const { return m_primitiveUnitType == CSS_RECT; }
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 } m_value; 430 } m_value;
429 }; 431 };
430 432
431 typedef CSSPrimitiveValue::CSSLengthArray CSSLengthArray; 433 typedef CSSPrimitiveValue::CSSLengthArray CSSLengthArray;
432 434
433 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); 435 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue());
434 436
435 } // namespace WebCore 437 } // namespace WebCore
436 438
437 #endif // CSSPrimitiveValue_h 439 #endif // CSSPrimitiveValue_h
OLDNEW
« no previous file with comments | « Source/core/css/CSSCalculationValueTest.cpp ('k') | Source/core/css/CSSPrimitiveValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698