*/
#include "lib/colour_conversion.h"
-#include "lib/safe_stringstream.h"
#include "lib/raw_convert.h"
#include "wx_util.h"
#include "colour_conversion_editor.h"
+#include <locked_sstream.h>
#include <dcp/gamma_transfer_function.h>
#include <dcp/modified_gamma_transfer_function.h>
#include <wx/spinctrl.h>
#include <wx/gbsizer.h>
-#include <boost/make_shared.hpp>
#include <iostream>
using std::string;
using std::cout;
using boost::shared_ptr;
-using boost::make_shared;
using boost::dynamic_pointer_cast;
ColourConversionEditor::ColourConversionEditor (wxWindow* parent, bool yuv)
_ignore_chromaticity_changed = true;
- SafeStringStream s;
+ locked_stringstream s;
s.setf (std::ios::fixed, std::ios::floatfield);
s.precision (6);
if (_input_gamma_linearised->GetValue ()) {
conversion.set_in (
- make_shared<dcp::ModifiedGammaTransferFunction> (
- _input_power->GetValue (),
- raw_convert<double> (wx_to_std (_input_threshold->GetValue ())),
- raw_convert<double> (wx_to_std (_input_A->GetValue ())),
- raw_convert<double> (wx_to_std (_input_B->GetValue ()))
+ shared_ptr<dcp::ModifiedGammaTransferFunction> (
+ new dcp::ModifiedGammaTransferFunction (
+ _input_power->GetValue (),
+ raw_convert<double> (wx_to_std (_input_threshold->GetValue ())),
+ raw_convert<double> (wx_to_std (_input_A->GetValue ())),
+ raw_convert<double> (wx_to_std (_input_B->GetValue ()))
+ )
)
);
} else {
- conversion.set_in (make_shared<dcp::GammaTransferFunction> (_input_gamma->GetValue ()));
+ conversion.set_in (
+ shared_ptr<dcp::GammaTransferFunction> (new dcp::GammaTransferFunction (_input_gamma->GetValue ()))
+ );
}
conversion.set_yuv_to_rgb (static_cast<dcp::YUVToRGB> (_yuv_to_rgb->GetSelection ()));
conversion.unset_adjusted_white ();
}
- conversion.set_out (make_shared<dcp::GammaTransferFunction> (2.6));
+ conversion.set_out (shared_ptr<dcp::GammaTransferFunction> (new dcp::GammaTransferFunction (2.6)));
return conversion;
}
boost::numeric::ublas::matrix<double> m = get().bradford ();
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
- SafeStringStream s;
+ locked_stringstream s;
s.setf (std::ios::fixed, std::ios::floatfield);
s.precision (7);
s << m (i, j);
boost::numeric::ublas::matrix<double> m = get().rgb_to_xyz ();
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
- SafeStringStream s;
+ locked_stringstream s;
s.setf (std::ios::fixed, std::ios::floatfield);
s.precision (7);
s << m (i, j);
void
ColourConversionEditor::set_text_ctrl (wxTextCtrl* control, double value)
{
- SafeStringStream s;
+ locked_stringstream s;
s.precision (7);
s << value;
control->SetValue (std_to_wx (s.str ()));