X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fvideo_panel.h;h=2e394e4fc7af4b68aab25e7d97cad7b1c3894d22;hb=6693132ed6fb863fdff496f42028d25f55eb8bc4;hp=51a593e751921b5f9c372f4efcbb09cfd3525042;hpb=2c4023c4f8e9ed5c09a30e28cc0bf8633b7635a3;p=dcpomatic.git diff --git a/src/wx/video_panel.h b/src/wx/video_panel.h index 51a593e75..2e394e4fc 100644 --- a/src/wx/video_panel.h +++ b/src/wx/video_panel.h @@ -1,57 +1,101 @@ /* - Copyright (C) 2012-2013 Carl Hetherington + Copyright (C) 2012-2018 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" -#include "film_editor_panel.h" class wxChoice; class wxStaticText; class wxSpinCtrl; class wxButton; +class wxToggleButton; -class VideoPanel : public FilmEditorPanel +/** @class VideoPanel + * @brief The video tab of the film editor. + */ +class VideoPanel : public ContentSubPanel { public: - VideoPanel (FilmEditor *); + explicit VideoPanel (ContentPanel *); void film_changed (Film::Property); - void film_content_changed (boost::shared_ptr, int); + void film_content_changed (int); + void content_selection_changed (); private: - void left_crop_changed (wxCommandEvent &); - void right_crop_changed (wxCommandEvent &); - void top_crop_changed (wxCommandEvent &); - void bottom_crop_changed (wxCommandEvent &); - void edit_filters_clicked (wxCommandEvent &); - void ratio_changed (wxCommandEvent &); - void frame_type_changed (); - - void setup_scaling_description (); - - wxChoice* _frame_type; - wxSpinCtrl* _left_crop; - wxSpinCtrl* _right_crop; - wxSpinCtrl* _top_crop; - wxSpinCtrl* _bottom_crop; - wxChoice* _ratio; - wxStaticText* _ratio_description; - wxStaticText* _scaling_description; - wxStaticText* _filters; - wxButton* _filters_button; + 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 (); + 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 (); + + 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* _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; };