/* Copyright (C) 2012-2021 Carl Hetherington 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 . */ /** @file src/lib/video_panel.h * @brief VideoPanel class. */ #include "content_sub_panel.h" #include "content_widget.h" #include "timecode.h" #include "lib/film_property.h" #include "lib/video_frame_type.h" class CheckBox; class wxButton; class wxChoice; class wxSpinCtrl; class wxStaticText; class wxToggleButton; /** @class VideoPanel * @brief The video tab of the film editor. */ class VideoPanel : public ContentSubPanel { public: explicit VideoPanel(ContentPanel *); void create() override; void film_changed(FilmProperty) override; void film_content_changed(int) override; void content_selection_changed() override; private: 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(); 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; };