From 3e24098b32d6160759378e671bfca241dd9025d9 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 30 Aug 2016 15:06:31 +0100 Subject: Neater and more correct XML subtitle parser. --- src/text_node.cc | 104 ------------------------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 src/text_node.cc (limited to 'src/text_node.cc') diff --git a/src/text_node.cc b/src/text_node.cc deleted file mode 100644 index 6a48470d..00000000 --- a/src/text_node.cc +++ /dev/null @@ -1,104 +0,0 @@ -/* - Copyright (C) 2012-2016 Carl Hetherington - - This file is part of libdcp. - - libdcp 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. - - libdcp 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 libdcp. If not, see . - - In addition, as a special exception, the copyright holders give - permission to link the code of portions of this program with the - OpenSSL library under certain conditions as described in each - individual source file, and distribute linked combinations - including the two. - - You must obey the GNU General Public License in all respects - for all of the code used other than OpenSSL. If you modify - file(s) with this exception, you may extend this exception to your - version of the file(s), but you are not obligated to do so. If you - do not wish to do so, delete this exception statement from your - version. If you delete this exception statement from all source - files in the program, then also delete it here. -*/ - -/** @file src/text.cc - * @brief TextNode class for parsing subtitle XML. - */ - -#include "text_node.h" -#include "xml.h" -#include "font_node.h" -#include -#include - -using std::string; -using std::list; -using boost::shared_ptr; -using boost::optional; -using namespace dcp; - -/** Read a <Text> node from a subtitle XML file, noting its contents - * in this object's member variables. - * @param node Node to read. - */ -TextNode::TextNode (boost::shared_ptr node, optional tcr, Standard standard) - : h_position (0) - , h_align (HALIGN_CENTER) - , v_position (0) - , v_align (VALIGN_CENTER) - , direction (DIRECTION_LTR) -{ - text = node->content (); - - optional hp = node->optional_number_attribute ("HPosition"); - if (!hp) { - hp = node->optional_number_attribute ("Hposition"); - } - if (hp) { - h_position = hp.get () / 100; - } - - optional ha = node->optional_string_attribute ("HAlign"); - if (!ha) { - ha = node->optional_string_attribute ("Halign"); - } - if (ha) { - h_align = string_to_halign (ha.get ()); - } - - optional vp = node->optional_number_attribute ("VPosition"); - if (!vp) { - vp = node->optional_number_attribute ("Vposition"); - } - if (vp) { - v_position = vp.get () / 100; - } - - optional va = node->optional_string_attribute ("VAlign"); - if (!va) { - va = node->optional_string_attribute ("Valign"); - } - if (va) { - v_align = string_to_valign (va.get ()); - } - - optional d = node->optional_string_attribute ("Direction"); - if (d) { - direction = string_to_direction (d.get ()); - } - - list f = node->node_children ("Font"); - BOOST_FOREACH (cxml::NodePtr& i, f) { - font_nodes.push_back (shared_ptr (new FontNode (i, tcr, standard))); - } -} -- cgit v1.2.3