summaryrefslogtreecommitdiff
path: root/src/stl_binary_writer.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-05-30 10:53:53 +0100
committerCarl Hetherington <cth@carlh.net>2014-05-30 10:53:53 +0100
commit38a5ff713757b9dc0cb67cb09613182c46dc9657 (patch)
treeef337ee8bcd315b85f3a50ce37f623f3b1c51d76 /src/stl_binary_writer.cc
parent97495d8cce58f0e5d9a43977698c60b8b66a83e3 (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.cc38
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 ());
}
}