X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fcolour_conversion_editor.cc;h=3d4363cb970e65c6e1008d7569b54c5ffafde478;hp=79365bf88e52534fcea6ff45113da6cc6172c532;hb=b1dc9c3a2f7e55c9afc5bf2d5b465371b048e14f;hpb=4a0ae92e28d7d1f0dd648d1b620efc324fdef161 diff --git a/src/wx/colour_conversion_editor.cc b/src/wx/colour_conversion_editor.cc index 79365bf88..3d4363cb9 100644 --- a/src/wx/colour_conversion_editor.cc +++ b/src/wx/colour_conversion_editor.cc @@ -22,7 +22,6 @@ #include "lib/raw_convert.h" #include "wx_util.h" #include "colour_conversion_editor.h" -#include #include #include #include @@ -247,51 +246,32 @@ ColourConversionEditor::set (ColourConversion conversion) _ignore_chromaticity_changed = true; - locked_stringstream s; - s.setf (std::ios::fixed, std::ios::floatfield); - s.precision (6); - - s << conversion.red().x; - _red_x->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.red().y; - _red_y->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.green().x; - _green_x->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.green().y; - _green_y->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.blue().x; - _blue_x->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.blue().y; - _blue_y->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.white().x; - _white_x->SetValue (std_to_wx (s.str ())); - - s.str (""); - s << conversion.white().y; - _white_y->SetValue (std_to_wx (s.str ())); + char buffer[256]; + snprintf (buffer, sizeof (buffer), "%.6f", conversion.red().x); + _red_x->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.red().y); + _red_y->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.green().x); + _green_x->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.green().y); + _green_y->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.blue().x); + _blue_x->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.blue().y); + _blue_y->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.white().x); + _white_x->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.white().y); + _white_y->SetValue (std_to_wx (buffer)); _ignore_chromaticity_changed = false; if (conversion.adjusted_white ()) { _adjust_white->SetValue (true); - s.str (""); - s << conversion.adjusted_white().get().x; - _adjusted_white_x->SetValue (std_to_wx (s.str ())); - s.str (""); - s << conversion.adjusted_white().get().y; - _adjusted_white_y->SetValue (std_to_wx (s.str ())); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.adjusted_white().get().x); + _adjusted_white_x->SetValue (std_to_wx (buffer)); + snprintf (buffer, sizeof (buffer), "%.6f", conversion.adjusted_white().get().y); + _adjusted_white_y->SetValue (std_to_wx (buffer)); } else { _adjust_white->SetValue (false); } @@ -394,11 +374,9 @@ ColourConversionEditor::update_bradford () boost::numeric::ublas::matrix m = get().bradford (); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { - locked_stringstream s; - s.setf (std::ios::fixed, std::ios::floatfield); - s.precision (7); - s << m (i, j); - _bradford[i][j]->SetLabel (std_to_wx (s.str ())); + char buffer[256]; + snprintf (buffer, sizeof (buffer), "%.7f", m (i, j)); + _bradford[i][j]->SetLabel (std_to_wx (buffer)); } } } @@ -409,11 +387,9 @@ ColourConversionEditor::update_rgb_to_xyz () boost::numeric::ublas::matrix m = get().rgb_to_xyz (); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { - locked_stringstream s; - s.setf (std::ios::fixed, std::ios::floatfield); - s.precision (7); - s << m (i, j); - _rgb_to_xyz[i][j]->SetLabel (std_to_wx (s.str ())); + char buffer[256]; + snprintf (buffer, sizeof (buffer), "%.7f", m (i, j)); + _rgb_to_xyz[i][j]->SetLabel (std_to_wx (buffer)); } } } @@ -442,8 +418,7 @@ ColourConversionEditor::set_spin_ctrl (wxSpinCtrlDouble* control, double value) void ColourConversionEditor::set_text_ctrl (wxTextCtrl* control, double value) { - locked_stringstream s; - s.precision (7); - s << value; - control->SetValue (std_to_wx (s.str ())); + char buffer[256]; + snprintf (buffer, sizeof (buffer), "%.7f", value); + control->SetValue (std_to_wx (buffer)); }