From e1f53890da6e4be2555a9e17a52edcc03d53656b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 3 Jun 2015 23:32:48 +0100 Subject: Basic HAlign / HPosition support. --- src/text_node.cc | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) (limited to 'src/text_node.cc') diff --git a/src/text_node.cc b/src/text_node.cc index 834b78b2..6332e1f5 100644 --- a/src/text_node.cc +++ b/src/text_node.cc @@ -38,22 +38,43 @@ using namespace dcp; * @param node Node to read. */ TextNode::TextNode (boost::shared_ptr node, int tcr) - : v_align (CENTER) + : h_position (0) + , h_align (HALIGN_CENTER) + , v_position (0) + , v_align (VALIGN_CENTER) { text = node->content (); - optional x = node->optional_number_attribute ("VPosition"); - if (!x) { - x = node->number_attribute ("Vposition"); + + optional hp = node->optional_number_attribute ("HPosition"); + if (!hp) { + hp = node->optional_number_attribute ("Hposition"); + } + if (hp) { + h_position = hp.get () / 100; } - v_position = x.get () / 100; - optional v = node->optional_string_attribute ("VAlign"); - if (!v) { - v = node->optional_string_attribute ("Valign"); + optional ha = node->optional_string_attribute ("HAlign"); + if (!ha) { + ha = node->optional_string_attribute ("Halign"); + } + if (ha) { + h_align = string_to_halign (ha.get ()); } - if (v) { - v_align = string_to_valign (v.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 ()); } list f = node->node_children ("Font"); -- cgit v1.2.3