X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsubtitle_appearance_dialog.h;h=2a5b9843023cd182201cf9318321fe81d9a9e437;hb=f984990795e548e2c4160d17d0fa54a40c8b1311;hp=fddb902acdf5afde8585a960c15642662ac304d0;hpb=80400212e939dc2f3b987cb6df57709929aa5178;p=dcpomatic.git diff --git a/src/wx/subtitle_appearance_dialog.h b/src/wx/subtitle_appearance_dialog.h index fddb902ac..2a5b98430 100644 --- a/src/wx/subtitle_appearance_dialog.h +++ b/src/wx/subtitle_appearance_dialog.h @@ -1,40 +1,91 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-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 . */ -#include "table_dialog.h" -#include -class wxCheckBox; +#include "timecode.h" +#include "lib/change_signaller.h" +#include "lib/rgba.h" +#include "lib/warnings.h" +DCPOMATIC_DISABLE_WARNINGS +#include +DCPOMATIC_ENABLE_WARNINGS +#include + + +class wxRadioButton; class wxColourPickerCtrl; -class TextSubtitleContent; +class wxGridBagSizer; +class Content; +class RGBAColourPicker; +class FFmpegSubtitleStream; +class wxCheckBox; +class wxWidget; +class Film; +class Job; + -class SubtitleAppearanceDialog : public TableDialog +class SubtitleAppearanceDialog : public wxDialog { public: - SubtitleAppearanceDialog (wxWindow* parent, boost::shared_ptr content); + SubtitleAppearanceDialog (wxWindow* parent, std::shared_ptr film, std::shared_ptr content, std::shared_ptr caption); void apply (); private: + void setup_sensitivity (); + void restore (); + wxCheckBox* set_to (wxWindow* w, int& r); + void content_change (ChangeType type); + void active_jobs_changed (boost::optional last); + void add_colours (); + + std::weak_ptr _film; + wxCheckBox* _force_colour; wxColourPickerCtrl* _colour; - wxCheckBox* _outline; - wxColourPickerCtrl* _outline_colour; + wxCheckBox* _force_effect; + wxChoice* _effect; + wxCheckBox* _force_effect_colour; + wxColourPickerCtrl* _effect_colour; + wxCheckBox* _force_fade_in; + Timecode* _fade_in; + wxCheckBox* _force_fade_out; + Timecode* _fade_out; + wxSpinCtrl* _outline_width; + wxGridBagSizer* _table; + std::map _pickers; + + wxBoxSizer* _overall_sizer; + wxScrolled* _colours_panel; + wxStaticText* _finding = nullptr; + wxFlexGridSizer* _colour_table; + + std::shared_ptr _content; + std::shared_ptr _text; + std::shared_ptr _stream; + + boost::signals2::scoped_connection _content_connection; + boost::signals2::scoped_connection _job_manager_connection; + + std::weak_ptr _job; - boost::shared_ptr _content; + static int const NONE; + static int const OUTLINE; + static int const SHADOW; };