OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SimpleLength_h | 5 #ifndef SimpleLength_h |
6 #define SimpleLength_h | 6 #define SimpleLength_h |
7 | 7 |
8 #include "bindings/core/v8/ExceptionState.h" | 8 #include "bindings/core/v8/ExceptionState.h" |
9 #include "core/css/cssom/LengthValue.h" | 9 #include "core/css/cssom/LengthValue.h" |
10 | 10 |
(...skipping 23 matching lines...) Expand all Loading... |
34 bool containsPercent() const override; | 34 bool containsPercent() const override; |
35 | 35 |
36 double value() const { return m_value; } | 36 double value() const { return m_value; } |
37 String unit() const { return String(CSSPrimitiveValue::unitTypeToString(m_un
it)); } | 37 String unit() const { return String(CSSPrimitiveValue::unitTypeToString(m_un
it)); } |
38 CSSPrimitiveValue::UnitType lengthUnit() const { return m_unit; } | 38 CSSPrimitiveValue::UnitType lengthUnit() const { return m_unit; } |
39 | 39 |
40 void setValue(double value) { m_value = value; } | 40 void setValue(double value) { m_value = value; } |
41 | 41 |
42 StyleValueType type() const override { return StyleValueType::SimpleLengthTy
pe; } | 42 StyleValueType type() const override { return StyleValueType::SimpleLengthTy
pe; } |
43 | 43 |
44 RawPtr<CSSValue> toCSSValue() const override; | 44 CSSValue* toCSSValue() const override; |
45 | 45 |
46 protected: | 46 protected: |
47 virtual LengthValue* addInternal(const LengthValue* other, ExceptionState&); | 47 virtual LengthValue* addInternal(const LengthValue* other, ExceptionState&); |
48 virtual LengthValue* subtractInternal(const LengthValue* other, ExceptionSta
te&); | 48 virtual LengthValue* subtractInternal(const LengthValue* other, ExceptionSta
te&); |
49 virtual LengthValue* multiplyInternal(double, ExceptionState&); | 49 virtual LengthValue* multiplyInternal(double, ExceptionState&); |
50 virtual LengthValue* divideInternal(double, ExceptionState&); | 50 virtual LengthValue* divideInternal(double, ExceptionState&); |
51 | 51 |
52 private: | 52 private: |
53 SimpleLength(double value, CSSPrimitiveValue::UnitType unit) : LengthValue()
, m_unit(unit), m_value(value) {} | 53 SimpleLength(double value, CSSPrimitiveValue::UnitType unit) : LengthValue()
, m_unit(unit), m_value(value) {} |
54 | 54 |
55 CSSPrimitiveValue::UnitType m_unit; | 55 CSSPrimitiveValue::UnitType m_unit; |
56 double m_value; | 56 double m_value; |
57 }; | 57 }; |
58 | 58 |
59 #define DEFINE_SIMPLE_LENGTH_TYPE_CASTS(argumentType) \ | 59 #define DEFINE_SIMPLE_LENGTH_TYPE_CASTS(argumentType) \ |
60 DEFINE_TYPE_CASTS(SimpleLength, argumentType, value, \ | 60 DEFINE_TYPE_CASTS(SimpleLength, argumentType, value, \ |
61 value->type() == LengthValue::StyleValueType::SimpleLengthType, \ | 61 value->type() == LengthValue::StyleValueType::SimpleLengthType, \ |
62 value.type() == LengthValue::StyleValueType::SimpleLengthType) | 62 value.type() == LengthValue::StyleValueType::SimpleLengthType) |
63 | 63 |
64 DEFINE_SIMPLE_LENGTH_TYPE_CASTS(LengthValue); | 64 DEFINE_SIMPLE_LENGTH_TYPE_CASTS(LengthValue); |
65 DEFINE_SIMPLE_LENGTH_TYPE_CASTS(StyleValue); | 65 DEFINE_SIMPLE_LENGTH_TYPE_CASTS(StyleValue); |
66 | 66 |
67 } // namespace blink | 67 } // namespace blink |
68 | 68 |
69 #endif | 69 #endif |
OLD | NEW |