summaryrefslogtreecommitdiff
path: root/src/lib/types.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-05-19 11:05:10 +0100
committerCarl Hetherington <cth@carlh.net>2014-05-19 11:05:10 +0100
commit9e758fddfb8bbadb1fc84e393daa815445d5e9d5 (patch)
tree291005ebf01a66f07ab05b09e72f634ddd1ac45a /src/lib/types.cc
parent362ed9ee4f73bee21b3ef8d3b449bb8e8877f501 (diff)
parent69c08e8bbd5028a65cbddd2aa5f10632bd059191 (diff)
Merge delay-decode-take2 branch into master.
Diffstat (limited to 'src/lib/types.cc')
-rw-r--r--src/lib/types.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/types.cc b/src/lib/types.cc
index bc4f5f8d9..83bbf41e4 100644
--- a/src/lib/types.cc
+++ b/src/lib/types.cc
@@ -17,11 +17,16 @@
*/
+#include <libxml++/libxml++.h>
+#include <libcxml/cxml.h>
+#include <libdcp/raw_convert.h>
#include "types.h"
using std::max;
using std::min;
using std::string;
+using boost::shared_ptr;
+using libdcp::raw_convert;
bool operator== (Crop const & a, Crop const & b)
{
@@ -65,3 +70,20 @@ string_to_resolution (string s)
assert (false);
return RESOLUTION_2K;
}
+
+Crop::Crop (shared_ptr<cxml::Node> node)
+{
+ left = node->number_child<int> ("LeftCrop");
+ right = node->number_child<int> ("RightCrop");
+ top = node->number_child<int> ("TopCrop");
+ bottom = node->number_child<int> ("BottomCrop");
+}
+
+void
+Crop::as_xml (xmlpp::Node* node) const
+{
+ node->add_child("LeftCrop")->add_child_text (raw_convert<string> (left));
+ node->add_child("RightCrop")->add_child_text (raw_convert<string> (right));
+ node->add_child("TopCrop")->add_child_text (raw_convert<string> (top));
+ node->add_child("BottomCrop")->add_child_text (raw_convert<string> (bottom));
+}