using boost::shared_ptr;
using boost::optional;
using boost::function;
+using namespace dcpomatic;
TextDecoder::TextDecoder (
Decoder* parent,
shared_ptr<const TextContent> c,
- shared_ptr<Log> log,
ContentTime first
)
- : DecoderPart (parent, log)
+ : DecoderPart (parent)
, _content (c)
, _position (first)
{
v_align = dcp::VALIGN_TOP;
} else {
- DCPOMATIC_ASSERT (i.vertical_position.proportional);
DCPOMATIC_ASSERT (i.vertical_position.reference);
- v_position = i.vertical_position.proportional.get();
+ if (i.vertical_position.proportional) {
+ v_position = i.vertical_position.proportional.get();
+ } else {
+ DCPOMATIC_ASSERT (i.vertical_position.line);
+ DCPOMATIC_ASSERT (i.vertical_position.lines);
+ v_position = float(*i.vertical_position.line) / *i.vertical_position.lines;
+ }
if (lowest_proportional) {
/* Adjust line spacing */