diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-11-05 20:55:09 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-11-05 20:55:09 +0100 |
| commit | cf052af049d43068fee2ceb205249b35436f6e26 (patch) | |
| tree | 2a5de4f2535c85eca7bf3d8d75c1d8be1a56f8b3 /src/text_asset.cc | |
| parent | 301af6aff4c4005749c3346caa7c087933110242 (diff) | |
Move the code to merge ParseStats into a constructor.
Diffstat (limited to 'src/text_asset.cc')
| -rw-r--r-- | src/text_asset.cc | 132 |
1 files changed, 68 insertions, 64 deletions
diff --git a/src/text_asset.cc b/src/text_asset.cc index ff662b69..1a58d22f 100644 --- a/src/text_asset.cc +++ b/src/text_asset.cc @@ -409,70 +409,7 @@ TextAsset::maybe_add_text( return; } - ParseState ps; - for (auto const& i: parse_state) { - if (i.font_id) { - ps.font_id = i.font_id.get(); - } - if (i.size) { - ps.size = i.size.get(); - } - if (i.aspect_adjust) { - ps.aspect_adjust = i.aspect_adjust.get(); - } - if (i.italic) { - ps.italic = i.italic.get(); - } - if (i.bold) { - ps.bold = i.bold.get(); - } - if (i.underline) { - ps.underline = i.underline.get(); - } - if (i.colour) { - ps.colour = i.colour.get(); - } - if (i.effect) { - ps.effect = i.effect.get(); - } - if (i.effect_colour) { - ps.effect_colour = i.effect_colour.get(); - } - if (i.h_position) { - ps.h_position = i.h_position.get(); - } - if (i.h_align) { - ps.h_align = i.h_align.get(); - } - if (i.v_position) { - ps.v_position = i.v_position.get(); - } - if (i.v_align) { - ps.v_align = i.v_align.get(); - } - if (i.z_position) { - ps.z_position = i.z_position.get(); - } - if (i.direction) { - ps.direction = i.direction.get(); - } - if (i.in) { - ps.in = i.in.get(); - } - if (i.out) { - ps.out = i.out.get(); - } - if (i.fade_up_time) { - ps.fade_up_time = i.fade_up_time.get(); - } - if (i.fade_down_time) { - ps.fade_down_time = i.fade_down_time.get(); - } - if (i.type) { - ps.type = i.type.get(); - } - } - + ParseState ps(parse_state); if (!ps.in || !ps.out) { /* We're not in a <Subtitle> node; just ignore this content */ return; @@ -1003,3 +940,70 @@ TextAsset::ensure_font(string load_id, dcp::ArrayData data) } } + +dcp::TextAsset::ParseState::ParseState(std::vector<dcp::TextAsset::ParseState> const& ps) +{ + for (auto const& i: ps) { + if (i.font_id) { + font_id = i.font_id.get(); + } + if (i.size) { + size = i.size.get(); + } + if (i.aspect_adjust) { + aspect_adjust = i.aspect_adjust.get(); + } + if (i.italic) { + italic = i.italic.get(); + } + if (i.bold) { + bold = i.bold.get(); + } + if (i.underline) { + underline = i.underline.get(); + } + if (i.colour) { + colour = i.colour.get(); + } + if (i.effect) { + effect = i.effect.get(); + } + if (i.effect_colour) { + effect_colour = i.effect_colour.get(); + } + if (i.h_position) { + h_position = i.h_position.get(); + } + if (i.h_align) { + h_align = i.h_align.get(); + } + if (i.v_position) { + v_position = i.v_position.get(); + } + if (i.v_align) { + v_align = i.v_align.get(); + } + if (i.z_position) { + z_position = i.z_position.get(); + } + if (i.direction) { + direction = i.direction.get(); + } + if (i.in) { + in = i.in.get(); + } + if (i.out) { + out = i.out.get(); + } + if (i.fade_up_time) { + fade_up_time = i.fade_up_time.get(); + } + if (i.fade_down_time) { + fade_down_time = i.fade_down_time.get(); + } + if (i.type) { + type = i.type.get(); + } + } +} + |
