diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-05-30 10:53:53 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-05-30 10:53:53 +0100 |
| commit | 38a5ff713757b9dc0cb67cb09613182c46dc9657 (patch) | |
| tree | ef337ee8bcd315b85f3a50ce37f623f3b1c51d76 /src/stl_binary_writer.cc | |
| parent | 97495d8cce58f0e5d9a43977698c60b8b66a83e3 (diff) | |
Split up into RawSubtitle and Subtitle, with collect(). Hopefully cleaner.
Diffstat (limited to 'src/stl_binary_writer.cc')
| -rw-r--r-- | src/stl_binary_writer.cc | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/stl_binary_writer.cc b/src/stl_binary_writer.cc index e05215a..e662764 100644 --- a/src/stl_binary_writer.cc +++ b/src/stl_binary_writer.cc @@ -113,25 +113,27 @@ sub::write_stl_binary ( for (list<Subtitle>::const_iterator i = subtitles.begin(); i != subtitles.end(); ++i) { int t = 0; - for (list<Block>::const_iterator j = i->blocks.begin(); j != i->blocks.end(); ++j) { - t += j->text.size (); - } - longest = max (longest, t); - - if (i->vertical_position.proportional) { - switch (i->vertical_position.reference.get ()) { - case TOP: - check_top.insert (i->vertical_position.proportional.get ()); - break; - case CENTRE: - check_centre.insert (i->vertical_position.proportional.get ()); - break; - case BOTTOM: - check_bottom.insert (i->vertical_position.proportional.get ()); - break; + for (list<Line>::const_iterator j = i->lines.begin(); j != i->lines.end(); ++j) { + for (list<Block>::const_iterator k = j->blocks.begin(); k != j->blocks.end(); ++k) { + t += k->text.size (); + } + longest = max (longest, t); + + if (j->vertical_position.proportional) { + switch (j->vertical_position.reference.get ()) { + case TOP: + check_top.insert (j->vertical_position.proportional.get ()); + break; + case CENTRE: + check_centre.insert (j->vertical_position.proportional.get ()); + break; + case BOTTOM: + check_bottom.insert (j->vertical_position.proportional.get ()); + break; + } + } else { + check_rows.insert (j->vertical_position.line.get ()); } - } else { - check_rows.insert (i->vertical_position.line.get ()); } } |
