summaryrefslogtreecommitdiff
path: root/src/lib/player_text.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/player_text.cc')
-rw-r--r--src/lib/player_text.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/lib/player_text.cc b/src/lib/player_text.cc
index d9c153416..736421705 100644
--- a/src/lib/player_text.cc
+++ b/src/lib/player_text.cc
@@ -21,13 +21,49 @@
#include "player_text.h"
#include "font.h"
#include "util.h"
+#include "dcpomatic_socket.h"
+#include "image.h"
+#include <dcp/raw_convert.h>
+#include <libxml++/libxml++.h>
#include <boost/foreach.hpp>
using std::list;
using boost::shared_ptr;
+using dcp::raw_convert;
using namespace dcpomatic;
void
+PlayerText::add_metadata (xmlpp::Node* node) const
+{
+ BOOST_FOREACH (shared_ptr<Font> i, fonts) {
+ /* XXX: transferring a font file for every frame that needs it seems a bit wasteful,
+ but probably not so bad in the great scheme of things.
+ */
+ i->transfer_xml (node->add_child("Font"));
+ }
+
+ BOOST_FOREACH (BitmapText i, bitmap) {
+ i.transfer_xml (node->add_child("Bitmap"));
+ }
+
+ BOOST_FOREACH (StringText i, string) {
+ i.transfer_xml (node->add_child("String"));
+ }
+}
+
+void
+PlayerText::send_binary (shared_ptr<Socket> socket) const
+{
+ BOOST_FOREACH (shared_ptr<Font> i, fonts) {
+ i->transfer_binary (socket);
+ }
+
+ BOOST_FOREACH (BitmapText i, bitmap) {
+ i.transfer_binary (socket);
+ }
+}
+
+void
PlayerText::add_fonts (list<shared_ptr<Font> > fonts_)
{
BOOST_FOREACH (shared_ptr<Font> i, fonts_) {