OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 AppliedTextDecoration_h | 5 #ifndef AppliedTextDecoration_h |
6 #define AppliedTextDecoration_h | 6 #define AppliedTextDecoration_h |
7 | 7 |
8 #include "core/css/StyleColor.h" | 8 #include "core/css/StyleColor.h" |
9 #include "core/style/ComputedStyleConstants.h" | 9 #include "core/style/ComputedStyleConstants.h" |
10 #include "wtf/Allocator.h" | 10 #include "wtf/Allocator.h" |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
13 | 13 |
14 class AppliedTextDecoration { | 14 class AppliedTextDecoration { |
15 ALLOW_ONLY_INLINE_ALLOCATION(); | 15 DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); |
16 public: | 16 public: |
17 AppliedTextDecoration(TextDecoration, TextDecorationStyle, StyleColor); | 17 AppliedTextDecoration(TextDecoration, TextDecorationStyle, StyleColor); |
18 explicit AppliedTextDecoration(TextDecoration); | 18 explicit AppliedTextDecoration(TextDecoration); |
19 | 19 |
20 TextDecoration line() const { return static_cast<TextDecoration>(m_line); } | 20 TextDecoration line() const { return static_cast<TextDecoration>(m_line); } |
21 TextDecorationStyle style() const { return static_cast<TextDecorationStyle>(
m_style); } | 21 TextDecorationStyle style() const { return static_cast<TextDecorationStyle>(
m_style); } |
22 | 22 |
23 bool isSimpleUnderline() const { return m_line == TextDecorationUnderline &&
m_style == TextDecorationStyleSolid && m_color.isCurrentColor(); } | 23 bool isSimpleUnderline() const { return m_line == TextDecorationUnderline &&
m_style == TextDecorationStyleSolid && m_color.isCurrentColor(); } |
24 bool operator==(const AppliedTextDecoration&) const; | 24 bool operator==(const AppliedTextDecoration&) const; |
25 bool operator!=(const AppliedTextDecoration& o) const { return !(*this == o)
; } | 25 bool operator!=(const AppliedTextDecoration& o) const { return !(*this == o)
; } |
26 | 26 |
27 private: | 27 private: |
28 unsigned m_line : TextDecorationBits; | 28 unsigned m_line : TextDecorationBits; |
29 unsigned m_style : 3; // TextDecorationStyle | 29 unsigned m_style : 3; // TextDecorationStyle |
30 StyleColor m_color; | 30 StyleColor m_color; |
31 }; | 31 }; |
32 | 32 |
33 } // namespace blink | 33 } // namespace blink |
34 | 34 |
35 #endif // AppliedTextDecoration_h | 35 #endif // AppliedTextDecoration_h |
OLD | NEW |