X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fvideo_panel.h;h=81e65d820e68b5e703320122422723b896af97c0;hb=e3c48c1b52b7b61bd3fda7a6276eb697bad17977;hp=3c7588eb182f63fc7d8d1167c7ca315d287f3bab;hpb=ae2a7f6ae087b807de225448c71130eb1e7d6726;p=dcpomatic.git diff --git a/src/wx/video_panel.h b/src/wx/video_panel.h index 3c7588eb1..81e65d820 100644 --- a/src/wx/video_panel.h +++ b/src/wx/video_panel.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2018 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,21 +18,26 @@ */ + /** @file src/lib/video_panel.h * @brief VideoPanel class. */ + #include "content_sub_panel.h" #include "content_widget.h" #include "timecode.h" -#include "lib/video_content_scale.h" #include "lib/film.h" -#include "lib/config.h" +#include "lib/video_frame_type.h" + +class CheckBox; +class wxButton; class wxChoice; -class wxStaticText; class wxSpinCtrl; -class wxButton; +class wxStaticText; +class wxToggleButton; + /** @class VideoPanel * @brief The video tab of the film editor. @@ -42,48 +47,62 @@ class VideoPanel : public ContentSubPanel public: 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 reference_clicked (); - void edit_filters_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 config_changed (Config::Property p); + 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 (); - wxGridBagSizer* _grid; - wxCheckBox* _reference; + CheckBox* _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; + Timecode* _fade_in; wxStaticText* _fade_out_label; - Timecode* _fade_out; - wxStaticText* _scale_to_label; - ContentChoice* _scale; + Timecode* _fade_out; + wxStaticText* _scale_label; + wxRadioButton* _scale_fit; + wxRadioButton* _scale_custom; + wxButton* _scale_custom_edit; wxStaticText* _description; - wxStaticText* _filters_label; - wxStaticText* _filters; - wxButton* _filters_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; };