Fix typo in log message.
[dcpomatic.git] / src / lib / string_text.h
index feef90d61c68b0182fcb48d1fa7e88a4ab751e36..4eef7da0562aa79cb6b2a6d507b099ab27a42c6f 100644 (file)
 
 */
 
-#ifndef DCPOMATIC_PLAIN_TEXT_H
-#define DCPOMATIC_PLAIN_TEXT_H
 
+#ifndef DCPOMATIC_STRING_TEXT_H
+#define DCPOMATIC_STRING_TEXT_H
+
+
+#include "font.h"
 #include <dcp/subtitle_string.h>
 
-/** A wrapper for SubtitleString which allows us to include settings that are not
- *  applicable to true DCP subtitles.  For example, we can set outline width for burn-in
- *  but this cannot be specified in DCP XML.
+
+/** A wrapper for SubtitleString which allows us to:
+ *
+ *    - include settings that are not applicable to true DCP subtitles.
+ *      For example, we can set outline width for burn-in but this cannot be specified in DCP XML.
+ *
+ *    - include details of how v_align should be interpreted
+ *
+ *    - specify the font by referring to a Font object from the content we came from, rather than
+ *      having to use a DCP ID like in dcp::SubtitleString.
  */
 class StringText : public dcp::SubtitleString
 {
 public:
-       explicit StringText (dcp::SubtitleString dcp_)
-               : dcp::SubtitleString (dcp_)
-               , outline_width (2)
-       {}
-
-       StringText (dcp::SubtitleString dcp_, int outline_width_)
+       StringText(dcp::SubtitleString dcp_, int outline_width_, std::shared_ptr<dcpomatic::Font> font_, dcp::Standard valign_standard_)
                : dcp::SubtitleString (dcp_)
                , outline_width (outline_width_)
+               , font (font_)
+               , valign_standard (valign_standard_)
        {}
 
        int outline_width;
+       std::shared_ptr<dcpomatic::Font> font;
+       /** Interop and SMPTE use the same VAlign choices (top, center, bottom) but give them different
+        *  meanings.  This is the standard which should be used to interpret v_align() in this subtitle;
+        *  valign_standard == SMPTE means:
+        *     top - top of screen to top of subtitle
+        *     center - centre of screen to center of subtitle
+        *     bottom - bottom of screen to bottom of subtitle
+        *  valign_standard == Interop means:
+        *     top - top of screen to baseline of subtitle
+        *     center - centre of screen to baseline of subtitle
+        *     bottom - bottom of screen to baseline of subtitle
+        */
+       dcp::Standard valign_standard;
 };
 
+
 #endif