Handle multiple bitmap subtitles at the same time correctly (#2239).
[dcpomatic.git] / src / lib / content_text.h
index 5edb9af2083be0993339caefa876dc09e3627e7d..438a76a6e17870fe2b7f52e4a52d51515c71125a 100644 (file)
@@ -45,18 +45,24 @@ private:
        dcpomatic::ContentTime _from;
 };
 
+
 class ContentBitmapText : public ContentText
 {
 public:
+       ContentBitmapText (dcpomatic::ContentTime from)
+               : ContentText(from)
+       {}
+
        ContentBitmapText (dcpomatic::ContentTime f, std::shared_ptr<const Image> im, dcpomatic::Rect<double> r)
                : ContentText (f)
-               , sub (im, r)
+               , subs{ {im, r} }
        {}
 
-       /* Our text, with its rectangle unmodified by any offsets or scales that the content specifies */
-       BitmapText sub;
+       /* Our texts, with their rectangles unmodified by any offsets or scales that the content specifies */
+       std::vector<BitmapText> subs;
 };
 
+
 /** A text caption.  We store the time period separately (as well as in the dcp::SubtitleStrings)
  *  as the dcp::SubtitleString timings are sometimes quite heavily quantised and this causes problems
  *  when we want to compare the quantised periods to the unquantised ones.