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

📄 stposdfn.c

📁 MTK 1389E SOURCE CODE
💻 C
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 05/04/19 7:37p    $       ****************/
/***************  $Revision:: 3                $       ****************/
/***************                                       ****************/
/***************   Description : Setup Menu            ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/

#include "general.h"
#include "stpmenu1.h"

#include "stposdfn.h"

#pragma NOAREGS

extern xdata BYTE _bMinShowData;

// *********************************************************************
// Function : static void vSetupEntryShow(BYTE bMsgIndex, BYTE bWBIdx) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vSetupEntryShow(WORD wMsgIndex, BYTE bWBIdx) large
{
  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
  vWriteNextSharedItem(CODE_PAGE_ASC);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bLoByte(_wStartX));
  vWriteNextSharedItem(bHiByte(_wStartX));
  vWriteNextSharedItem(bLoByte(_wStartY));
  vWriteNextSharedItem(bHiByte(_wStartY));
  vWriteNextSharedItem(bLoByte(wMsgIndex));
  vWriteNextSharedItem(bHiByte(wMsgIndex));
  vSendOsdCmd();
}

#if (!defined(PLAYER_FLMENU) && defined(SUPPORT_DATA_DISC))
  #ifdef DDISC_FTYPE_JPEG_SUPPORT
  extern void vFsMenuChangeLang(BYTE bLangIdx) large;
  #endif
#endif

// *********************************************************************
// Function : void vChangeLang(void) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
BYTE bChangeLang(WORD wEEPos, BYTE bValue) large
{
  if (_fgNotify)
  {
    _bPrevMenu = 0xFF;
    _bPrevItem = 0xFF;
    vOsdSetLang(bEepromReadByte(OSD_LANG_POSITION));
#if (!defined(PLAYER_FLMENU) && defined(SUPPORT_DATA_DISC))  
  #ifdef DDISC_FTYPE_JPEG_SUPPORT
      vFsMenuChangeLang(bEepromReadByte(OSD_LANG_POSITION));
  #endif
#endif

#ifdef PLAYER_FLMENU
    if (fgIsIsoPlay())
    {
      vFlChgLang(bEepromReadByte(OSD_LANG_POSITION));
    }
#endif

    return (ENTRY_FUN_REDRAW);
  }
  
  return (ENTRY_FUN_OK);
}

// *********************************************************************
// Function : void vCleanMark(void) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vCleanMark(void) large
{
  _wStartX = SETUP_ITEM_W - 42;
  _wEndX = _wStartX+40;
  _wStartY = 34;
  _wEndY = 66;
  vRectangle(WB_SETUP_ITEM, 0, 0, 1, ENTRY_COL_BG);
//  _wStartY = 266;
//  _wEndY = 266+32;
  // 20050419, if MTK_SHRINK_STP is defined, down mark position should also be changed
  _wStartY = SETUP_ITEM_END_Y - 133;
  _wEndY = _wStartY + 32;

  vRectangle(WB_SETUP_ITEM, 0, 0, 1, ENTRY_COL_BG);
}

// *********************************************************************
// Function : void vClearItemRng(void)
// Description : clear setup item white board, except the border parts
// Parameter : None
// Return    : None
// *********************************************************************
void vClearItemRng(void) large
{
  vOsdClearPosXY(0, 0, WB_SETUP_ITEM, (SETUP_ITEM_W) - 1, (SETUP_ITEM_H) - 1);
}

// *********************************************************************
// Function : void vClearMsgRng(void)
// Description : clear setup message white board, except the border parts
// Parameter : None
// Return    : None
// *********************************************************************
void vClearMsgRng(void) large
{
  vOsdClearPosXY(17 , 0, WB_SETUP_MSG, (SETUP_MSG_W - 34), (SETUP_MSG_H - 6));
}

// *********************************************************************
// Function : void vShowSetupMsg(WORD wMsgIdx)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vShowSetupMsg(WORD wMsgIdx) large
{
  vSetMsgCol4(WB_SETUP_MSG, 0, 0, 1, 5); //ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_WHITE);
  vClearMsgRng();
  vSetupEntryShowXY(MSG_X, MSG_Y, wMsgIdx, WB_SETUP_MSG);
}

// *********************************************************************
// Function : void vShowSetupMsgArg(WORD wMsgIdx, BYTE *pbStr)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vShowSetupMsgArg(WORD wMsgIdx, BYTE *pbStr) large
{
  BYTE i;
  WORD wTmp = MSG_Y;

  // 20050330, changed 3 -> 5, let it be same as vShowSetupMsg()
  vSetMsgCol4(WB_SETUP_MSG, 0,0,1,5);
  vClearMsgRng();

  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
  vWriteNextSharedItem(CODE_PAGE_ASC);
  vWriteNextSharedItem(WB_SETUP_MSG);
  vWriteNextSharedItem(MSG_X);
  vWriteNextSharedItem(0);
  vWriteNextSharedItem(bLoByte(wTmp));
  vWriteNextSharedItem(bHiByte(wTmp));
  vWriteNextSharedItem(bLoByte(wMsgIdx));
  vWriteNextSharedItem(bHiByte(wMsgIdx));
  if (pbStr[0])
  {
    for(i=0; i<pbStr[0]; i++)
    {
      vWriteNextSharedItem(pbStr[i+1]);
    }
  }
  vSendOsdCmd();
}

void vPasteMsgStr(BYTE bWBIdx, WORD wMsg, BYTE *pbStr) large
{
  BYTE  i;

  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bLoByte(_wStartX));
  vWriteNextSharedItem(bHiByte(_wStartX));
  vWriteNextSharedItem(bLoByte(_wStartY));
  vWriteNextSharedItem(bHiByte(_wStartY));
  vWriteNextSharedItem(bLoByte(wMsg));
  vWriteNextSharedItem(bHiByte(wMsg));
  if (pbStr[0])
  {
    for(i=0; i<pbStr[0]; i++)
    {
      vWriteNextSharedItem(pbStr[i+1]);
    }
  }
  vSendOsdCmd();
}

#ifdef SETUP_ENABLE_TEST_TONE
// *********************************************************************
// Function : 
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
static code WORD pwSpkMsg[5] = 
{
  OSD_MSG_TT_LEFT,
  OSD_MSG_TT_CENTER,
  OSD_MSG_TT_RIGHT,
  OSD_MSG_TT_RIGHTSURROUND,
  OSD_MSG_TT_LEFTSURROUND
};

void vShowTestToneSpk(BYTE bSpk) large
{
  if (bSpk >= 5)
  {
    return;
  }
  
  vShowSetupMsg(pwSpkMsg[bSpk]);
}
#endif /* SETUP_ENABLE_TEST_TONE */

⌨️ 快捷键说明

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