Ticket #2586: teletext.diff
File teletext.diff, 3.5 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/osdtypeteletext.cpp
1 1 /* ============================================================= 2 2 * File : osdtypeteletext.cpp 3 3 * Author: Frank Muenchow <beebof@gmx.de> 4 * Martin Barnasconi 4 * Martin Barnasconi <martin@barnasconi.net> 5 5 * Date : 2005-10-25 6 6 * 7 7 * This program is free software; you can redistribute it … … 215 215 return; 216 216 217 217 int currentpage = m_magazines[magazine - 1].current_page; 218 218 219 if (!currentpage) 219 220 return; 220 221 … … 248 249 { 249 250 case VBI_IVTV: 250 251 b1 = hamm8(buf, &err); 251 b2 = hamm8(buf + 37, & 252 if (err & 0xF00 )252 b2 = hamm8(buf + 37, &err); 253 if (err & 0xF000) 253 254 return; 254 255 break; 255 256 case VBI_DVB: … … 512 513 m_pageinput[2] = ' '; 513 514 } 514 515 516 PageUpdated(m_curpage, m_cursubpage); 515 517 break; 516 518 517 519 case TTKey::kNextPage: 518 520 { 519 521 TeletextPage *ttpage = FindPage(m_curpage, 1); 522 520 523 if (ttpage) 521 524 newPage = ttpage->pagenum; 525 522 526 newSubPage = -1; 523 527 m_curpage_showheader = true; 524 528 break; … … 527 531 case TTKey::kPrevPage: 528 532 { 529 533 TeletextPage *ttpage = FindPage(m_curpage, -1); 534 530 535 if (ttpage) 531 536 newPage = ttpage->pagenum; 537 532 538 newSubPage = -1; 533 539 m_curpage_showheader = true; 534 540 break; … … 537 543 case TTKey::kNextSubPage: 538 544 { 539 545 TeletextSubPage *ttpage = FindSubPage(m_curpage, m_cursubpage, 1); 546 540 547 if (ttpage) 541 548 newSubPage = ttpage->subpagenum; 549 542 550 m_curpage_showheader = true; 543 551 break; 544 552 } … … 546 554 case TTKey::kPrevSubPage: 547 555 { 548 556 TeletextSubPage *ttpage = FindSubPage(m_curpage, m_cursubpage, -1); 557 549 558 if (ttpage) 550 559 newSubPage = ttpage->subpagenum; 560 551 561 m_curpage_showheader = true; 552 562 break; 553 563 } … … 887 897 888 898 char last_ch = ' '; 889 899 char ch; 900 char floflinkcnt; 890 901 891 902 uint fgcolor = TTColor::WHITE; 892 903 uint bgcolor = TTColor::BLACK; 893 904 uint newfgcolor = TTColor::WHITE; 894 905 uint newbgcolor = TTColor::BLACK; 895 906 907 const TeletextSubPage *ttpage = FindSubPage(m_curpage, m_cursubpage); 908 896 909 if (m_curpage_issubtitle || m_transparent) 897 910 { 898 911 bgcolor = TTColor::TRANSPARENT; … … 911 924 hold = false; 912 925 endbox = false; 913 926 startbox = false; 927 floflinkcnt = 0; 914 928 915 929 if (row == 1) 916 930 { … … 942 956 fgcolor = ch & 7; 943 957 mosaic = false; 944 958 conceal = false; 959 960 if (row == 25) { 961 floflinkcnt++; //menu item detected; 962 } 963 945 964 goto ctrl; 946 965 case 0x08: // flash 947 966 // XXX … … 1008 1027 break; 1009 1028 } 1010 1029 1030 if (floflinkcnt) { 1031 if (ttpage->floflink[floflinkcnt-1] == 0) 1032 fgcolor = TTColor::BLACK; //hide FLOF menu characters if not available 1033 } 1034 1011 1035 newfgcolor = fgcolor; 1012 1036 newbgcolor = bgcolor; 1013 1037