diff options
Diffstat (limited to 'src/stl_text_writer.cc')
| -rw-r--r-- | src/stl_text_writer.cc | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/stl_text_writer.cc b/src/stl_text_writer.cc deleted file mode 100644 index 6a8601d..0000000 --- a/src/stl_text_writer.cc +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (C) 2014 Carl Hetherington <cth@carlh.net> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include "stl_text_writer.h" -#include <boost/optional.hpp> - -using std::list; -using std::ostream; -using std::string; -using boost::optional; -using namespace sub; - -void -sub::write_stl_text (list<Subtitle> subtitles, int screen_height_in_points, float frames_per_second, ostream& out) -{ - optional<string> font; - optional<int> font_size; - bool bold = false; - bool italic = false; - bool underline = false; - int line = 0; - optional<FrameTime> from; - optional<FrameTime> to; - - for (list<Subtitle>::const_iterator i = subtitles.begin(); i != subtitles.end(); ++i) { - bool started_new = false; - if (!font || font.get() != i->font) { - out << "\n$FontName = " << i->font; - font = i->font; - started_new = true; - } - if (!font_size || font_size.get() != i->font_size_points (screen_height_in_points)) { - out << "\n$FontSize = " << i->font_size_points (screen_height_in_points); - font_size = i->font_size_points (screen_height_in_points); - started_new = true; - } - string text; - if (bold != i->bold) { - text += "^B"; - bold = i->bold; - } - if (italic != i->italic) { - text += "^I"; - italic = i->italic; - } - if (underline != i->underline) { - text += "^U"; - underline = i->underline; - } - - text += i->text; - - if (from && from.get() == i->from_frame(frames_per_second) && to && to.get() == i->to_frame(frames_per_second) && !started_new) { - for (int j = line; j < i->line; ++j) { - out << "|"; - } - out << text; - line = i->line; - } else { - out << "\n" << i->from_frame(frames_per_second).timecode() << "," << i->to_frame(frames_per_second).timecode() << "," << text; - from = i->from_frame (frames_per_second); - to = i->to_frame (frames_per_second); - line = 0; - } - } - - out << "\n"; -} |
