From c979f335387a597702ce6e0af33a59bc86dbee2c Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Wed, 1 Apr 2015 22:04:17 +0200 Subject: Add function for controlling the background color to Terminal class --- src/core/frontend/Terminal.cpp | 11 +++++++++++ src/core/frontend/Terminal.hpp | 8 ++++++++ 2 files changed, 19 insertions(+) (limited to 'src/core/frontend') diff --git a/src/core/frontend/Terminal.cpp b/src/core/frontend/Terminal.cpp index 5664564..c0b5250 100644 --- a/src/core/frontend/Terminal.cpp +++ b/src/core/frontend/Terminal.cpp @@ -36,6 +36,17 @@ std::string Terminal::color(int color, bool bright) const return ss.str(); } +std::string Terminal::background(int color) const +{ + if (!useColor) { + return std::string{}; + } + std::stringstream ss; + ss << "\x1b["; + ss << (color + 10) << "m"; + return ss.str(); +} + std::string Terminal::bright() const { if (!useColor) { diff --git a/src/core/frontend/Terminal.hpp b/src/core/frontend/Terminal.hpp index 90a2e6f..708a1d7 100644 --- a/src/core/frontend/Terminal.hpp +++ b/src/core/frontend/Terminal.hpp @@ -104,6 +104,14 @@ public: */ std::string color(int color, bool bright = true) const; + /** + * Returns a control string for switching the background to the given color. + * + * @param color is the background color the terminal should switch to. + * @return a control string to be included in the output stream. + */ + std::string background(int color) const; + /** * Returns a control string for switching to the bright mode. * -- cgit v1.2.3