X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsubtitle_appearance_dialog.h;h=0b3c661326c95feb81b9800f643b6f9c8e35b508;hb=a5be11a965c2c38442e4e069874e7e21b5b43a5c;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..0b3c66132 100644 --- a/src/wx/subtitle_appearance_dialog.h +++ b/src/wx/subtitle_appearance_dialog.h @@ -1,40 +1,85 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-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 . */ -#include "table_dialog.h" +#include "timecode.h" +#include "lib/rgba.h" +#include #include +#include -class wxCheckBox; +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, boost::shared_ptr film, boost::shared_ptr content, boost::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 (); + + boost::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; + wxFlexGridSizer* _colour_table; + + boost::shared_ptr _content; + boost::shared_ptr _caption; + boost::shared_ptr _stream; + + boost::signals2::scoped_connection _content_connection; + boost::signals2::scoped_connection _job_manager_connection; + + boost::weak_ptr _job; - boost::shared_ptr _content; + static int const NONE; + static int const OUTLINE; + static int const SHADOW; };