Extract common code out into kdm_for_screen()
[dcpomatic.git] / src / wx / text_panel.h
index 3d3483a465d36dfbc4fddc55058ea802f7fb6273..7a7b7b504b3b95d41d3bb3621254adf9159064ce 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
@@ -24,6 +24,7 @@ class wxCheckBox;
 class wxSpinCtrl;
 class TextView;
 class FontsDialog;
+class SubtitleAnalysis;
 
 class TextPanel : public ContentSubPanel
 {
@@ -43,27 +44,55 @@ private:
        void x_scale_changed ();
        void y_scale_changed ();
        void line_spacing_changed ();
+       void dcp_track_changed ();
        void language_changed ();
        void stream_changed ();
        void text_view_clicked ();
        void fonts_dialog_clicked ();
        void reference_clicked ();
        void appearance_dialog_clicked ();
+       void outline_subtitles_changed ();
        TextType current_type () const;
+       void update_dcp_tracks ();
+       void update_dcp_track_selection ();
+       void add_to_grid ();
+       void try_to_load_analysis ();
+       void analysis_finished ();
 
        void setup_sensitivity ();
+       void setup_visibility ();
+
+       void update_outline_subtitles_in_viewer ();
+       void clear_outline_subtitles ();
 
        wxCheckBox* _reference;
        wxStaticText* _reference_note;
+       wxCheckBox* _outline_subtitles;
        wxCheckBox* _use;
        wxChoice* _type;
        wxCheckBox* _burn;
+       wxStaticText* _offset_label;
+       wxStaticText* _x_offset_label;
+       wxStaticText* _x_offset_pc_label;
+       wxStaticText* _y_offset_label;
+       wxStaticText* _y_offset_pc_label;
        wxSpinCtrl* _x_offset;
        wxSpinCtrl* _y_offset;
+       wxStaticText* _scale_label;
+       wxStaticText* _x_scale_label;
+       wxStaticText* _x_scale_pc_label;
+       wxStaticText* _y_scale_label;
+       wxStaticText* _y_scale_pc_label;
        wxSpinCtrl* _x_scale;
        wxSpinCtrl* _y_scale;
+       wxStaticText* _line_spacing_label;
+       wxStaticText* _line_spacing_pc_label;
        wxSpinCtrl* _line_spacing;
+       wxStaticText* _dcp_track_label;
+       wxChoice* _dcp_track;
+       wxStaticText* _language_label;
        wxTextCtrl* _language;
+       wxStaticText* _stream_label;
        wxChoice* _stream;
        wxButton* _text_view_button;
        TextView* _text_view;
@@ -71,4 +100,12 @@ private:
        FontsDialog* _fonts_dialog;
        wxButton* _appearance_dialog_button;
        TextType _original_type;
+
+       int _outline_subtitles_row;
+       int _language_row;
+
+       boost::weak_ptr<Content> _analysis_content;
+       boost::signals2::scoped_connection _analysis_finished_connection;
+       boost::shared_ptr<SubtitleAnalysis> _analysis;
+       bool _loading_analysis;
 };