From fd0bf2ef929d3bc98570012b21e6e603c570a8f6 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Sun, 19 Aug 2012 09:21:25 +0400 Subject: [PATCH] Extract the color enum from color_ostream to toplevel. --- library/Console-darwin.cpp | 2 +- library/Console-linux.cpp | 2 +- library/Console-windows.cpp | 2 +- library/Core.cpp | 6 ++--- library/LuaTools.cpp | 2 +- library/include/ColorText.h | 44 +++++++++++++++++++------------------ library/modules/Job.cpp | 2 +- plugins/advtools.cpp | 2 +- plugins/devel/kittens.cpp | 6 ++--- plugins/devel/memview.cpp | 2 +- plugins/workflow.cpp | 20 ++++++++--------- 11 files changed, 46 insertions(+), 44 deletions(-) diff --git a/library/Console-darwin.cpp b/library/Console-darwin.cpp index c547f8413..86cd657a1 100644 --- a/library/Console-darwin.cpp +++ b/library/Console-darwin.cpp @@ -275,7 +275,7 @@ namespace DFHack /// Reset color to default void reset_color(void) { - color(Console::COLOR_RESET); + color(COLOR_RESET); if(!rawmode) fflush(dfout_C); } diff --git a/library/Console-linux.cpp b/library/Console-linux.cpp index 882d9527d..f32fa1c2a 100644 --- a/library/Console-linux.cpp +++ b/library/Console-linux.cpp @@ -277,7 +277,7 @@ namespace DFHack /// Reset color to default void reset_color(void) { - color(Console::COLOR_RESET); + color(COLOR_RESET); if(!rawmode) fflush(dfout_C); } diff --git a/library/Console-windows.cpp b/library/Console-windows.cpp index d4d47303f..f0cdda387 100644 --- a/library/Console-windows.cpp +++ b/library/Console-windows.cpp @@ -179,7 +179,7 @@ namespace DFHack void color(int index) { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); - SetConsoleTextAttribute(hConsole, index == color_ostream::COLOR_RESET ? default_attributes : index); + SetConsoleTextAttribute(hConsole, index == COLOR_RESET ? default_attributes : index); } void reset_color( void ) diff --git a/library/Core.cpp b/library/Core.cpp index bf0b3be70..71c92afea 100644 --- a/library/Core.cpp +++ b/library/Core.cpp @@ -358,7 +358,7 @@ command_result Core::runCommand(color_ostream &con, const std::string &first, ve continue; if (pcmd.isHotkeyCommand()) - con.color(Console::COLOR_CYAN); + con.color(COLOR_CYAN); con.print("%s: %s\n",pcmd.name.c_str(), pcmd.description.c_str()); con.reset_color(); if (!pcmd.usage.empty()) @@ -481,7 +481,7 @@ command_result Core::runCommand(color_ostream &con, const std::string &first, ve { const PluginCommand & pcmd = (plug->operator[](j)); if (pcmd.isHotkeyCommand()) - con.color(Console::COLOR_CYAN); + con.color(COLOR_CYAN); con.print(" %-22s - %s\n",pcmd.name.c_str(), pcmd.description.c_str()); con.reset_color(); } @@ -519,7 +519,7 @@ command_result Core::runCommand(color_ostream &con, const std::string &first, ve for(auto iter = out.begin();iter != out.end();iter++) { if ((*iter).recolor) - con.color(Console::COLOR_CYAN); + con.color(COLOR_CYAN); con.print(" %-22s- %s\n",(*iter).name.c_str(), (*iter).description.c_str()); con.reset_color(); } diff --git a/library/LuaTools.cpp b/library/LuaTools.cpp index 28571a0f7..75dfe23f2 100644 --- a/library/LuaTools.cpp +++ b/library/LuaTools.cpp @@ -252,7 +252,7 @@ static int lua_dfhack_color(lua_State *S) { int cv = luaL_optint(S, 1, -1); - if (cv < -1 || cv > color_ostream::COLOR_MAX) + if (cv < -1 || cv > COLOR_MAX) luaL_argerror(S, 1, "invalid color value"); color_ostream *out = Lua::GetOutput(S); diff --git a/library/include/ColorText.h b/library/include/ColorText.h index 0cc286dcf..50d1f3623 100644 --- a/library/include/ColorText.h +++ b/library/include/ColorText.h @@ -41,30 +41,32 @@ namespace dfproto namespace DFHack { + enum color_value + { + COLOR_RESET = -1, + COLOR_BLACK = 0, + COLOR_BLUE, + COLOR_GREEN, + COLOR_CYAN, + COLOR_RED, + COLOR_MAGENTA, + COLOR_BROWN, + COLOR_GREY, + COLOR_DARKGREY, + COLOR_LIGHTBLUE, + COLOR_LIGHTGREEN, + COLOR_LIGHTCYAN, + COLOR_LIGHTRED, + COLOR_LIGHTMAGENTA, + COLOR_YELLOW, + COLOR_WHITE, + COLOR_MAX = COLOR_WHITE + }; + class DFHACK_EXPORT color_ostream : public std::ostream { public: - enum color_value - { - COLOR_RESET = -1, - COLOR_BLACK = 0, - COLOR_BLUE, - COLOR_GREEN, - COLOR_CYAN, - COLOR_RED, - COLOR_MAGENTA, - COLOR_BROWN, - COLOR_GREY, - COLOR_DARKGREY, - COLOR_LIGHTBLUE, - COLOR_LIGHTGREEN, - COLOR_LIGHTCYAN, - COLOR_LIGHTRED, - COLOR_LIGHTMAGENTA, - COLOR_YELLOW, - COLOR_WHITE, - COLOR_MAX = COLOR_WHITE - }; + typedef DFHack::color_value color_value; private: color_value cur_color; diff --git a/library/modules/Job.cpp b/library/modules/Job.cpp index 1207c97b3..54b4eb27e 100644 --- a/library/modules/Job.cpp +++ b/library/modules/Job.cpp @@ -189,7 +189,7 @@ void DFHack::Job::printJobDetails(color_ostream &out, df::job *job) { CHECK_NULL_POINTER(job); - out.color(job->flags.bits.suspend ? Console::COLOR_DARKGREY : Console::COLOR_GREY); + out.color(job->flags.bits.suspend ? COLOR_DARKGREY : COLOR_GREY); out << "Job " << job->id << ": " << ENUM_KEY_STR(job_type,job->job_type); if (job->flags.whole) out << " (" << bitfield_to_string(job->flags) << ")"; diff --git a/plugins/advtools.cpp b/plugins/advtools.cpp index 4823d362c..d674f5528 100644 --- a/plugins/advtools.cpp +++ b/plugins/advtools.cpp @@ -462,7 +462,7 @@ void joinCounts(std::map &counts) static void printCompanionHeader(color_ostream &out, size_t i, df::unit *unit) { - out.color(Console::COLOR_GREY); + out.color(COLOR_GREY); if (i < 28) out << char('a'+i); diff --git a/plugins/devel/kittens.cpp b/plugins/devel/kittens.cpp index 2e8e6eaba..b610d4742 100644 --- a/plugins/devel/kittens.cpp +++ b/plugins/devel/kittens.cpp @@ -257,7 +257,7 @@ command_result kittens (color_ostream &out, vector & parameters) }; con.cursor(false); con.clear(); - Console::color_value color = Console::COLOR_BLUE; + Console::color_value color = COLOR_BLUE; while(1) { if(shutdown_flag) @@ -282,7 +282,7 @@ command_result kittens (color_ostream &out, vector & parameters) con.flush(); con.msleep(60); ((int&)color) ++; - if(color > Console::COLOR_MAX) - color = Console::COLOR_BLUE; + if(color > COLOR_MAX) + color = COLOR_BLUE; } } diff --git a/plugins/devel/memview.cpp b/plugins/devel/memview.cpp index 5d8d6a9b2..757b475dd 100644 --- a/plugins/devel/memview.cpp +++ b/plugins/devel/memview.cpp @@ -73,7 +73,7 @@ void outputHex(uint8_t *buf,uint8_t *lbuf,size_t len,size_t start,color_ostream con.reset_color(); if(isAddr((uint32_t *)(buf+j+i),ranges)) - con.color(Console::COLOR_LIGHTRED); //coloring in the middle does not work + con.color(COLOR_LIGHTRED); //coloring in the middle does not work //TODO make something better? } if(lbuf[j+i]!=buf[j+i]) diff --git a/plugins/workflow.cpp b/plugins/workflow.cpp index 162051242..639e7c56a 100644 --- a/plugins/workflow.cpp +++ b/plugins/workflow.cpp @@ -1380,15 +1380,15 @@ static void print_constraint(color_ostream &out, ItemConstraint *cv, bool no_job { Console::color_value color; if (cv->request_resume) - color = Console::COLOR_GREEN; + color = COLOR_GREEN; else if (cv->request_suspend) - color = Console::COLOR_CYAN; + color = COLOR_CYAN; else - color = Console::COLOR_DARKGREY; + color = COLOR_DARKGREY; out.color(color); out << prefix << "Constraint " << flush; - out.color(Console::COLOR_GREY); + out.color(COLOR_GREY); out << cv->config.val() << " " << flush; out.color(color); out << (cv->goalByCount() ? "count " : "amount ") @@ -1437,18 +1437,18 @@ static void print_constraint(color_ostream &out, ItemConstraint *cv, bool no_job { if (pj->want_resumed) { - out.color(Console::COLOR_YELLOW); + out.color(COLOR_YELLOW); out << start << " (delayed)" << endl; } else { - out.color(Console::COLOR_BLUE); + out.color(COLOR_BLUE); out << start << " (suspended)" << endl; } } else { - out.color(Console::COLOR_GREEN); + out.color(COLOR_GREEN); out << start << endl; } @@ -1472,11 +1472,11 @@ static void print_job(color_ostream &out, ProtectedJob *pj) isOptionEnabled(CF_AUTOMELT)) { if (meltable_count <= 0) - out.color(Console::COLOR_CYAN); + out.color(COLOR_CYAN); else if (pj->want_resumed && !pj->isActuallyResumed()) - out.color(Console::COLOR_YELLOW); + out.color(COLOR_YELLOW); else - out.color(Console::COLOR_GREEN); + out.color(COLOR_GREEN); out << " Meltable: " << meltable_count << " objects." << endl; out.reset_color(); }