mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2025-02-17 17:24:44 +00:00
roll-ups according to specs
This commit is contained in:
parent
b81cdbc14d
commit
3c8db9b231
34
src/608.c
34
src/608.c
@ -816,31 +816,29 @@ void handle_command(/*const */ unsigned char c1, const unsigned char c2, struct
|
|||||||
}
|
}
|
||||||
erase_memory(context, false);
|
erase_memory(context, false);
|
||||||
|
|
||||||
|
// Cursor position only reset if not already in rollup.
|
||||||
|
// If no Preamble Address Code is received, the base row shall default to
|
||||||
|
// Row 15 or, ifa roll-up caption is currently displayed, to the same
|
||||||
|
//base row last received, and the cursor shall be placed at Column 1.
|
||||||
|
//" This rule is meant to be applied only when no roll-up caption is
|
||||||
|
// currently displayed,
|
||||||
|
if (context->mode == MODE_FAKE_ROLLUP_1 ||
|
||||||
|
context->mode == MODE_ROLLUP_2 ||
|
||||||
|
context->mode == MODE_ROLLUP_3 ||
|
||||||
|
context->mode == MODE_ROLLUP_4)
|
||||||
|
{
|
||||||
|
context->cursor_row = context->rollup_base_row;
|
||||||
|
context->cursor_column = 0;
|
||||||
|
}
|
||||||
// If the reception of data for a row is interrupted by data for the alternate
|
// If the reception of data for a row is interrupted by data for the alternate
|
||||||
// data channel or for text mode, the display of caption text will resume from the same
|
// data channel or for text mode, the display of caption text will resume from the same
|
||||||
// cursor position if a roll-up caption command is received and no PAC is given [...]
|
// cursor position if a roll-up caption command is received and no PAC is given [...]
|
||||||
if (context->mode != MODE_TEXT)
|
else if (context->mode != MODE_TEXT)
|
||||||
{
|
{
|
||||||
context->cursor_row = 14; // Default if the previous mode wasn't roll up already.
|
context->cursor_row = 14; // Default if the previous mode wasn't roll up already.
|
||||||
context->cursor_column = 0;
|
context->cursor_column = 0;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
// Cursor position only reset if not already in rollup.
|
|
||||||
// If no Preamble Address Code is received, the base row shall default to
|
|
||||||
// Row 15 or, ifa roll-up caption is currently displayed, to the same
|
|
||||||
//base row last received, and the cursor shall be placed at Column 1.
|
|
||||||
//" This rule is meant to be applied only when no roll-up caption is
|
|
||||||
// currently displayed,
|
|
||||||
if (context->mode != MODE_FAKE_ROLLUP_1 &&
|
|
||||||
context->mode != MODE_ROLLUP_2 &&
|
|
||||||
context->mode != MODE_ROLLUP_3 &&
|
|
||||||
context->mode == MODE_ROLLUP_4)
|
|
||||||
{
|
|
||||||
context->cursor_row = context->rollup_base_row;
|
|
||||||
context->cursor_column = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
switch (command)
|
switch (command)
|
||||||
{
|
{
|
||||||
case COM_FAKE_RULLUP1:
|
case COM_FAKE_RULLUP1:
|
||||||
|
Loading…
Reference in New Issue
Block a user