diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/tv.h | 1 | ||||
-rw-r--r-- | stream/tvi_vbi.c | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/stream/tv.h b/stream/tv.h index d35b78e9bb..31d5785282 100644 --- a/stream/tv.h +++ b/stream/tv.h @@ -276,6 +276,7 @@ typedef struct tt_char_s{ unsigned char fg; ///< foreground color unsigned char bg; ///< background color unsigned char gfx; ///< 0-no gfx, 1-solid gfx, 2-separated gfx + unsigned char flh; ///< 0-no flash, 1-flash unsigned char ctl; ///< control character unsigned char lng; ///< lang: 0-secondary language,1-primary language unsigned char raw; ///< raw character (as received from device) diff --git a/stream/tvi_vbi.c b/stream/tvi_vbi.c index f5513528d8..a93d9de400 100644 --- a/stream/tvi_vbi.c +++ b/stream/tvi_vbi.c @@ -690,6 +690,7 @@ static void decode_page(tt_char* p,unsigned char* raw,int primary_lang,int secon int separated=0; int conceal=0; int hold=0; + int flash=0; tt_char tt_held=tt_space; for(col=0;col<VBI_COLUMNS;col++){ int i=row*VBI_COLUMNS+col; @@ -704,10 +705,12 @@ static void decode_page(tt_char* p,unsigned char* raw,int primary_lang,int secon p[i].ctl=(c&0x60)==0?1:0; p[i].fg=fg_color; p[i].bg=bg_color; + p[i].flh=flash; if ((c&0x60)==0){ //control chars if(c>=0x08 && c<=0x09){//Flash/Steady - FFSWAP(int,bg_color,fg_color); + flash=c==0x08; + p[i].flh=flash; if(c==0x09){ p[i].fg=fg_color; p[i].bg=bg_color; |