Index: Source/platform/LengthOrNumber.h |
diff --git a/Source/platform/LengthSize.h b/Source/platform/LengthOrNumber.h |
similarity index 50% |
copy from Source/platform/LengthSize.h |
copy to Source/platform/LengthOrNumber.h |
index b0a1019183f3d0c2b70abbbe2c87e5cf66b78615..2d9b378aba79279bb3ad447a62263f94958f6a45 100644 |
--- a/Source/platform/LengthSize.h |
+++ b/Source/platform/LengthOrNumber.h |
@@ -1,6 +1,5 @@ |
/* |
- Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
- Copyright (C) 2006, 2008 Apple Inc. All rights reserved. |
+ Copyright (c) 2013, Opera Software ASA. All rights reserved. |
This library is free software; you can redistribute it and/or |
modify it under the terms of the GNU Library General Public |
@@ -18,41 +17,53 @@ |
Boston, MA 02110-1301, USA. |
*/ |
Julien - ping for review
2013/11/01 18:27:11
AFAICT Blink prefers a BSD license for new files u
davve
2013/11/04 12:42:54
OK.
|
-#ifndef LengthSize_h |
-#define LengthSize_h |
+#ifndef LengthOrNumber_h |
+#define LengthOrNumber_h |
#include "platform/Length.h" |
namespace WebCore { |
-struct LengthSize { |
+class PLATFORM_EXPORT LengthOrNumber { |
public: |
- LengthSize() |
+ LengthOrNumber() |
{ |
} |
- LengthSize(Length width, Length height) |
- : m_width(width) |
- , m_height(height) |
+ LengthOrNumber(double number) |
+ : m_length(number, Relative) |
{ |
} |
- bool operator==(const LengthSize& o) const |
+ explicit LengthOrNumber(const Length& length) |
+ : m_length(length) |
{ |
- return m_width == o.m_width && m_height == o.m_height; |
} |
- void setWidth(Length width) { m_width = width; } |
- Length width() const { return m_width; } |
+ bool isNumber() const { return m_length.isRelative(); } |
+ bool isLength() const { return !isNumber(); } |
- void setHeight(Length height) { m_height = height; } |
- Length height() const { return m_height; } |
+ const Length& length() const { ASSERT(isLength()); return m_length; } |
+ Length& length() { ASSERT(isLength()); return m_length; } |
+ |
+ double number() const { ASSERT(isNumber()); return m_length.value(); } |
+ |
+ Length unifiedLength() const { return m_length; } |
Julien - ping for review
2013/11/01 18:27:11
Ideally this shouldn't exist but we have to integr
davve
2013/11/04 12:42:54
Good idea. Renamed to deprecatedUnifiedLength().
|
+ |
+ bool operator==(const LengthOrNumber& o) const |
+ { |
+ return m_length == o.m_length; |
+ } |
+ |
+ bool isZero() const |
+ { |
+ return m_length.isZero(); |
+ } |
private: |
- Length m_width; |
- Length m_height; |
+ Length m_length; |
}; |
} // namespace WebCore |
-#endif // LengthSize_h |
+#endif // LengthOrNumber_h |