public MetaData(ColorMessage.MetaData cmMeta) { m_index = cmMeta.m_index; m_fgColor = cmMeta.m_style.Fg.ToSystemColor(); if (m_fgColor.IsEmpty) { m_fgColor = System.Drawing.Color.FromArgb(160, 160, 160); } m_bgColor = cmMeta.m_style.Bg.ToSystemColor(); if (m_bgColor.IsEmpty) { m_bgColor = System.Drawing.Color.Black; } if ((cmMeta.m_style.Flags & TextStyleFlags.HighIntensity) != 0) { bool bold; int c; c = Ansi.ColorToAnsiColor8(Chiroptera.Base.Color.FromSystemColor(m_fgColor), out bold); if (bold == false) { m_fgColor = Ansi.AnsiColor8ToColor(c, true).ToSystemColor(); } if (!cmMeta.m_style.Bg.IsEmpty) { c = Ansi.ColorToAnsiColor8(Chiroptera.Base.Color.FromSystemColor(m_bgColor), out bold); if (bold == false) { m_bgColor = Ansi.AnsiColor8ToColor(c, true).ToSystemColor(); } } } if ((cmMeta.m_style.Flags & TextStyleFlags.Inverse) != 0) { System.Drawing.Color tmp = m_fgColor; m_fgColor = m_bgColor; m_bgColor = tmp; } }