OLD | NEW |
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 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 return adoptRefWillBeNoop(quirkValue); | 266 return adoptRefWillBeNoop(quirkValue); |
267 } | 267 } |
268 | 268 |
269 ~CSSPrimitiveValue(); | 269 ~CSSPrimitiveValue(); |
270 | 270 |
271 void cleanup(); | 271 void cleanup(); |
272 | 272 |
273 UnitType primitiveType() const; | 273 UnitType primitiveType() const; |
274 | 274 |
275 double computeDegrees(); | 275 double computeDegrees(); |
276 | 276 double computeSeconds(); |
277 enum TimeUnit { Seconds, Milliseconds }; | |
278 template <typename T, TimeUnit timeUnit> T computeTime() | |
279 { | |
280 if (timeUnit == Seconds && m_primitiveUnitType == CSS_S) | |
281 return getValue<T>(); | |
282 if (timeUnit == Seconds && m_primitiveUnitType == CSS_MS) | |
283 return getValue<T>() / 1000; | |
284 if (timeUnit == Milliseconds && m_primitiveUnitType == CSS_MS) | |
285 return getValue<T>(); | |
286 if (timeUnit == Milliseconds && m_primitiveUnitType == CSS_S) | |
287 return getValue<T>() * 1000; | |
288 ASSERT_NOT_REACHED(); | |
289 return 0; | |
290 } | |
291 | 277 |
292 /* | 278 /* |
293 * Computes a length in pixels out of the given CSSValue | 279 * Computes a length in pixels out of the given CSSValue |
294 * | 280 * |
295 * The metrics have to be a bit different for screen and printer output. | 281 * The metrics have to be a bit different for screen and printer output. |
296 * For screen output we assume 1 inch == 72 px, for printer we assume 300 dp
i | 282 * For screen output we assume 1 inch == 72 px, for printer we assume 300 dp
i |
297 * | 283 * |
298 * this is screen/printer dependent, so we probably need a config option for
this, | 284 * this is screen/printer dependent, so we probably need a config option for
this, |
299 * and some tool to calibrate. | 285 * and some tool to calibrate. |
300 */ | 286 */ |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 } m_value; | 411 } m_value; |
426 }; | 412 }; |
427 | 413 |
428 typedef CSSPrimitiveValue::CSSLengthArray CSSLengthArray; | 414 typedef CSSPrimitiveValue::CSSLengthArray CSSLengthArray; |
429 | 415 |
430 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); | 416 DEFINE_CSS_VALUE_TYPE_CASTS(CSSPrimitiveValue, isPrimitiveValue()); |
431 | 417 |
432 } // namespace blink | 418 } // namespace blink |
433 | 419 |
434 #endif // CSSPrimitiveValue_h | 420 #endif // CSSPrimitiveValue_h |
OLD | NEW |