Remove in-place translations support.
[dcpomatic.git] / src / lib / text_decoder.h
index 96b335de14397ac1c9644ad4feb7dd3e150ee615..1a7632fd82b8448366dddc0676531c8b04fd9a27 100644 (file)
 #define DCPOMATIC_CAPTION_DECODER_H
 
 
+#include "content_text.h"
 #include "decoder.h"
+#include "decoder_part.h"
 #include "rect.h"
-#include "types.h"
 #include "content_text.h"
-#include "decoder_part.h"
+#include "types.h"
+#include <dcp/subtitle_standard.h>
 #include <dcp/subtitle_string.h>
 #include <boost/signals2.hpp>
 
@@ -42,11 +44,7 @@ class Image;
 class TextDecoder : public DecoderPart
 {
 public:
-       TextDecoder (
-               Decoder* parent,
-               std::shared_ptr<const TextContent>,
-               dcpomatic::ContentTime first
-               );
+       TextDecoder (Decoder* parent, std::shared_ptr<const TextContent>);
 
        boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film>) const override {
                return _position;
@@ -54,18 +52,22 @@ public:
 
        void emit_bitmap_start (ContentBitmapText const& bitmap);
        void emit_bitmap (dcpomatic::ContentTimePeriod period, std::shared_ptr<const Image> image, dcpomatic::Rect<double> rect);
-       void emit_plain_start (dcpomatic::ContentTime from, std::list<dcp::SubtitleString> s);
+       void emit_plain_start(dcpomatic::ContentTime from, std::vector<dcp::SubtitleString> s, dcp::SubtitleStandard valign_standard);
        void emit_plain_start (dcpomatic::ContentTime from, sub::Subtitle const & subtitle);
-       void emit_plain (dcpomatic::ContentTimePeriod period, std::list<dcp::SubtitleString> s);
+       void emit_plain(dcpomatic::ContentTimePeriod period, std::vector<dcp::SubtitleString> s, dcp::SubtitleStandard valign_standard);
        void emit_plain (dcpomatic::ContentTimePeriod period, sub::Subtitle const & subtitle);
        void emit_stop (dcpomatic::ContentTime to);
 
+       void maybe_set_position (dcpomatic::ContentTime position);
+
        void seek () override;
 
        std::shared_ptr<const TextContent> content () const {
                return _content;
        }
 
+       static std::string remove_invalid_characters_for_xml(std::string text);
+
        boost::signals2::signal<void (ContentBitmapText)> BitmapStart;
        boost::signals2::signal<void (ContentStringText)> PlainStart;
        boost::signals2::signal<void (dcpomatic::ContentTime)> Stop;