1 #include "color_control.hpp" 2 3 #include <cppurses/system/system.hpp> 4 #include <cppurses/widget/border.hpp> 5 6 #include "palette_helpers.hpp" 7 8 namespace { 9 using namespace cppurses; 10 11 /// Enable only the east wall of given a border, \p b. Also enables the border. enable_east_wall(Border & b)12void enable_east_wall(Border& b) { 13 b.enable(); 14 b.segments.disable_all(); 15 b.segments.east.enable(); 16 } 17 } // namespace 18 19 namespace palette { 20 Color_control()21Color_control::Color_control() { 22 enable_east_wall(slider_red_.border); 23 slider_red_.width_policy.hint(6); 24 25 enable_east_wall(slider_green_.border); 26 slider_green_.width_policy.hint(6); 27 } 28 set_sliders(cppurses::Color color)29void Color_control::set_sliders(cppurses::Color color) { 30 auto palette = cppurses::System::terminal.current_palette(); 31 const auto& definition = detail::extract_definition(palette, color); 32 this->set_red_slider(definition.values.red); 33 this->set_green_slider(definition.values.green); 34 this->set_blue_slider(definition.values.blue); 35 } 36 37 } // namespace palette 38