X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fwx%2Fcolour_conversion_editor.cc;h=1d164cb334e4ada2029af231d7511cdb08cb72dd;hb=b01da3cb8088d5d5df6112ae9358ba3ed606b8b6;hp=549940c00bac5108b90e8dc33b73799756146284;hpb=90c02138109f2c9b7a219225e8213d69dd04f87b;p=dcpomatic.git diff --git a/src/wx/colour_conversion_editor.cc b/src/wx/colour_conversion_editor.cc index 549940c00..1d164cb33 100644 --- a/src/wx/colour_conversion_editor.cc +++ b/src/wx/colour_conversion_editor.cc @@ -27,6 +27,7 @@ #include #include #include +#include using std::string; using std::cout; @@ -71,9 +72,9 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent) _input_B = new wxTextCtrl (this, wxID_ANY, wxT ("")); s->Add (_input_B, 1, wxEXPAND | wxRIGHT, DCPOMATIC_SIZER_GAP); table->Add (s, wxGBPosition (r, 1), wxGBSpan (1, 3)); - } + } ++r; - + wxClientDC dc (parent); wxSize size = dc.GetTextExtent (wxT ("-0.12345678901")); size.SetHeight (-1); @@ -92,7 +93,7 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent) /* YUV to RGB conversion */ subhead (table, this, _("YUV to RGB conversion"), r); - + add_label_to_grid_bag_sizer (table, this, _("YUV to RGB matrix"), true, wxGBPosition (r, 0)); _yuv_to_rgb = new wxChoice (this, wxID_ANY); _yuv_to_rgb->Append (_("Rec. 601")); @@ -139,7 +140,7 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent) size = dc.GetTextExtent (wxT ("0.12345678")); size.SetHeight (-1); - + wxFlexGridSizer* rgb_to_xyz_sizer = new wxFlexGridSizer (3, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { @@ -169,7 +170,7 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent) size = dc.GetTextExtent (wxT ("0.12345678")); size.SetHeight (-1); - + wxFlexGridSizer* bradford_sizer = new wxFlexGridSizer (3, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { @@ -179,27 +180,12 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent) } table->Add (bradford_sizer, wxGBPosition (r - 2, 3), wxGBSpan (2, 1)); - subhead (table, this, _("Output gamma correction"), r); - - add_label_to_grid_bag_sizer (table, this, _("Output gamma"), true, wxGBPosition (r, 0)); - wxBoxSizer* output_sizer = new wxBoxSizer (wxHORIZONTAL); - /// TRANSLATORS: this means the mathematical reciprocal operation, i.e. we are dividing 1 by the control that - /// comes after it. - add_label_to_sizer (output_sizer, this, _("1 / "), false); - _output_gamma = new wxSpinCtrlDouble (this); - output_sizer->Add (_output_gamma); - table->Add (output_sizer, wxGBPosition (r, 1), wxGBSpan (1, 2)); - ++r; - _input_gamma->SetRange (0.1, 4.0); _input_gamma->SetDigits (2); _input_gamma->SetIncrement (0.1); _input_power->SetRange (0.1, 4.0); _input_power->SetDigits (6); _input_power->SetIncrement (0.1); - _output_gamma->SetRange (0.1, 4.0); - _output_gamma->SetDigits (2); - _output_gamma->SetIncrement (0.1); _input_gamma->Bind (wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED, boost::bind (&ColourConversionEditor::changed, this, _input_gamma)); _input_gamma_linearised->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&ColourConversionEditor::changed, this)); @@ -219,7 +205,6 @@ ColourConversionEditor::ColourConversionEditor (wxWindow* parent) _adjusted_white_x->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&ColourConversionEditor::adjusted_white_changed, this)); _adjusted_white_y->Bind (wxEVT_COMMAND_TEXT_UPDATED, boost::bind (&ColourConversionEditor::adjusted_white_changed, this)); _yuv_to_rgb->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&ColourConversionEditor::changed, this)); - _output_gamma->Bind (wxEVT_COMMAND_SPINCTRLDOUBLE_UPDATED, boost::bind (&ColourConversionEditor::changed, this, _output_gamma)); } void @@ -300,8 +285,6 @@ ColourConversionEditor::set (ColourConversion conversion) update_rgb_to_xyz (); update_bradford (); - - set_spin_ctrl (_output_gamma, dynamic_pointer_cast (conversion.out ())->gamma ()); } ColourConversion @@ -352,7 +335,7 @@ ColourConversionEditor::get () const conversion.unset_adjusted_white (); } - conversion.set_out (shared_ptr (new dcp::GammaTransferFunction (_output_gamma->GetValue ()))); + conversion.set_out (shared_ptr (new dcp::GammaTransferFunction (2.6))); return conversion; } @@ -366,7 +349,7 @@ ColourConversionEditor::changed () _input_threshold->Enable (lin); _input_A->Enable (lin); _input_B->Enable (lin); - + Changed (); } @@ -389,7 +372,7 @@ ColourConversionEditor::update_bradford () { _adjusted_white_x->Enable (_adjust_white->GetValue ()); _adjusted_white_y->Enable (_adjust_white->GetValue ()); - + boost::numeric::ublas::matrix m = get().bradford (); for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { @@ -427,7 +410,7 @@ ColourConversionEditor::changed (wxSpinCtrlDouble* sc) if (fabs (_last_spin_ctrl_value[sc] - sc->GetValue()) < 1e-3) { return; } - + Changed (); }