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

📄 stppage.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 07/04/09 11:49a   $       ****************/
/***************  $Revision:: 2                $       ****************/
/***************                                       ****************/
/***************   Description : Setup Page            ****************/
/***************                 Relative routine      ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Peter Huang           ****************/
/**********************************************************************/

#include "general.h"
#include "stposdfn.h"

#include SETUP_MENU_FILE

#define DYN_RNG_OFFSET 32 //[runma] add line to shift dynamic range dialog .
/*
#ifdef SIMPLE_MENU
#include "menu1.h"
#else
#include "menu.h"
#endif
*/

#pragma NOAREGS

#ifndef SIMPLE_MENU
code BYTE _pb10db[6] = {5, '+', '1', '0', 'd', 'b'};
code BYTE _pb14db[6] = {5, '+', '1', '4', 'd', 'b'};
code BYTE _pb0db[5] = {4, ' ', '0', 'd', 'b'};
code BYTE _pbM10db[6] = {5, '-', '1', '0', 'd', 'b'};
code BYTE _pbM14db[6] = {5, '-', '1', '4', 'd', 'b'};
#endif

code BYTE _pbFull[5] = {4, 'F', 'U', 'L', 'L'};
code BYTE _pb68[4] = {3, '3', '/', '4'};
code BYTE _pb48[4] = {3, '1', '/', '2'};
code BYTE _pb28[4] = {3, '1', '/', '4'};
code BYTE _pbOff[4] = {3, 'O', 'F', 'F'};

// *********************************************************************
// Function : void vDrawDynRngBtn(void) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vDrawDynRngBtn(void) large
{
  BYTE pbStr[5];
  BYTE i;

  //if (!fgIsOsdType2())
  {
    _wStartX = STP_DATA_START_X + 3 + DYN_RNG_OFFSET;
    _wStartY = STP_MENU_START_Y + 3;
    _wEndX = STP_DATA_START_X + 200 - 3 + DYN_RNG_OFFSET;
    _wEndY =  STP_MENU_START_Y + STP_MENU_ENTRY_H * 9 - 3;

    vRectangle(WB_SETUP_ITEM, 0, 0, TRUE, ENTRY_COL_BTN_BG);
  }

  for(i=0; i<9; i++)
  {
    vOsdShowLineXY(WB_SETUP_ITEM, ENTRY_COL_BLACK, 3,
                   STP_DATA_START_X + 25 + DYN_RNG_OFFSET,
                   STP_MENU_START_Y + 3 + 10 + i * STP_MENU_ENTRY_H,
                   STP_DATA_START_X + 35 + DYN_RNG_OFFSET,
                   STP_MENU_START_Y + 3 + 10 + i * STP_MENU_ENTRY_H);

    vOsdShowLineXY(WB_SETUP_ITEM, ENTRY_COL_BLACK, 3,
                   STP_DATA_START_X + 85 + DYN_RNG_OFFSET,
                   STP_MENU_START_Y + 3 + 10 + i * STP_MENU_ENTRY_H,
                   STP_DATA_START_X + 95 + DYN_RNG_OFFSET,
                   STP_MENU_START_Y + 3 + 10 + i * STP_MENU_ENTRY_H);
  }

#ifdef MTK_MENU
  vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BLACK);
#else
  if (!fgIsOsdType2())
  {
    vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BLACK);
  }
  else
  {
    vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BLACK);
  }
#endif

  vOsdShowLineXY(WB_SETUP_ITEM, ENTRY_COL_BLACK, 3, 
                 STP_DATA_START_X + 60 + DYN_RNG_OFFSET, 
                 STP_MENU_START_Y + 3, 
                 STP_DATA_START_X + 60 + DYN_RNG_OFFSET, 
                 STP_MENU_START_Y + STP_MENU_ENTRY_H * 9 - 3);

  for(i=0 ;i<=_pbFull[0]; i++)
  {
    pbStr[i] = _pbFull[i];
  }
  vOsdShowStrXY(STP_DATA_START_X + 116 + DYN_RNG_OFFSET,
                STP_MENU_START_Y,
                WB_SETUP_ITEM, pbStr);

  for(i=0 ;i<=_pb68[0]; i++)
  {
    pbStr[i] = _pb68[i];
  }
  vOsdShowStrXY(STP_DATA_START_X + 116 + DYN_RNG_OFFSET,
                (STP_MENU_START_Y - 3 + 2 * STP_MENU_ENTRY_H),
                WB_SETUP_ITEM, pbStr);

  for(i=0 ;i<=_pb48[0]; i++)
  {
    pbStr[i] = _pb48[i];
  }
  vOsdShowStrXY(STP_DATA_START_X + 116 + DYN_RNG_OFFSET,
                STP_MENU_START_Y - 3 + 4 * STP_MENU_ENTRY_H,
                WB_SETUP_ITEM, pbStr);

  for(i=0 ;i<=_pb28[0]; i++)
  {
    pbStr[i] = _pb28[i];
  }
  vOsdShowStrXY(STP_DATA_START_X + 116 + DYN_RNG_OFFSET,
                STP_MENU_START_Y - 3 + 6 * STP_MENU_ENTRY_H,
                WB_SETUP_ITEM, pbStr);

  for(i=0 ;i<=_pbOff[0]; i++)
  {
    pbStr[i] = _pbOff[i];
  }
  vOsdShowStrXY(STP_DATA_START_X + 116 + DYN_RNG_OFFSET,
                STP_MENU_START_Y - 6 + 8 * STP_MENU_ENTRY_H,
                WB_SETUP_ITEM, pbStr);

  vCreateButtonXY(WB_SETUP_ITEM, DATA_BTN_BASE, 3,
                  STP_DATA_START_X+ DYN_RNG_OFFSET,
                  STP_MENU_START_Y,
                  STP_DATA_START_X + 200+ DYN_RNG_OFFSET,
                  STP_MENU_START_Y + STP_MENU_ENTRY_H * 9);

  vSetBtnCol(WB_SETUP_ITEM, 0, 0, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
  vUnselButton(WB_SETUP_ITEM, DATA_BTN_BASE);

  vCreateButtonXY(WB_SETUP_ITEM, DATA_BTN_BASE + 1, 3,
                  STP_DATA_START_X + 40 + DYN_RNG_OFFSET,
                  STP_MENU_START_Y + STP_MENU_ENTRY_H * (WORD)(8 - _bDataCur) + 5,
                  STP_DATA_START_X + 79 + DYN_RNG_OFFSET,
                  STP_MENU_START_Y + STP_MENU_ENTRY_H * (WORD)(8 - _bDataCur) + 20);
  if (_bOsdState == STPSTT_OPTION)        //[runma] add for slider changing color.
      vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BTN_BG/*BTN_BG*/, ENTRY_COL_10/*BTN_BG*/, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
  else
     vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BTN_BG/*BTN_BG*/, ENTRY_COL_RED/*BTN_BG*/, ENTRY_COL_BLACK, ENTRY_COL_WHITE); 

  vUnselButton(WB_SETUP_ITEM, DATA_BTN_BASE + 1);
}

// *********************************************************************
// Function : void vDrawConBtn(void) large
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vDrawConBtn(void) large
{
  return;
  vCreateButtonXY(WB_SETUP_ITEM, DATA_BTN_BASE, 3,
                  STP_DATA_START_X,
                  STP_MENU_START_Y,
                  STP_DATA_START_X + PASSWORD_LEN * 20,
                  STP_MENU_START_Y + STP_MENU_ENTRY_H);
  vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_BG, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
  vSelButton(WB_SETUP_ITEM, DATA_BTN_BASE);
}

// *********************************************************************
// Function : void vDrawPassBtn(void) large
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vDrawPassBtn(void) large
{
  BYTE i;
#if 0
  for(i=0; i<3; i++)
  {
    vCreateButtonXY(WB_SETUP_ITEM, DATA_BTN_BASE + i, 3,
                    STP_DATA_START_X,
                    STP_MENU_START_Y + STP_MENU_ENTRY_H * (i),
                    STP_DATA_START_X + PASSWORD_LEN * 20,
                    STP_MENU_START_Y + STP_MENU_ENTRY_H * (i + 1));
    if (i == 0)
    {
      vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_BG, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    vSelButton(WB_SETUP_ITEM, DATA_BTN_BASE + i);
  }
#endif
}
#ifdef ENABLE_USER_LANG_CODE
#if 0
void vDrawOtherLangBtn(void) large
{
  BYTE  pbStr[5], bTmp;

  vCreateButtonXY(WB_SETUP_ITEM, DATA_BTN_BASE, 2,
                  STP_DATA_START_X,
                  STP_MENU_START_Y - 2,
                  STP_DATA_START_X + 120,
                  STP_MENU_START_Y + STP_MENU_ENTRY_H + 1);

  vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
  vSelButton(WB_SETUP_ITEM, DATA_BTN_BASE);

  pbStr[0] = 4;
  switch(_bOsdState)
  {
    case STPSTT_INPUT_AUDIO_LCD:
      bTmp = bSharedInfo(SI_USR_AU_LCD_0);
      pbStr[1] = (bTmp - ('a'-'A')) / 10 + '0';
      pbStr[2] = (bTmp - ('a'-'A')) % 10 + '0';
      bTmp = bSharedInfo(SI_USR_AU_LCD_1);
      pbStr[3] = (bTmp - ('a'-'A')) / 10 + '0';
      pbStr[4] = (bTmp - ('a'-'A')) % 10 + '0';
      break;
    case STPSTT_INPUT_SP_LCD:
      bTmp = bSharedInfo(SI_USR_SP_LCD_0);
      pbStr[1] = (bTmp - ('a'-'A')) / 10 + '0';
      pbStr[2] = (bTmp - ('a'-'A')) % 10 + '0';
      bTmp = bSharedInfo(SI_USR_SP_LCD_1);
      pbStr[3] = (bTmp - ('a'-'A')) / 10 + '0';
      pbStr[4] = (bTmp - ('a'-'A')) % 10 + '0';
      break;
    case STPSTT_INPUT_MENU_LCD:
      bTmp = bSharedInfo(SI_USR_MENU_LCD_0);
      pbStr[1] = (bTmp - ('a'-'A')) / 10 + '0';
      pbStr[2] = (bTmp - ('a'-'A')) % 10 + '0';
      bTmp = bSharedInfo(SI_USR_MENU_LCD_1);
      pbStr[3] = (bTmp - ('a'-'A')) / 10 + '0';
      pbStr[4] = (bTmp - ('a'-'A')) % 10 + '0';
      break;
  }

  vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_WHITE);
  vOsdShowStrXY(STP_DATA_START_X + 20,
                STP_MENU_START_Y,
                WB_SETUP_ITEM, pbStr);
}
#endif
#endif

#ifndef SIMPLE_MENU
  #ifdef PLAYER_TRIM
// *********************************************************************
// Function : void vTrimLine(void) large
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
static void vTrimLine(void) large
{
  BYTE i;
  BYTE pbStr[6];

  _wStartX = 20;
  _wEndX = 400;
  _wStartY = STP_MENU_START_Y + 120;
  _wEndY = _wStartY;
  vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
  _wStartY -= 25;
  _wEndY = _wStartY;
  for(i=0; i<=_pb10db[0]; i++)
  {
    pbStr[i] = _pb10db[i];
  }
  vOsdShowStrXY(_wEndX, _wEndY, WB_SETUP_ITEM, pbStr);

  _wStartX = 20;
  _wStartY = STP_MENU_START_Y + 200;
  _wEndY = _wStartY;
  vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
  _wStartY -= 25;
  _wEndY = _wStartY;
  for(i=0; i<=_pb0db[0]; i++)
  {
    pbStr[i] = _pb0db[i];
  }
  vOsdShowStrXY(_wEndX, _wEndY, WB_SETUP_ITEM, pbStr);

  _wStartX = 20;
  _wStartY = STP_MENU_START_Y + 280;
  _wEndY = _wStartY;
  vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
  _wStartY -= 25;
  _wEndY = _wStartY;
  for(i=0; i<=_pbM10db[0]; i++)
  {
    pbStr[i] = _pbM10db[i];
  }
  vOsdShowStrXY(_wEndX, _wEndY, WB_SETUP_ITEM, pbStr);
}
  #endif /* PLAYER_TRIM */
#endif /* !SIMPLE_MENU */


#ifdef SHOW_SPK
// *********************************************************************
// Function : static void vShowSpeaker(BYTE bSpType, BYTE bCurr) large
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vShowSpeaker(BYTE bSpType, BYTE bCurr) large
{
  BYTE pbStr[4];
  /* Center */
  if (bSpType & SPEAKER_CENTER)
  {
    if (bCurr == 0)
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_RED, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_10, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    pbStr[0] = 2;
    pbStr[1] = ' ';
    pbStr[2] = 'C';
    vOsdShowStrXY(420, 20, WB_SETUP_ITEM, pbStr);
  }

  /* L */
  if (bSpType & SPEAKER_LEFT)
  {
    if (bCurr == 1)
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_RED, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_10, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    pbStr[0] = 2;
    pbStr[1] = ' ';
    pbStr[2] = 'L';
    vOsdShowStrXY(340, 20, WB_SETUP_ITEM, pbStr);
  }

  /* R */
  if (bSpType & SPEAKER_RIGHT)
  {
    if (bCurr == 2)
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_RED, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_10, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    pbStr[0] = 2;
    pbStr[1] = ' ';
    pbStr[2] = 'R';
    vOsdShowStrXY(500, 20, WB_SETUP_ITEM, pbStr);
  }

  /* LS */
  if (bSpType & SPEAKER_LS)
  {
    if (bCurr == 3)
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_RED, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_10, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    pbStr[0] = 2;
    pbStr[1] = 'L';
    pbStr[2] = 'S';
    vOsdShowStrXY(340, 60, WB_SETUP_ITEM, pbStr);
  }

  /* RS */
  if (bSpType & SPEAKER_RS)
  {
    if (bCurr == 4)
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_RED, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_10, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    pbStr[0] = 2;
    pbStr[1] = 'R';
    pbStr[2] = 'S';
    vOsdShowStrXY(500, 60, WB_SETUP_ITEM, pbStr);
  }

  /* Sub */
  if (bSpType & SPEAKER_SUB)
  {
    if (bCurr == 5)
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_RED, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    else
    {
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_10, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
    }
    pbStr[0] = 2;
    pbStr[1] = ' ';
    pbStr[2] = 'S';
    vOsdShowStrXY(420, 60, WB_SETUP_ITEM, pbStr);
  }
}
#endif /* SHOW_SPK */

// *********************************************************************
// Function : void vChEqLine(void) large
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
#ifdef PLAYER_ADV_EQ
static void vChEqLine(void) large
{
  BYTE i;
  BYTE pbStr[6];
  WORD wH;
  BYTE bTempCur;
  BYTE bTemp;

  return;
  _wStartX = 50;
  _wEndX = 460;
  _wStartY = STP_MENU_START_Y + 120;
  _wEndY = _wStartY;
  vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
  _wStartY -= 5;
  _wEndY = _wStartY;

  for(i=0; i<=_pb14db[0]; i++)
  {

⌨️ 快捷键说明

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