34 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT) 35 #error "Only <final/final.h> can be included directly." 39 #include "final/ftypes.h" 40 #include "final/util/fstring.h" 53 explicit FStyle (Style attr = Style::None)
58 auto getClassName()
const ->
FString 61 inline auto getStyle()
const noexcept -> Style
65 inline void setStyle (
const FStyle& style) noexcept
66 { attribute = style.attribute & Style(ATTRIBUTE_MASK); }
68 inline void setStyle (Style attr) noexcept
69 { attribute = attr & Style(ATTRIBUTE_MASK); }
74 fchar_attr.bold = (attribute & Style::Bold) != Style::None;
75 fchar_attr.dim = (attribute & Style::Dim) != Style::None;
76 fchar_attr.italic = (attribute & Style::Italic) != Style::None;
77 fchar_attr.underline = (attribute & Style::Underline) != Style::None;
78 fchar_attr.blink = (attribute & Style::Blink) != Style::None;
79 fchar_attr.reverse = (attribute & Style::Reverse) != Style::None;
80 fchar_attr.standout = (attribute & Style::Standout) != Style::None;
81 fchar_attr.invisible = (attribute & Style::Invisible) != Style::None;
82 fchar_attr.protect = (attribute & Style::Protected) != Style::None;
83 fchar_attr.crossed_out = (attribute & Style::CrossedOut) != Style::None;
84 fchar_attr.dbl_underline = (attribute & Style::DoubleUnderline) != Style::None;
85 fchar_attr.transparent = (attribute & Style::Transparent) != Style::None;
86 fchar_attr.color_overlay = (attribute & Style::ColorOverlay) != Style::None;
87 fchar_attr.inherit_background = (attribute & Style::InheritBackground) != Style::None;
91 auto toFAttribute()
const noexcept ->
FAttribute 95 std::memcpy(&fattr, &fchar_attr,
sizeof(fattr));
101 static constexpr
auto ATTRIBUTE_MASK = \
102 Style((uInt16(Style::InheritBackground) << 1) - 1);
Definition: class_template.cpp:25