From 38a5ff713757b9dc0cb67cb09613182c46dc9657 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 30 May 2014 10:53:53 +0100 Subject: Split up into RawSubtitle and Subtitle, with collect(). Hopefully cleaner. --- src/stl_binary_writer.cc | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) (limited to 'src/stl_binary_writer.cc') 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::const_iterator i = subtitles.begin(); i != subtitles.end(); ++i) { int t = 0; - for (list::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::const_iterator j = i->lines.begin(); j != i->lines.end(); ++j) { + for (list::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 ()); } } -- cgit v1.2.3