X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fvideo_panel.h;h=2d25f82af4483b3e14522a356cdc4d49111b5420;hb=70b72b53eab0f247eb4dc605a2d669d4adb4e469;hp=a244d08b3152af083ac5e2e9ad088a8e2452d180;hpb=2857a60daf47286979a813ebefd892757de4f113;p=dcpomatic.git diff --git a/src/wx/video_panel.h b/src/wx/video_panel.h index a244d08b3..2d25f82af 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,24 @@ */ + /** @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" + +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,47 +45,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; 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; };