Cleanup: make a temporary for the content list.
[dcpomatic.git] / src / lib / text_decoder.h
index d1355afb02c4b7eaf135917e5dccc487641d7947..5362540c2ed6a78a598dac2693d86ddb11e8ac6a 100644 (file)
@@ -25,7 +25,6 @@
 
 #include "decoder.h"
 #include "rect.h"
-#include "types.h"
 #include "content_text.h"
 #include "decoder_part.h"
 #include <dcp/subtitle_string.h>
@@ -42,25 +41,23 @@ 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 {
+       boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film>) const override {
                return _position;
        }
 
-       void emit_bitmap_start (dcpomatic::ContentTime from, std::shared_ptr<const Image> image, dcpomatic::Rect<double> rect);
+       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::Standard 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::Standard valign_standard);
        void emit_plain (dcpomatic::ContentTimePeriod period, sub::Subtitle const & subtitle);
        void emit_stop (dcpomatic::ContentTime to);
 
-       void seek ();
+       void maybe_set_position (dcpomatic::ContentTime position);
+
+       void seek () override;
 
        std::shared_ptr<const TextContent> content () const {
                return _content;