Remove Format::None

This commit is contained in:
Andrzej Rybczak
2016-12-22 16:16:53 +01:00
parent 5445c41aaa
commit 9c13827b62
2 changed files with 20 additions and 18 deletions

View File

@@ -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;

View File

@@ -195,7 +195,6 @@ enum class TermManip { ClearToEOL };
/// Format flags used by NCurses
enum class Format {
None,
Bold, NoBold,
Underline, NoUnderline,
Reverse, NoReverse,