X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcontent_text.h;h=06fb39cfce6c423166c465a07d4d59af5367ef7e;hb=9704833bdfc8c8f104203200be27f714fa677506;hp=17ec579dfb93685d3195414878bdb2f20485871b;hpb=2dfe601447c5f2a7d00abd605f171c96f61ae707;p=dcpomatic.git diff --git a/src/lib/content_text.h b/src/lib/content_text.h index 17ec579df..06fb39cfc 100644 --- a/src/lib/content_text.h +++ b/src/lib/content_text.h @@ -18,57 +18,70 @@ */ + #ifndef DCPOMATIC_CONTENT_TEXT_H #define DCPOMATIC_CONTENT_TEXT_H + +#include "bitmap_text.h" #include "dcpomatic_time.h" #include "rect.h" -#include "bitmap_text.h" +#include "string_text.h" +#include "types.h" #include -#include +#include + 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 im, dcpomatic::Rect r) + ContentBitmapText (dcpomatic::ContentTime from) + : ContentText(from) + {} + + ContentBitmapText (dcpomatic::ContentTime f, std::shared_ptr im, dcpomatic::Rect 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 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 s) + ContentStringText (dcpomatic::ContentTime f, std::vector s) : ContentText (f) , subs (s) {} - std::list subs; + std::vector subs; }; + #endif