X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsubtitle_appearance_dialog.h;h=2a5b9843023cd182201cf9318321fe81d9a9e437;hb=92933c13e9233149e4e80244d92da81b70072214;hp=99eba133ab15b55b96bf78b65012d3fb7ae54a8e;hpb=99b4e0705e9007aabfec08ea2c8d1a84eda0d32e;p=dcpomatic.git diff --git a/src/wx/subtitle_appearance_dialog.h b/src/wx/subtitle_appearance_dialog.h index 99eba133a..2a5b98430 100644 --- a/src/wx/subtitle_appearance_dialog.h +++ b/src/wx/subtitle_appearance_dialog.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2015-2018 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,45 +18,72 @@ */ + #include "timecode.h" +#include "lib/change_signaller.h" #include "lib/rgba.h" +#include "lib/warnings.h" +DCPOMATIC_DISABLE_WARNINGS #include -#include +DCPOMATIC_ENABLE_WARNINGS #include + class wxRadioButton; class wxColourPickerCtrl; class wxGridBagSizer; class Content; class RGBAColourPicker; class FFmpegSubtitleStream; +class wxCheckBox; +class wxWidget; +class Film; +class Job; + 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* _force_effect; wxChoice* _effect; wxCheckBox* _force_effect_colour; wxColourPickerCtrl* _effect_colour; - Timecode* _fade_in; - Timecode* _fade_out; + wxCheckBox* _force_fade_in; + Timecode* _fade_in; + wxCheckBox* _force_fade_out; + Timecode* _fade_out; wxSpinCtrl* _outline_width; wxGridBagSizer* _table; std::map _pickers; - boost::shared_ptr _content; - boost::shared_ptr _stream; + 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; static int const NONE; static int const OUTLINE;