⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvdshow.c

📁 MTK 1389E SOURCE CODE
💻 C
📖 第 1 页 / 共 3 页
字号:
      vOsdClearInputField(OSD_POS_DVD_SEARCH);
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_TITLE_TIME_SEARCH_TTL][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
    }
    else
    {
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_TITLE_TIME_SEARCH_TTL][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
    }
  }
  else /* for time search */
  {
    /* error check */
    if (bCurTit > bTotTit)
    {
      bCurTit = bTotTit;
    }

    bCurTit = bHEXToBCD(bCurTit);
    bTotTit = bHEXToBCD(bTotTit);

    pbStr[1] = BCD_HI(bCurTit) + '0';
    pbStr[2] = BCD_LO(bCurTit) + '0';
    pbStr[3] = BCD_HI(bTotTit) + '0';
    pbStr[4] = BCD_LO(bTotTit) + '0';

    if (bNum == 0)
    {
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
    }
    if (bNum >= 1)
    {
      pbStr[5] = pbTime[0] + '0';
    }
    if (bNum >= 2)
    {
      pbStr[6] = pbTime[1] + '0';
    }
    if (bNum >= 3)
    {
      pbStr[7] = pbTime[2] + '0';
    }
    if (bNum >= 4)
    {
      pbStr[8] = pbTime[3] + '0';
    }
    if (bNum >= 5)
    {
      pbStr[9] = pbTime[4] + '0';
    }

    // Fix me
//    vCreateWBEx(0x05);
    if (bNum == OSD_DVD_SEARCH_END)
    {
      vOsdClearInputField(OSD_POS_DVD_SEARCH);
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_TITLE_TIME_SEARCH_TIME][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
    }
    else
    {
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_TITLE_TIME_SEARCH_TIME][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
    }
  }
}

// *********************************************************************
// Function : void vOsdShowChapterTimeSearch(BYTE bCurCh, BYTE bTotCh, BYTE bNum, BYTE *pbTime)
// Description :
// Parameter : bState
// Return    : None
// Note      : Can not disappear automatic !!
// *********************************************************************
#ifdef DVD_CHAP_3_DIGITS
void vOsdShowChapterTimeSearch(BYTE bCurCh, BYTE bTotCh, BYTE bNum, BYTE *pbTime) large
{
  BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);
  WORD wCurCh, wTotCh;
  BYTE i;
  BYTE pbStr[12];

  pbStr[0] = 9;
  wCurCh = bCurCh;
  wTotCh = bTotCh;
  
  for(i=1; i<pbStr[0]+2; i++)
  {
    pbStr[i] = ' ';
  }

  if (bNum == OSD_SEARCH_CLEAR)
  {
    vOsdClearInputField(OSD_POS_DVD_SEARCH);
    vOsdPosClear(OSD_POS_DVD_SEARCH);
  }
  else if (bNum & OSD_DVD_CH_SEARCH) /* for chapter search */
  {
    /* error check */
    if (wCurCh > wTotCh)
    {
      wCurCh = wTotCh;
    }
    
    if (wTotCh > 99)
    {
      pbStr[0] = 11;
    }

    wCurCh = wWRDToBCD(wCurCh);
    wTotCh = wWRDToBCD(wTotCh);

    if (bNum == (OSD_DVD_CH_SEARCH | 0))
    {
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
    }
    else if (bNum == (OSD_DVD_CH_SEARCH | 1))
    {
#ifdef NO_ADD10_KEY
      if (pbStr[0] == 11)
      {
        if (wCurCh > 0x99)
        {
          pbStr[1] = BCD_LO(bHiByte(wCurCh)) + '0';
          pbStr[2] = BCD_HI(bLoByte(wCurCh)) + '0';
          pbStr[3] = BCD_LO(bLoByte(wCurCh)) + '0';
        }
        else if ((wCurCh > 0x9) || (_rNumInStateCtx.rState.bDigNum == 2))
        {
          pbStr[1] = BCD_HI(bLoByte(wCurCh)) + '0';
          pbStr[2] = BCD_LO(bLoByte(wCurCh)) + '0';
        }
        else
        {
          pbStr[1] = BCD_LO(bLoByte(wCurCh)) + '0';
        }
      }
      else
      {
        pbStr[1] = BCD_LO(bLoByte(wCurCh)) + '0';
      }
#else /* for +10 key */
      if (wCurCh > 0)
      {
        pbStr[1] = (wCurCh > 0x99) ? BCD_LO(bHiByte(wCurCh)) + '0' : ' ';
        pbStr[2] = (wCurCh > 0x9) ? BCD_HI(bLoByte(wCurCh)) + '0' : ' ';
        pbStr[3] = BCD_LO(bLoByte(wCurCh)) + '0';
      }
#endif
      /* for +10 key */
    }
    else if ((bNum == (OSD_DVD_CH_SEARCH | 2)) ||
             (bNum == (OSD_DVD_CH_SEARCH | OSD_DVD_SEARCH_END)))
    {
      if (pbStr[0] == 11)
      {
        //pbStr[1] = (wCurCh > 0x99) ? BCD_LO(bHiByte(wCurCh)) + '0' : ' ';
        pbStr[1] = BCD_LO(bHiByte(wCurCh)) + '0';
        pbStr[2] = BCD_HI(bLoByte(wCurCh)) + '0';
        pbStr[3] = BCD_LO(bLoByte(wCurCh)) + '0';
      }
      else
      {
        pbStr[1] = BCD_HI(bLoByte(wCurCh)) + '0';
        pbStr[2] = BCD_LO(bLoByte(wCurCh)) + '0';
      }
    }

    if (pbStr[0] == 11)
    {
      pbStr[4] = BCD_LO(bHiByte(wTotCh)) + '0';
      pbStr[5] = BCD_HI(bLoByte(wTotCh)) + '0';
      pbStr[6] = BCD_LO(bLoByte(wTotCh)) + '0';
    }
    else
    {
      pbStr[3] = BCD_HI(bLoByte(wTotCh)) + '0';
      pbStr[4] = BCD_LO(bLoByte(wTotCh)) + '0';
    }
      
    if (pbTime == 0)
    {
      for(i=0; i<5; i++)
      {
        if (pbStr[0] == 11)
        {
          pbStr[7+i] = '0';
        }
        else
        {
          pbStr[5+i] = '0';
        }
      }
    }
    else
    {
      for(i=0; i<5; i++)
      {
        if (pbStr[0] == 11)
        {
          pbStr[7+i] = pbTime[i] + '0';
        }
        else
        {
          pbStr[5+i] = pbTime[i] + '0';
        }
      }
    }

    if (bNum == (OSD_DVD_CH_SEARCH | OSD_DVD_SEARCH_END))
    {
      vOsdClearInputField(OSD_POS_DVD_SEARCH);
      if (pbStr[0] == 11)
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_PTT_3][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
      }
      else
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_PTT][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
      }
    }
    else
    {
      if (pbStr[0] == 11)
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_PTT_3][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
      }
      else
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_PTT][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
      }
    }
  }
  else /* for chapter time search */
  {
    /* error check */
    if (wCurCh > wTotCh)
    {
      wCurCh = wTotCh;
    }

    if (wTotCh > 99)
    {
      pbStr[0] = 11;
    }

    wCurCh = wWRDToBCD(wCurCh);
    wTotCh = wWRDToBCD(wTotCh);

    if (pbStr[0] == 11)
    {
      pbStr[1] = BCD_LO(bHiByte(wCurCh)) + '0';
      pbStr[2] = BCD_HI(bLoByte(wCurCh)) + '0';
      pbStr[3] = BCD_LO(bLoByte(wCurCh)) + '0';
      pbStr[4] = BCD_LO(bHiByte(wTotCh)) + '0';
      pbStr[5] = BCD_HI(bLoByte(wTotCh)) + '0';
      pbStr[6] = BCD_LO(bLoByte(wTotCh)) + '0';
      i = 7;
    }
    else
    {
      pbStr[1] = BCD_HI(bLoByte(wCurCh)) + '0';
      pbStr[2] = BCD_LO(bLoByte(wCurCh)) + '0';
      pbStr[3] = BCD_HI(bLoByte(wTotCh)) + '0';
      pbStr[4] = BCD_LO(bLoByte(wTotCh)) + '0';
      i = 5;
    }

    if (bNum == 0)
    {
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
    }
    if (bNum >= 1)
    {
      pbStr[i] = pbTime[0] + '0';  // 5
    }
    if (bNum >= 2)
    {
      pbStr[i+1] = pbTime[1] + '0';  // 6
    }
    if (bNum >= 3)
    {
      pbStr[i+2] = pbTime[2] + '0';  // 7
    }
    if (bNum >= 4)
    {
      pbStr[i+3] = pbTime[3] + '0';  // 8
    }
    if (bNum >= 5)
    {
      pbStr[i+4] = pbTime[4] + '0';  // 9
    }

    if (bNum == OSD_DVD_SEARCH_END)
    {
      vOsdClearInputField(OSD_POS_DVD_SEARCH);
      if (pbStr[0] == 11)
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_TIME_3][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
      }
      else
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_TIME][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
      }
    }
    else
    {
      if (pbStr[0] == 11)
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_TIME_3][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
      }
      else
      {
        vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_TIME][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
      }
    }
  }
}

#else
// Fix me
extern xdata DWRD _dCreatedWB;
void vOsdShowChapterTimeSearch(BYTE bCurCh, BYTE bTotCh, BYTE bNum, BYTE *pbTime) large
{
  BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);
  BYTE i;
  BYTE pbStr[10];

  pbStr[0] = 9;
  for(i=0; i<pbStr[0]; i++)
  {
    pbStr[i] = ' ';
  }

  if (bNum == OSD_SEARCH_CLEAR)
  {
    vOsdClearInputField(OSD_POS_DVD_SEARCH);
    vOsdPosClear(OSD_POS_DVD_SEARCH);
  }
  else if (bNum & OSD_DVD_CH_SEARCH) /* for chapter search */
  {
    /* error check */
    if (bCurCh > bTotCh)
    {
      bCurCh = bTotCh;
    }

    bCurCh = bHEXToBCD(bCurCh);
    bTotCh = bHEXToBCD(bTotCh);

    if (bNum == (OSD_DVD_CH_SEARCH | 0))
    {
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
    }
    else if (bNum == (OSD_DVD_CH_SEARCH | 1))
    {
#ifdef NO_ADD10_KEY
      pbStr[1] = BCD_LO(bCurCh) + '0';
#else /* for +10 key */
      if (bCurCh > 0)
      {
        pbStr[1] = BCD_HI(bCurCh) + '0';
        if (BCD_LO(bCurCh) == 0)
        {
#ifdef ADD10_SHOW_10
          pbStr[2] = '0';
#else
          pbStr[2] = '-';
#endif
        }
        else
        {
          pbStr[2] = BCD_LO(bCurCh) + '0';
        }
      }
#endif
      /* for +10 key */
    }
    else if ((bNum == (OSD_DVD_CH_SEARCH | 2)) ||
             (bNum == (OSD_DVD_CH_SEARCH | OSD_DVD_SEARCH_END)))
    {
      pbStr[1] = BCD_HI(bCurCh) + '0';
      pbStr[2] = BCD_LO(bCurCh) + '0';
    }

    pbStr[3] = BCD_HI(bTotCh) + '0';
    pbStr[4] = BCD_LO(bTotCh) + '0';
      
    if (pbTime == 0)
    {
      for(i=0; i<5; i++)
      {
        pbStr[5+i] = '0';
      }
    }
    else
    {
      for(i=0; i<5; i++)
      {
        pbStr[5+i] = pbTime[i] + '0';
      }
    }

    if (bNum == (OSD_DVD_CH_SEARCH | OSD_DVD_SEARCH_END))
    {
      vOsdClearInputField(OSD_POS_DVD_SEARCH);
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_PTT][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
    }
    else
    {
      // Fix Me
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_PTT][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
    }
  }
  else /* for chapter time search */
  {
    /* error check */
    if (bCurCh > bTotCh)
    {
      bCurCh = bTotCh;
    }

    while (bTotCh > 99) bTotCh -= 100;
    while (bCurCh > 99) bCurCh -= 100;

    bCurCh = bHEXToBCD(bCurCh);
    bTotCh = bHEXToBCD(bTotCh);

    pbStr[1] = BCD_HI(bCurCh) + '0';
    pbStr[2] = BCD_LO(bCurCh) + '0';
    pbStr[3] = BCD_HI(bTotCh) + '0';
    pbStr[4] = BCD_LO(bTotCh) + '0';

    if (bNum == 0)
    {
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
    }
    if (bNum >= 1)
    {
      pbStr[5] = pbTime[0] + '0';
    }
    if (bNum >= 2)
    {
      pbStr[6] = pbTime[1] + '0';
    }
    if (bNum >= 3)
    {
      pbStr[7] = pbTime[2] + '0';
    }
    if (bNum >= 4)
    {
      pbStr[8] = pbTime[3] + '0';
    }
    if (bNum >= 5)
    {
      pbStr[9] = pbTime[4] + '0';
    }

    if (bNum == OSD_DVD_SEARCH_END)
    {
      vOsdClearInputField(OSD_POS_DVD_SEARCH);
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_TIME][bDiscType%2], OSD_TIMEOUT_SHORT, pbStr);
    }
    else
    {
      // Fix Me
      vOsdSetInputField(OSD_POS_DVD_SEARCH);
      vOsdPosShowArg(OSD_POS_DVD_SEARCH, _pwDvdOsdMsg[MSG_CHAPTER_TIME_SEARCH_TIME][bDiscType%2], OSD_NO_DISAPPEAR, pbStr);
    }
  }
}
#endif

// *********************************************************************
// Function : void vOsdShowChapterSearch(BYTE bCurTit, BYTE bTotTit, BYTE bNum, BYTE bCurCha, BYTE bTotCha, BYTE bTime)
// Description :
// Parameter : bState
// Return    : None
// Note      : Can not disappear automatic !! Design for +10 key
// *********************************************************************
#ifdef DVD_CHAP_3_DIGITS
void vOsdShowChapterSearch(BYTE bCurTit, BYTE bTotTit, BYTE bNum, BYTE bCurCha, BYTE bTotCha, BYTE bTime) large
{
  BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);
  BYTE pbStr[11];
  WORD wTotCha;
  WORD wCurCha;

  pbStr[0] = 8;

//  wTotCha = (WORD) bTotCha;
//  wCurCha = (WORD) bCurCha;
  wTotCha = bTotCha;
  wCurCha = bCurCha;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -