X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fvideo_panel.h;h=2d25f82af4483b3e14522a356cdc4d49111b5420;hb=23aa3071850761144798112a5aaea61304de8586;hp=aa0c6ed531af796a4fdc54df2c4f83e8b3957262;hpb=e491397c0028a80ac4a48a92007f783746553c1a;p=dcpomatic.git diff --git a/src/wx/video_panel.h b/src/wx/video_panel.h index aa0c6ed53..2d25f82af 100644 --- a/src/wx/video_panel.h +++ b/src/wx/video_panel.h @@ -1,35 +1,41 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + 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. - This program is distributed in the hope that it will be useful, + 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 this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + /** @file src/lib/video_panel.h * @brief VideoPanel class. */ + #include "content_sub_panel.h" #include "content_widget.h" #include "timecode.h" #include "lib/film.h" + +class wxButton; class wxChoice; -class wxStaticText; class wxSpinCtrl; -class wxButton; +class wxStaticText; +class wxToggleButton; + /** @class VideoPanel * @brief The video tab of the film editor. @@ -37,31 +43,64 @@ class wxButton; class VideoPanel : public ContentSubPanel { public: - VideoPanel (ContentPanel *); + explicit VideoPanel (ContentPanel *); - void film_changed (Film::Property); - void film_content_changed (int); - void content_selection_changed (); + void create () override; + void film_changed (Film::Property) override; + void film_content_changed (int) override; + void content_selection_changed () override; private: - void edit_filters_clicked (); + void reference_clicked (); + void colour_conversion_changed (); void edit_colour_conversion_clicked (); + void range_changed (); void fade_in_changed (); void fade_out_changed (); + void add_to_grid () override; + void scale_fit_clicked (); + void scale_custom_clicked (); + bool scale_custom_edit_clicked (); + void left_right_link_clicked (); + void top_bottom_link_clicked (); + void left_crop_changed (); + void right_crop_changed (); + void top_crop_changed (); + void bottom_crop_changed (); void setup_description (); + void setup_sensitivity (); - ContentChoice* _frame_type; - ContentSpinCtrl* _left_crop; - ContentSpinCtrl* _right_crop; - ContentSpinCtrl* _top_crop; - ContentSpinCtrl* _bottom_crop; - Timecode* _fade_in; - Timecode* _fade_out; - ContentChoice* _scale; + wxCheckBox* _reference; + wxStaticText* _reference_note; + wxStaticText* _type_label; + ContentChoice* _frame_type; + wxStaticText* _crop_label; + wxStaticText* _left_crop_label; + ContentSpinCtrl* _left_crop; + wxToggleButton* _left_right_link; + wxStaticText* _right_crop_label; + ContentSpinCtrl* _right_crop; + wxStaticText* _top_crop_label; + ContentSpinCtrl* _top_crop; + wxToggleButton* _top_bottom_link; + wxStaticText* _bottom_crop_label; + ContentSpinCtrl* _bottom_crop; + wxStaticText* _fade_in_label; + Timecode* _fade_in; + wxStaticText* _fade_out_label; + Timecode* _fade_out; + wxStaticText* _scale_label; + wxRadioButton* _scale_fit; + wxRadioButton* _scale_custom; + wxButton* _scale_custom_edit; wxStaticText* _description; - wxStaticText* _filters; - wxButton* _filters_button; - wxStaticText* _colour_conversion; - wxButton* _colour_conversion_button; + wxStaticText* _colour_conversion_label; + wxChoice* _colour_conversion; + wxButton* _edit_colour_conversion_button; + wxStaticText* _range_label; + wxChoice* _range; + + bool _left_changed_last = true; + bool _top_changed_last = true; };