Remove Format::None
This commit is contained in:
@@ -1267,40 +1267,43 @@ Window &Window::operator<<(const Color &c)
|
||||
|
||||
Window &Window::operator<<(Format format)
|
||||
{
|
||||
auto increase_flag = [](Window &w, int &flag, auto set) {
|
||||
++flag;
|
||||
(w.*set)(true);
|
||||
};
|
||||
auto decrease_flag = [](Window &w, int &flag, auto set) {
|
||||
if (flag > 0)
|
||||
{
|
||||
--flag;
|
||||
if (flag == 0)
|
||||
(w.*set)(false);
|
||||
}
|
||||
};
|
||||
switch (format)
|
||||
{
|
||||
case Format::None:
|
||||
bold((m_bold_counter = 0));
|
||||
reverse((m_reverse_counter = 0));
|
||||
altCharset((m_alt_charset_counter = 0));
|
||||
break;
|
||||
case Format::Bold:
|
||||
bold(++m_bold_counter);
|
||||
increase_flag(*this, m_bold_counter, &Window::bold);
|
||||
break;
|
||||
case Format::NoBold:
|
||||
if (--m_bold_counter <= 0)
|
||||
bold((m_bold_counter = 0));
|
||||
decrease_flag(*this, m_bold_counter, &Window::bold);
|
||||
break;
|
||||
case Format::Underline:
|
||||
underline(++m_underline_counter);
|
||||
increase_flag(*this, m_underline_counter, &Window::underline);
|
||||
break;
|
||||
case Format::NoUnderline:
|
||||
if (--m_underline_counter <= 0)
|
||||
underline((m_underline_counter = 0));
|
||||
decrease_flag(*this, m_underline_counter, &Window::underline);
|
||||
break;
|
||||
case Format::Reverse:
|
||||
reverse(++m_reverse_counter);
|
||||
increase_flag(*this, m_reverse_counter, &Window::reverse);
|
||||
break;
|
||||
case Format::NoReverse:
|
||||
if (--m_reverse_counter <= 0)
|
||||
reverse((m_reverse_counter = 0));
|
||||
decrease_flag(*this, m_reverse_counter, &Window::reverse);
|
||||
break;
|
||||
case Format::AltCharset:
|
||||
altCharset(++m_alt_charset_counter);
|
||||
increase_flag(*this, m_alt_charset_counter, &Window::altCharset);
|
||||
break;
|
||||
case Format::NoAltCharset:
|
||||
if (--m_alt_charset_counter <= 0)
|
||||
altCharset((m_alt_charset_counter = 0));
|
||||
decrease_flag(*this, m_alt_charset_counter, &Window::altCharset);
|
||||
break;
|
||||
}
|
||||
return *this;
|
||||
|
||||
@@ -195,7 +195,6 @@ enum class TermManip { ClearToEOL };
|
||||
|
||||
/// Format flags used by NCurses
|
||||
enum class Format {
|
||||
None,
|
||||
Bold, NoBold,
|
||||
Underline, NoUnderline,
|
||||
Reverse, NoReverse,
|
||||
|
||||
Reference in New Issue
Block a user