1 #include "color_definition_setter.hpp"
2 
3 #include <cppurses/painter/color.hpp>
4 
5 #include "palette_helpers.hpp"
6 
7 using namespace cppurses;
8 
9 namespace palette {
10 
11 // Initializes color control_object to set color definitions.
Color_definition_setter()12 Color_definition_setter::Color_definition_setter() {
13     this->width_policy.maximum(18);
14     this->border.enable();
15     this->border.segments.disable_all();
16     this->border.segments.east.enable();
17 
18     this->change_current_color(Color::White);
19 
20     using namespace palette::detail;
21     color_control_.red_changed.connect(
22         [this](int red_value) { set_red(current_color_, red_value); });
23     color_control_.green_changed.connect(
24         [this](int green_value) { set_green(current_color_, green_value); });
25     color_control_.blue_changed.connect(
26         [this](int blue_value) { set_blue(current_color_, blue_value); });
27 }
28 
change_current_color(Color color)29 void Color_definition_setter::change_current_color(Color color) {
30     current_color_ = color;
31     color_display_.set_color(color);
32     color_control_.set_sliders(color);
33 }
34 }  // namespace palette
35