diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-05-10 01:57:20 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-05-11 22:02:49 +0200 |
| commit | 15a83d720780d58f905d40f8493cdcb86596eaee (patch) | |
| tree | 96edb81d905bed4231819efc5bd6292aefaf2c4c /src/wx/custom_scale_dialog.h | |
| parent | dd7c63112eda87f2e491261873075acff114396b (diff) | |
Change video content scaling so that it either:
1. scales the content up to fit the DCP container,
preserving aspect ratio, or
2. stretches the content to a custom aspect ratio, or
3. scales the content to some custom size.
Diffstat (limited to 'src/wx/custom_scale_dialog.h')
| -rw-r--r-- | src/wx/custom_scale_dialog.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/wx/custom_scale_dialog.h b/src/wx/custom_scale_dialog.h new file mode 100644 index 000000000..4c9ccf388 --- /dev/null +++ b/src/wx/custom_scale_dialog.h @@ -0,0 +1,51 @@ +/* + Copyright (C) 2020 Carl Hetherington <cth@carlh.net> + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. + +*/ + + +#include "table_dialog.h" +#include <dcp/types.h> +#include <wx/wx.h> +#include <wx/spinctrl.h> + + +class CustomScaleDialog : public TableDialog +{ +public: + CustomScaleDialog (wxWindow* parent, dcp::Size initial, dcp::Size film_container, boost::optional<float> custom_ratio, boost::optional<dcp::Size> custom_size); + + boost::optional<float> custom_ratio () const; + boost::optional<dcp::Size> custom_size () const; + +private: + void update_size_from_ratio (); + void update_ratio_from_size (); + void setup_sensitivity (); + + wxRadioButton* _ratio_to_fit; + wxTextCtrl* _ratio; + wxStaticText* _size_from_ratio; + wxRadioButton* _size; + wxSpinCtrl* _width; + wxSpinCtrl* _height; + wxStaticText* _ratio_from_size; + + dcp::Size _film_container; +}; + |
