OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 Copyright (C) 2006, 2008 Apple Inc. All rights reserved. | 3 Copyright (C) 2006, 2008 Apple Inc. All rights reserved. |
4 Copyright (C) 2011 Rik Cabanier (cabanier@adobe.com) | 4 Copyright (C) 2011 Rik Cabanier (cabanier@adobe.com) |
5 Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 5 Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
6 | 6 |
7 This library is free software; you can redistribute it and/or | 7 This library is free software; you can redistribute it and/or |
8 modify it under the terms of the GNU Library General Public | 8 modify it under the terms of the GNU Library General Public |
9 License as published by the Free Software Foundation; either | 9 License as published by the Free Software Foundation; either |
10 version 2 of the License, or (at your option) any later version. | 10 version 2 of the License, or (at your option) any later version. |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "wtf/Vector.h" | 33 #include "wtf/Vector.h" |
34 | 34 |
35 namespace WebCore { | 35 namespace WebCore { |
36 | 36 |
37 enum LengthType { | 37 enum LengthType { |
38 Auto, Relative, Percent, Fixed, | 38 Auto, Relative, Percent, Fixed, |
39 Intrinsic, MinIntrinsic, | 39 Intrinsic, MinIntrinsic, |
40 MinContent, MaxContent, FillAvailable, FitContent, | 40 MinContent, MaxContent, FillAvailable, FitContent, |
41 Calculated, | 41 Calculated, |
42 ViewportPercentageWidth, ViewportPercentageHeight, ViewportPercentageMin, Vi
ewportPercentageMax, | 42 ViewportPercentageWidth, ViewportPercentageHeight, ViewportPercentageMin, Vi
ewportPercentageMax, |
| 43 ExtendToZoom, |
43 Undefined | 44 Undefined |
44 }; | 45 }; |
45 | 46 |
46 class CalculationValue; | 47 class CalculationValue; |
47 | 48 |
48 struct Length { | 49 struct Length { |
49 WTF_MAKE_FAST_ALLOCATED; | 50 WTF_MAKE_FAST_ALLOCATED; |
50 public: | 51 public: |
51 Length() | 52 Length() |
52 : m_intValue(0), m_quirk(false), m_type(Auto), m_isFloat(false) | 53 : m_intValue(0), m_quirk(false), m_type(Auto), m_isFloat(false) |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 bool isLegacyIntrinsic() const { return type() == Intrinsic || type() == Min
Intrinsic; } | 225 bool isLegacyIntrinsic() const { return type() == Intrinsic || type() == Min
Intrinsic; } |
225 bool isIntrinsic() const { return type() == MinContent || type() == MaxConte
nt || type() == FillAvailable || type() == FitContent; } | 226 bool isIntrinsic() const { return type() == MinContent || type() == MaxConte
nt || type() == FillAvailable || type() == FitContent; } |
226 bool isSpecified() const { return type() == Fixed || type() == Percent || ty
pe() == Calculated || isViewportPercentage(); } | 227 bool isSpecified() const { return type() == Fixed || type() == Percent || ty
pe() == Calculated || isViewportPercentage(); } |
227 bool isSpecifiedOrIntrinsic() const { return isSpecified() || isIntrinsic();
} | 228 bool isSpecifiedOrIntrinsic() const { return isSpecified() || isIntrinsic();
} |
228 bool isCalculated() const { return type() == Calculated; } | 229 bool isCalculated() const { return type() == Calculated; } |
229 bool isCalculatedEqual(const Length&) const; | 230 bool isCalculatedEqual(const Length&) const; |
230 bool isMinContent() const { return type() == MinContent; } | 231 bool isMinContent() const { return type() == MinContent; } |
231 bool isMaxContent() const { return type() == MaxContent; } | 232 bool isMaxContent() const { return type() == MaxContent; } |
232 bool isFillAvailable() const { return type() == FillAvailable; } | 233 bool isFillAvailable() const { return type() == FillAvailable; } |
233 bool isFitContent() const { return type() == FitContent; } | 234 bool isFitContent() const { return type() == FitContent; } |
| 235 bool isExtendToZoom() const { return type() == ExtendToZoom; } |
234 | 236 |
235 Length blend(const Length& from, double progress) const | 237 Length blend(const Length& from, double progress) const |
236 { | 238 { |
237 if (isUndefined() || from.isUndefined()) | 239 if (isUndefined() || from.isUndefined()) |
238 return *this; | 240 return *this; |
239 | 241 |
240 // Blend two lengths to produce a new length that is in between them. U
sed for animation. | 242 // Blend two lengths to produce a new length that is in between them. U
sed for animation. |
241 if (from.type() == Calculated || type() == Calculated) | 243 if (from.type() == Calculated || type() == Calculated) |
242 return blendMixedTypes(from, progress); | 244 return blendMixedTypes(from, progress); |
243 | 245 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
310 bool m_quirk; | 312 bool m_quirk; |
311 unsigned char m_type; | 313 unsigned char m_type; |
312 bool m_isFloat; | 314 bool m_isFloat; |
313 }; | 315 }; |
314 | 316 |
315 Vector<Length> parseHTMLAreaElementCoords(const String&); | 317 Vector<Length> parseHTMLAreaElementCoords(const String&); |
316 | 318 |
317 } // namespace WebCore | 319 } // namespace WebCore |
318 | 320 |
319 #endif // Length_h | 321 #endif // Length_h |
OLD | NEW |