diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-02-06 22:10:16 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-02-06 22:10:16 +0000 |
| commit | 7fd57a4523af7f59037d03f78aee727987932094 (patch) | |
| tree | 40423350d5750ff925b3df645e23300b00cc2b98 /src | |
| parent | 2ad96472d9c87eab7da358deadf8174de43b077b (diff) | |
Fix redraw problems at the borders on Windows (#45).
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/film_editor.cc | 139 |
1 files changed, 71 insertions, 68 deletions
diff --git a/src/wx/film_editor.cc b/src/wx/film_editor.cc index 4b8f6ee33..634e417df 100644 --- a/src/wx/film_editor.cc +++ b/src/wx/film_editor.cc @@ -92,52 +92,53 @@ void FilmEditor::make_film_panel () { _film_panel = new wxPanel (_notebook); - _film_sizer = new wxFlexGridSizer (2, 4, 4); - wxBoxSizer* pad = new wxBoxSizer (wxVERTICAL); - pad->Add (_film_sizer, 0, wxALL, 8); - _film_panel->SetSizer (pad); + _film_sizer = new wxBoxSizer (wxVERTICAL); + _film_panel->SetSizer (_film_sizer); - add_label_to_sizer (_film_sizer, _film_panel, _("Name")); + wxFlexGridSizer* grid = new wxFlexGridSizer (2, 4, 4); + _film_sizer->Add (grid, 0, wxALL, 8); + + add_label_to_sizer (grid, _film_panel, _("Name")); _name = new wxTextCtrl (_film_panel, wxID_ANY); - _film_sizer->Add (_name, 1, wxEXPAND); + grid->Add (_name, 1, wxEXPAND); - add_label_to_sizer (_film_sizer, _film_panel, _("DCP Name")); + add_label_to_sizer (grid, _film_panel, _("DCP Name")); _dcp_name = new wxStaticText (_film_panel, wxID_ANY, wxT ("")); - _film_sizer->Add (_dcp_name, 0, wxALIGN_CENTER_VERTICAL | wxSHRINK); + grid->Add (_dcp_name, 0, wxALIGN_CENTER_VERTICAL | wxSHRINK); _use_dci_name = new wxCheckBox (_film_panel, wxID_ANY, _("Use DCI name")); - _film_sizer->Add (_use_dci_name, 1, wxEXPAND); + grid->Add (_use_dci_name, 1, wxEXPAND); _edit_dci_button = new wxButton (_film_panel, wxID_ANY, _("Details...")); - _film_sizer->Add (_edit_dci_button, 0); + grid->Add (_edit_dci_button, 0); - add_label_to_sizer (_film_sizer, _film_panel, _("Content")); + add_label_to_sizer (grid, _film_panel, _("Content")); _content = new wxFilePickerCtrl (_film_panel, wxID_ANY, wxT (""), _("Select Content File"), wxT("*.*")); - _film_sizer->Add (_content, 1, wxEXPAND); + grid->Add (_content, 1, wxEXPAND); _trust_content_header = new wxCheckBox (_film_panel, wxID_ANY, _("Trust content's header")); video_control (_trust_content_header); - _film_sizer->Add (_trust_content_header, 1); - _film_sizer->AddSpacer (0); + grid->Add (_trust_content_header, 1); + grid->AddSpacer (0); - add_label_to_sizer (_film_sizer, _film_panel, _("Content Type")); + add_label_to_sizer (grid, _film_panel, _("Content Type")); _dcp_content_type = new wxChoice (_film_panel, wxID_ANY); - _film_sizer->Add (_dcp_content_type); + grid->Add (_dcp_content_type); - video_control (add_label_to_sizer (_film_sizer, _film_panel, _("Frames Per Second"))); + video_control (add_label_to_sizer (grid, _film_panel, _("Frames Per Second"))); _frames_per_second = new wxStaticText (_film_panel, wxID_ANY, wxT ("")); - _film_sizer->Add (video_control (_frames_per_second), 1, wxALIGN_CENTER_VERTICAL); + grid->Add (video_control (_frames_per_second), 1, wxALIGN_CENTER_VERTICAL); - video_control (add_label_to_sizer (_film_sizer, _film_panel, _("Original Size"))); + video_control (add_label_to_sizer (grid, _film_panel, _("Original Size"))); _original_size = new wxStaticText (_film_panel, wxID_ANY, wxT ("")); - _film_sizer->Add (video_control (_original_size), 1, wxALIGN_CENTER_VERTICAL); + grid->Add (video_control (_original_size), 1, wxALIGN_CENTER_VERTICAL); - video_control (add_label_to_sizer (_film_sizer, _film_panel, _("Length"))); + video_control (add_label_to_sizer (grid, _film_panel, _("Length"))); _length = new wxStaticText (_film_panel, wxID_ANY, wxT ("")); - _film_sizer->Add (video_control (_length), 1, wxALIGN_CENTER_VERTICAL); + grid->Add (video_control (_length), 1, wxALIGN_CENTER_VERTICAL); { - video_control (add_label_to_sizer (_film_sizer, _film_panel, _("Trim frames"))); + video_control (add_label_to_sizer (grid, _film_panel, _("Trim frames"))); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); video_control (add_label_to_sizer (s, _film_panel, _("Start"))); _trim_start = new wxSpinCtrl (_film_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); @@ -146,24 +147,24 @@ FilmEditor::make_film_panel () _trim_end = new wxSpinCtrl (_film_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); s->Add (video_control (_trim_end)); - _film_sizer->Add (s); + grid->Add (s); } _dcp_ab = new wxCheckBox (_film_panel, wxID_ANY, _("A/B")); video_control (_dcp_ab); - _film_sizer->Add (_dcp_ab, 1); - _film_sizer->AddSpacer (0); + grid->Add (_dcp_ab, 1); + grid->AddSpacer (0); /* STILL-only stuff */ { - still_control (add_label_to_sizer (_film_sizer, _film_panel, _("Duration"))); + still_control (add_label_to_sizer (grid, _film_panel, _("Duration"))); wxSizer* s = new wxBoxSizer (wxHORIZONTAL); _still_duration = new wxSpinCtrl (_film_panel); still_control (_still_duration); s->Add (_still_duration, 1, wxEXPAND); /* TRANSLATORS: `s' here is an abbreviation for seconds, the unit of time */ still_control (add_label_to_sizer (s, _film_panel, _("s"))); - _film_sizer->Add (s); + grid->Add (s); } vector<DCPContentType const *> const ct = DCPContentType::all (); @@ -217,17 +218,18 @@ void FilmEditor::make_video_panel () { _video_panel = new wxPanel (_notebook); - _video_sizer = new wxFlexGridSizer (2, 4, 4); - wxBoxSizer* pad = new wxBoxSizer (wxVERTICAL); - pad->Add (_video_sizer, 0, wxALL, 8); - _video_panel->SetSizer (pad); + _video_sizer = new wxBoxSizer (wxVERTICAL); + _video_panel->SetSizer (_video_sizer); + + wxFlexGridSizer* grid = new wxFlexGridSizer (2, 4, 4); + _video_sizer->Add (grid, 0, wxALL, 8); - add_label_to_sizer (_video_sizer, _video_panel, _("Format")); + add_label_to_sizer (grid, _video_panel, _("Format")); _format = new wxChoice (_video_panel, wxID_ANY); - _video_sizer->Add (_format); + grid->Add (_format); { - add_label_to_sizer (_video_sizer, _video_panel, _("Crop")); + add_label_to_sizer (grid, _video_panel, _("Crop")); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); /* TRANSLATORS: L, R, T and B are abbreviations for Left, Right, Top, Bottom, the four edges @@ -246,12 +248,12 @@ FilmEditor::make_video_panel () _bottom_crop = new wxSpinCtrl (_video_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (64, -1)); s->Add (_bottom_crop, 0); - _video_sizer->Add (s); + grid->Add (s); } /* VIDEO-only stuff */ { - video_control (add_label_to_sizer (_video_sizer, _video_panel, _("Filters"))); + video_control (add_label_to_sizer (grid, _video_panel, _("Filters"))); wxSizer* s = new wxBoxSizer (wxHORIZONTAL); _filters = new wxStaticText (_video_panel, wxID_ANY, _("None")); video_control (_filters); @@ -259,33 +261,33 @@ FilmEditor::make_video_panel () _filters_button = new wxButton (_video_panel, wxID_ANY, _("Edit...")); video_control (_filters_button); s->Add (_filters_button, 0); - _video_sizer->Add (s, 1); + grid->Add (s, 1); } - video_control (add_label_to_sizer (_video_sizer, _video_panel, _("Scaler"))); + video_control (add_label_to_sizer (grid, _video_panel, _("Scaler"))); _scaler = new wxChoice (_video_panel, wxID_ANY); - _video_sizer->Add (video_control (_scaler), 1); + grid->Add (video_control (_scaler), 1); vector<Scaler const *> const sc = Scaler::all (); for (vector<Scaler const *>::const_iterator i = sc.begin(); i != sc.end(); ++i) { _scaler->Append (std_to_wx ((*i)->name())); } - add_label_to_sizer (_video_sizer, _video_panel, _("Colour look-up table")); + add_label_to_sizer (grid, _video_panel, _("Colour look-up table")); _colour_lut = new wxChoice (_video_panel, wxID_ANY); for (int i = 0; i < 2; ++i) { _colour_lut->Append (std_to_wx (colour_lut_index_to_name (i))); } _colour_lut->SetSelection (0); - _video_sizer->Add (_colour_lut, 1, wxEXPAND); + grid->Add (_colour_lut, 1, wxEXPAND); { - add_label_to_sizer (_video_sizer, _video_panel, _("JPEG2000 bandwidth")); + add_label_to_sizer (grid, _video_panel, _("JPEG2000 bandwidth")); wxSizer* s = new wxBoxSizer (wxHORIZONTAL); _j2k_bandwidth = new wxSpinCtrl (_video_panel, wxID_ANY); s->Add (_j2k_bandwidth, 1); add_label_to_sizer (s, _video_panel, _("MBps")); - _video_sizer->Add (s, 1); + grid->Add (s, 1); } _left_crop->SetRange (0, 1024); @@ -302,13 +304,14 @@ void FilmEditor::make_audio_panel () { _audio_panel = new wxPanel (_notebook); - _audio_sizer = new wxFlexGridSizer (2, 4, 4); - wxBoxSizer* pad = new wxBoxSizer (wxVERTICAL); - pad->Add (_audio_sizer, 0, wxALL, 8); - _audio_panel->SetSizer (pad); + _audio_sizer = new wxBoxSizer (wxVERTICAL); + _audio_panel->SetSizer (_audio_sizer); + + wxFlexGridSizer* grid = new wxFlexGridSizer (2, 4, 4); + _audio_sizer->Add (grid, 0, wxALL, 8); { - video_control (add_label_to_sizer (_audio_sizer, _audio_panel, _("Audio Gain"))); + video_control (add_label_to_sizer (grid, _audio_panel, _("Audio Gain"))); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); _audio_gain = new wxSpinCtrl (_audio_panel); s->Add (video_control (_audio_gain), 1); @@ -316,33 +319,33 @@ FilmEditor::make_audio_panel () _audio_gain_calculate_button = new wxButton (_audio_panel, wxID_ANY, _("Calculate...")); video_control (_audio_gain_calculate_button); s->Add (_audio_gain_calculate_button, 1, wxEXPAND); - _audio_sizer->Add (s); + grid->Add (s); } { - video_control (add_label_to_sizer (_audio_sizer, _audio_panel, _("Audio Delay"))); + video_control (add_label_to_sizer (grid, _audio_panel, _("Audio Delay"))); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); _audio_delay = new wxSpinCtrl (_audio_panel); s->Add (video_control (_audio_delay), 1); /* TRANSLATORS: this is an abbreviation for milliseconds, the unit of time */ video_control (add_label_to_sizer (s, _audio_panel, _("ms"))); - _audio_sizer->Add (s); + grid->Add (s); } { _use_content_audio = new wxRadioButton (_audio_panel, wxID_ANY, _("Use content's audio"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP); - _audio_sizer->Add (video_control (_use_content_audio)); + grid->Add (video_control (_use_content_audio)); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); _audio_stream = new wxChoice (_audio_panel, wxID_ANY); s->Add (video_control (_audio_stream), 1); _audio = new wxStaticText (_audio_panel, wxID_ANY, wxT ("")); s->Add (video_control (_audio), 1, wxALIGN_CENTER_VERTICAL | wxLEFT, 8); - _audio_sizer->Add (s, 1, wxEXPAND); + grid->Add (s, 1, wxEXPAND); } _use_external_audio = new wxRadioButton (_audio_panel, wxID_ANY, _("Use external audio")); - _audio_sizer->Add (_use_external_audio); - _audio_sizer->AddSpacer (0); + grid->Add (_use_external_audio); + grid->AddSpacer (0); assert (MAX_AUDIO_CHANNELS == 6); @@ -359,9 +362,9 @@ FilmEditor::make_audio_panel () }; for (int i = 0; i < MAX_AUDIO_CHANNELS; ++i) { - add_label_to_sizer (_audio_sizer, _audio_panel, channels[i]); + add_label_to_sizer (grid, _audio_panel, channels[i]); _external_audio[i] = new wxFilePickerCtrl (_audio_panel, wxID_ANY, wxT (""), _("Select Audio File"), wxT ("*.wav")); - _audio_sizer->Add (_external_audio[i], 1, wxEXPAND); + grid->Add (_external_audio[i], 1, wxEXPAND); } _audio_gain->SetRange (-60, 60); @@ -372,29 +375,29 @@ void FilmEditor::make_subtitle_panel () { _subtitle_panel = new wxPanel (_notebook); - _subtitle_sizer = new wxFlexGridSizer (2, 4, 4); - wxBoxSizer* pad = new wxBoxSizer (wxVERTICAL); - pad->Add (_subtitle_sizer, 0, wxALL, 8); - _subtitle_panel->SetSizer (pad); + _subtitle_sizer = new wxBoxSizer (wxVERTICAL); + _subtitle_panel->SetSizer (_subtitle_sizer); + wxFlexGridSizer* grid = new wxFlexGridSizer (2, 4, 4); + _subtitle_sizer->Add (grid, 0, wxALL, 8); _with_subtitles = new wxCheckBox (_subtitle_panel, wxID_ANY, _("With Subtitles")); video_control (_with_subtitles); - _subtitle_sizer->Add (_with_subtitles, 1); + grid->Add (_with_subtitles, 1); _subtitle_stream = new wxChoice (_subtitle_panel, wxID_ANY); - _subtitle_sizer->Add (video_control (_subtitle_stream)); + grid->Add (video_control (_subtitle_stream)); - video_control (add_label_to_sizer (_subtitle_sizer, _subtitle_panel, _("Subtitle Offset"))); + video_control (add_label_to_sizer (grid, _subtitle_panel, _("Subtitle Offset"))); _subtitle_offset = new wxSpinCtrl (_subtitle_panel); - _subtitle_sizer->Add (video_control (_subtitle_offset), 1); + grid->Add (video_control (_subtitle_offset), 1); { - video_control (add_label_to_sizer (_subtitle_sizer, _subtitle_panel, _("Subtitle Scale"))); + video_control (add_label_to_sizer (grid, _subtitle_panel, _("Subtitle Scale"))); wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); _subtitle_scale = new wxSpinCtrl (_subtitle_panel); s->Add (video_control (_subtitle_scale)); video_control (add_label_to_sizer (s, _subtitle_panel, _("%"))); - _subtitle_sizer->Add (s); + grid->Add (s); } _subtitle_offset->SetRange (-1024, 1024); |
