summaryrefslogtreecommitdiff
path: root/src/lib/types.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-05-20 13:23:26 +0100
committerCarl Hetherington <cth@carlh.net>2014-05-20 13:23:26 +0100
commit39bc73fe192f932ed6695eb87b19de446e8b4f55 (patch)
tree4811b0642b7fcd73206b037da4ffb342e90ce6dc /src/lib/types.cc
parentbb0a36c3a6bea9cd1ebdde7b8a3a04765e317569 (diff)
parent884093edac5f63d26c02d411c73dfb52376ccf8f (diff)
Merge 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));
+}