Tidy up careful_string_filter and add some extra transliterations.
[dcpomatic.git] / src / lib / content_text.h
index 17ec579dfb93685d3195414878bdb2f20485871b..438a76a6e17870fe2b7f52e4a52d51515c71125a 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "dcpomatic_time.h"
 #include "rect.h"
+#include "types.h"
 #include "bitmap_text.h"
 #include <dcp/subtitle_string.h>
 #include <list>
@@ -32,38 +33,44 @@ class Image;
 class ContentText
 {
 public:
-       explicit ContentText (ContentTime f)
+       explicit ContentText (dcpomatic::ContentTime f)
                : _from (f)
        {}
 
-       ContentTime from () const {
+       dcpomatic::ContentTime from () const {
                return _from;
        }
 
 private:
-       ContentTime _from;
+       dcpomatic::ContentTime _from;
 };
 
+
 class ContentBitmapText : public ContentText
 {
 public:
-       ContentBitmapText (ContentTime f, boost::shared_ptr<Image> im, dcpomatic::Rect<double> r)
+       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 subtitle.  We store the time period separately (as well as in the dcp::SubtitleStrings)
+
+/** 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.
  */
-class ContentPlainText : public ContentText
+class ContentStringText : public ContentText
 {
 public:
-       ContentPlainText (ContentTime f, std::list<dcp::SubtitleString> s)
+       ContentStringText (dcpomatic::ContentTime f, std::list<dcp::SubtitleString> s)
                : ContentText (f)
                , subs (s)
        {}