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

📄 vcdshow.c

📁 MTK 1389E SOURCE CODE
💻 C
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/08/27 9:40a    $       ****************/
/***************  $Revision:: 1                $       ****************/
/***************                                       ****************/
/***************   Description : OSD                   ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Peter Huang           ****************/
/**********************************************************************/

#define _VCDSHOW_C_

#pragma NOAREGS

#include "general.h"
#include "osdshow.h"

#ifdef VCD_SUPPORT
// *********************************************************************
// Function : vOsdShowAudioN(BYTE bMode, BYTE bCurr, BYTE bTotal)
// Description :
// Parameter :  bState
// Return    : None
// *********************************************************************
void vOsdShowAudioN(BYTE bMode, BYTE bCurr, BYTE bTotal) large
{
  BYTE pbStr[2];

  if (bMode == OSD_AUDIO_CLEAR)
  {
    vOsdClearInputField(OSD_POS_AUDIO);
    vOsdPosClear(OSD_POS_AUDIO);
    return;
  }

  pbStr[0] = 1;
  if ((bTotal > 4) || (bTotal < 1))
  {
    return;
  }

  /* error check */
  if (bCurr > bTotal)
  {
    bCurr = bTotal;
  }

  /* vOsdPosShow(OSD_POS_AUDIO, OSD_MSG_AUDIO, OSD_TIMEOUT); */
  /* clear by input state */
  pbStr[1] = bCurr + '0';

  vOsdPosShowArg(OSD_POS_AUDIO, OSD_MSG_AUDIO_N, bMode & OSD_AUDIO_TIME_MASK, pbStr);
}
#endif /* #ifdef VCD_SUPPORT */

// Fix me
#ifdef VCD_SUPPORT
extern xdata DWRD _dCreatedWB;
// *********************************************************************
// Function : void vOsdShowVcdTimeSearch(BYTE bNum, BYTE bType, BYTE *pbTime)
// Description :
// Parameter :
// Return    : None
// Note      :
// *********************************************************************
void vOsdShowVcdTimeSearch(BYTE bNum, BYTE bType, BYTE *pbTime) large
{
  BYTE  pbStr[5];
  BYTE  bTime;
  BYTE  bTmp;


  if (bType == OSD_SEARCH_CLEAR)
  {
    vOsdClearInputField(OSD_POS_VCD_SEARCH);
    vOsdPosClear(OSD_POS_VCD_SEARCH);
    return;
  }

  pbStr[0] = 4;
  pbStr[1] = '-';
  pbStr[2] = '-';
  pbStr[3] = '-';
  pbStr[4] = '-';

  if (bNum <= 4)
  {
    if (bNum == 0)
    {
      vOsdSetInputField(OSD_POS_VCD_SEARCH);
    }
    if (bNum >= 1)
    {
      pbStr[1] = pbTime[0] + '0';
    }
    if (bNum >= 2)
    {
      pbStr[2] = pbTime[1] + '0';
    }
    if (bNum >= 3)
    {
      pbStr[3] = pbTime[2] + '0';
    }
    if (bNum == 4)
    {
      pbStr[4] = pbTime[3] + '0';
    }

    bTime = OSD_NO_DISAPPEAR;    
  }
  else if (bNum == OSD_VCD_SEARCH_END)
  {
    vOsdClearInputField(OSD_POS_VCD_SEARCH);

    pbStr[0] = 4;
    pbStr[1] = pbTime[0] + '0';
    pbStr[2] = pbTime[1] + '0';
    pbStr[3] = pbTime[2] + '0';
    pbStr[4] = pbTime[3] + '0';

    bTime = OSD_TIMEOUT_SHORT;
  }
  else
  {
    return;
  }

  // Fix Me
  vOsdSetInputField(OSD_POS_VCD_SEARCH);

  if (bType == OSD_SEARCH_DISC)
  {
    vOsdPosShowArg(OSD_POS_VCD_SEARCH, OSD_MSG_DISC_GOTO, bTime, pbStr);
  }
  else if (bType == OSD_SEARCH_TRACK)
  {
    vOsdPosShowArg(OSD_POS_VCD_SEARCH, OSD_MSG_TRACK_GOTO, bTime, pbStr);
  }
  else
  {
    vOsdPosShowArg(OSD_POS_VCD_SEARCH, OSD_MSG_GOTO, bTime, pbStr);
  }
}
#endif /* #ifdef VCD_SUPPORT */

// *********************************************************************
// Function : void vOsdShowTrack(BYTE bState, BYTE bTrack, BYTE bTotal, BYTE bTime)
// Description :
// Parameter :  bState -
//                        OSD_TRACK = 0,
//                        OSD_TOTAL,
// Return    : None
// *********************************************************************
void vOsdShowTrack(BYTE bState, BYTE bTrack, BYTE bTotal, BYTE bTime) large
{
  BYTE pbNum[5];

  /* check track range */
  if (bTotal > 99)
  {
    bTotal = 0;
  }
  if (bTrack > 99)
  {
    bTrack = 0;
  }

  bTrack = bHEXToBCD(bTrack);
  bTotal = bHEXToBCD(bTotal);

  switch(bState)
  {
    case OSD_TRACK:
      pbNum[0] = 2;
      pbNum[1] = BCD_HI(bTrack) + '0';
      pbNum[2] = BCD_LO(bTrack) + '0';
      vOsdPosShowArg(OSD_POS_PLAY_INFO, OSD_MSG_TRACK, bTime, pbNum);
      break;

    case OSD_TOTAL:
      pbNum[0] = 2;
      pbNum[1] = BCD_HI(bTotal) + '0';
      pbNum[2] = BCD_LO(bTotal) + '0';
      vOsdPosShowArg(OSD_POS_PLAY_INFO, OSD_MSG_TOTAL, bTime, pbNum);
      break;

    case OSD_TOTAL_TRACK:
      pbNum[0] = 4;
      pbNum[1] = BCD_HI(bTrack) + '0';
      pbNum[2] = BCD_LO(bTrack) + '0';
      pbNum[3] = BCD_HI(bTotal) + '0';
      pbNum[4] = BCD_LO(bTotal) + '0';
      vOsdPosShowArg(OSD_POS_PLAY_INFO, OSD_MSG_TRACK_TOTAL, bTime, pbNum);
      break;

    default:
      break;
  }
}

#ifdef VCD_SUPPORT
// *********************************************************************
// Function : void vOsdShowSelectTrk(BYTE bNo, BYTE bNs, BYTE bType, BYTE bTime) large
// Description : show SELECT message,
// Parameter :
// Return    : None
// *********************************************************************
void vOsdShowSelectTrk(BYTE bNo, BYTE bNs, BYTE bType, BYTE bTime) large
{
  BYTE pbNum[5];
  BOOL fgHili;

  if (bType == OSD_SELECT_CLEAR)
  {
    vOsdClearInputField(OSD_POS_VCD_SEARCH);
    vOsdPosClear(OSD_POS_VCD_SEARCH);
    return;
  }
  else
  {
    if (bType & OSD_SELECT_HILI)
    {
      fgHili = TRUE;
      bType &= (~OSD_SELECT_HILI);
    }
    else
    {
      fgHili = FALSE;
    }
  }

  bNo = bHEXToBCD(bNo);
  bNs = bHEXToBCD(bNs);

  pbNum[0] = 4;

  if (bType == 0)
  {
    pbNum[1] = '-';
    pbNum[2] = '-';
  }
  else if (bType <= 2)
  {
#ifdef NO_ADD10_KEY
    if (bType == 1)
    {
      pbNum[1] = '-';
      pbNum[2] = BCD_LO(bNo) + '0';
    }
    else if (bType == 2)
    {
      pbNum[1] = BCD_HI(bNo) + '0';
      pbNum[2] = BCD_LO(bNo) + '0';
    }
    else
    {
      pbNum[1] = '-';
      pbNum[2] = '-';
    }
#else /* use ADD10 key */
    if (bNo == 0)
    {
      pbNum[1] = '-';
      pbNum[2] = '-';
    }
    else
    {
      pbNum[1] = BCD_HI(bNo) + '0';
      if ((BCD_LO(bNo) == 0) && (bType != 2))
      {
#ifdef ADD10_SHOW_10
        pbNum[2] = '0';
#else
        pbNum[2] = '-';
#endif
      }
      else
      {
        pbNum[2] = BCD_LO(bNo) + '0';
      }
    }
#endif /* use ADD10 key */
  }

  pbNum[3] = BCD_HI(bNs) + '0';
  pbNum[4] = BCD_LO(bNs) + '0';

  if (fgHili)
  {
    vOsdSetInputField(OSD_POS_VCD_SEARCH);
  }
  else
  {
    vOsdClearInputField(OSD_POS_VCD_SEARCH);
  }

  vOsdPosShowArg(OSD_POS_VCD_SEARCH, OSD_MSG_SELECT_TRACK, bTime, pbNum);
}
#endif /* #ifdef VCD_SUPPORT */

⌨️ 快捷键说明

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