Extract common code out into kdm_for_screen()
[dcpomatic.git] / src / lib / text_decoder.h
index d8a64157e9f7f96ea48456312a6818ce34cff8f0..fba9b59472b74047db2d45761321582a833faf7e 100644 (file)
@@ -41,20 +41,20 @@ public:
        TextDecoder (
                Decoder* parent,
                boost::shared_ptr<const TextContent>,
-               boost::shared_ptr<Log> log,
-               ContentTime first
+               dcpomatic::ContentTime first
                );
 
-       ContentTime position () const {
+       boost::optional<dcpomatic::ContentTime> position (boost::shared_ptr<const Film>) const {
                return _position;
        }
 
-       void emit_bitmap_start (ContentTime from, boost::shared_ptr<Image> image, dcpomatic::Rect<double> rect);
-       void emit_plain_start (ContentTime from, std::list<dcp::SubtitleString> s);
-       void emit_plain_start (ContentTime from, sub::Subtitle const & subtitle);
-       void emit_plain (ContentTimePeriod period, std::list<dcp::SubtitleString> s);
-       void emit_plain (ContentTimePeriod period, sub::Subtitle const & subtitle);
-       void emit_stop (ContentTime to);
+       void emit_bitmap_start (dcpomatic::ContentTime from, boost::shared_ptr<Image> image, dcpomatic::Rect<double> rect);
+       void emit_bitmap (dcpomatic::ContentTimePeriod period, boost::shared_ptr<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, sub::Subtitle const & subtitle);
+       void emit_plain (dcpomatic::ContentTimePeriod period, std::list<dcp::SubtitleString> s);
+       void emit_plain (dcpomatic::ContentTimePeriod period, sub::Subtitle const & subtitle);
+       void emit_stop (dcpomatic::ContentTime to);
 
        void seek ();
 
@@ -64,11 +64,11 @@ public:
 
        boost::signals2::signal<void (ContentBitmapText)> BitmapStart;
        boost::signals2::signal<void (ContentStringText)> PlainStart;
-       boost::signals2::signal<void (ContentTime)> Stop;
+       boost::signals2::signal<void (dcpomatic::ContentTime)> Stop;
 
 private:
        boost::shared_ptr<const TextContent> _content;
-       ContentTime _position;
+       boost::optional<dcpomatic::ContentTime> _position;
 };
 
 #endif