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
3 // found in the LICENSE file.
5 #ifndef AppliedTextDecoration_h
6 #define AppliedTextDecoration_h
8 #include "core/css/StyleColor.h"
9 #include "core/style/ComputedStyleConstants.h"
10 #include "wtf/Allocator.h"
14 class AppliedTextDecoration
{
15 ALLOW_ONLY_INLINE_ALLOCATION();
17 AppliedTextDecoration(TextDecoration
, TextDecorationStyle
, StyleColor
);
18 explicit AppliedTextDecoration(TextDecoration
);
20 TextDecoration
line() const { return static_cast<TextDecoration
>(m_line
); }
21 TextDecorationStyle
style() const { return static_cast<TextDecorationStyle
>(m_style
); }
23 bool isSimpleUnderline() const { return m_line
== TextDecorationUnderline
&& m_style
== TextDecorationStyleSolid
&& m_color
.isCurrentColor(); }
24 bool operator==(const AppliedTextDecoration
&) const;
25 bool operator!=(const AppliedTextDecoration
& o
) const { return !(*this == o
); }
28 unsigned m_line
: TextDecorationBits
;
29 unsigned m_style
: 3; // TextDecorationStyle
35 #endif // AppliedTextDecoration_h