-#include "lib/text_subtitle_content.h"
-#include "lib/subtitle_content.h"
+#include "static_text.h"
+#include "check_box.h"
+#include "lib/string_text_file_content.h"
+#include "lib/text_content.h"
-SubtitleAppearanceDialog::SubtitleAppearanceDialog (wxWindow* parent, shared_ptr<Content> content)
- : wxDialog (parent, wxID_ANY, _("Subtitle appearance"))
+SubtitleAppearanceDialog::SubtitleAppearanceDialog (wxWindow* parent, shared_ptr<const Film> film, shared_ptr<Content> content, shared_ptr<TextContent> caption)
+ : wxDialog (parent, wxID_ANY, _("Caption appearance"))
+ , _film (film)
t->SetLabelMarkup (_("<b>Original colour</b>"));
table->Add (t, 1, wxEXPAND);
t->SetLabelMarkup (_("<b>Original colour</b>"));
table->Add (t, 1, wxEXPAND);
- t = new wxStaticText (colours_panel, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
+ t = new StaticText (colours_panel, "", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE_HORIZONTAL);
t->SetLabelMarkup (_("<b>New colour</b>"));
table->Add (t, 1, wxALIGN_CENTER);
t->SetLabelMarkup (_("<b>New colour</b>"));
table->Add (t, 1, wxALIGN_CENTER);
_force_colour->SetValue (static_cast<bool>(colour));
if (colour) {
_colour->SetColour (wxColour (colour->r, colour->g, colour->b));
_force_colour->SetValue (static_cast<bool>(colour));
if (colour) {
_colour->SetColour (wxColour (colour->r, colour->g, colour->b));
_force_effect_colour->SetValue (static_cast<bool>(effect_colour));
if (effect_colour) {
_effect_colour->SetColour (wxColour (effect_colour->r, effect_colour->g, effect_colour->b));
_force_effect_colour->SetValue (static_cast<bool>(effect_colour));
if (effect_colour) {
_effect_colour->SetColour (wxColour (effect_colour->r, effect_colour->g, effect_colour->b));
_force_colour->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_effect_colour->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_colour->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_effect_colour->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_fade_in->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_fade_out->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_effect->Bind (wxEVT_CHOICE, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_fade_in->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_force_fade_out->Bind (wxEVT_CHECKBOX, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
_effect->Bind (wxEVT_CHOICE, bind (&SubtitleAppearanceDialog::setup_sensitivity, this));
wxCheckBox*
SubtitleAppearanceDialog::set_to (wxWindow* w, int& r)
{
wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
wxCheckBox*
SubtitleAppearanceDialog::set_to (wxWindow* w, int& r)
{
wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
s->Add (set_to, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 8);
s->Add (w, 0, wxALIGN_CENTER_VERTICAL);
_table->Add (s, wxGBPosition (r, 1));
s->Add (set_to, 0, wxRIGHT | wxALIGN_CENTER_VERTICAL, 8);
s->Add (w, 0, wxALIGN_CENTER_VERTICAL);
_table->Add (s, wxGBPosition (r, 1));
- switch (_effect->GetSelection()) {
- case NONE:
- _content->subtitle->set_effect (dcp::NONE);
- break;
- case OUTLINE:
- _content->subtitle->set_effect (dcp::BORDER);
- break;
- case SHADOW:
- _content->subtitle->set_effect (dcp::SHADOW);
- break;
+ if (_force_effect->GetValue()) {
+ switch (_effect->GetSelection()) {
+ case NONE:
+ _caption->set_effect (dcp::NONE);
+ break;
+ case OUTLINE:
+ _caption->set_effect (dcp::BORDER);
+ break;
+ case SHADOW:
+ _caption->set_effect (dcp::SHADOW);
+ break;
+ }
+ } else {
+ _caption->unset_effect ();