summaryrefslogtreecommitdiff
path: root/src/lib/string_text.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-07-06 12:25:15 +0200
committerCarl Hetherington <cth@carlh.net>2022-07-20 10:22:55 +0200
commit9726a58f44d52d235b027225ddd68c6acf83c733 (patch)
tree4616ea2ccfc9793cb08a752678e7c537a858815d /src/lib/string_text.h
parentd70f755dde2812bf2311e2ce09563af1b5334d03 (diff)
Handle vertical alignment of subs correctly wrt the difference between Interop and SMPTE.
Diffstat (limited to 'src/lib/string_text.h')
-rw-r--r--src/lib/string_text.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/string_text.h b/src/lib/string_text.h
index 8c505f36a..4eef7da05 100644
--- a/src/lib/string_text.h
+++ b/src/lib/string_text.h
@@ -32,20 +32,35 @@
* - 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:
- StringText (dcp::SubtitleString dcp_, int outline_width_, std::shared_ptr<dcpomatic::Font> font_)
+ 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;
};