diff --git a/include/indicators/block_progress_bar.hpp b/include/indicators/block_progress_bar.hpp index 0ce42fa..451eac4 100644 --- a/include/indicators/block_progress_bar.hpp +++ b/include/indicators/block_progress_bar.hpp @@ -55,7 +55,7 @@ public: void *>::type = nullptr> explicit BlockProgressBar(Args &&... args) : settings_(details::get( - option::ForegroundColor{Color::white}, std::forward(args)...), + option::ForegroundColor{Color::unspecified}, std::forward(args)...), details::get(option::BarWidth{100}, std::forward(args)...), details::get(option::Start{"["}, @@ -188,8 +188,8 @@ private: auto now = std::chrono::high_resolution_clock::now(); auto elapsed = std::chrono::duration_cast(now - start_time_point_); - std::cout << termcolor::bold; - details::set_stream_color(std::cout, get_value()); + if (get_value() != Color::unspecified) + details::set_stream_color(std::cout, get_value()); std::cout << get_value(); std::cout << get_value(); diff --git a/include/indicators/color.hpp b/include/indicators/color.hpp index a772dcd..a7d8f97 100644 --- a/include/indicators/color.hpp +++ b/include/indicators/color.hpp @@ -28,5 +28,5 @@ SOFTWARE. #include namespace indicators { -enum class Color { grey, red, green, yellow, blue, magenta, cyan, white }; +enum class Color { grey, red, green, yellow, blue, magenta, cyan, white, unspecified }; } diff --git a/include/indicators/progress_bar.hpp b/include/indicators/progress_bar.hpp index 0de4b7d..6a6f483 100644 --- a/include/indicators/progress_bar.hpp +++ b/include/indicators/progress_bar.hpp @@ -87,7 +87,7 @@ public: details::get( option::SavedStartTime{false}, std::forward(args)...), details::get( - option::ForegroundColor{Color::white}, std::forward(args)...)) {} + option::ForegroundColor{Color::unspecified}, std::forward(args)...)) {} template void set_option(details::Setting &&setting) { @@ -202,7 +202,8 @@ private: elapsed_ = std::chrono::duration_cast(now - start_time_point_); std::cout << termcolor::bold; - details::set_stream_color(std::cout, get_value()); + if (get_value() != Color::unspecified) + details::set_stream_color(std::cout, get_value()); for (auto &style : get_value()) details::set_font_style(std::cout, style); diff --git a/include/indicators/progress_spinner.hpp b/include/indicators/progress_spinner.hpp index a69c316..c931449 100644 --- a/include/indicators/progress_spinner.hpp +++ b/include/indicators/progress_spinner.hpp @@ -58,7 +58,7 @@ public: void *>::type = nullptr> explicit ProgressSpinner(Args &&... args) : settings_(details::get( - option::ForegroundColor{Color::white}, std::forward(args)...), + option::ForegroundColor{Color::unspecified}, std::forward(args)...), details::get( option::PrefixText{}, std::forward(args)...), details::get( @@ -182,8 +182,8 @@ private: auto now = std::chrono::high_resolution_clock::now(); auto elapsed = std::chrono::duration_cast(now - start_time_point_); - std::cout << termcolor::bold; - details::set_stream_color(std::cout, get_value()); + if (get_value() != Color::unspecified) + details::set_stream_color(std::cout, get_value()); std::cout << get_value(); if (get_value()) std::cout << get_value() diff --git a/include/indicators/setting.hpp b/include/indicators/setting.hpp index fb5c341..e4a09d5 100644 --- a/include/indicators/setting.hpp +++ b/include/indicators/setting.hpp @@ -205,4 +205,4 @@ using HideBarWhenComplete = using FontStyles = details::Setting, details::ProgressBarOption::font_styles>; } // namespace option -} // namespace indicators \ No newline at end of file +} // namespace indicators