📄 stppage.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 05/04/19 4:37p $ ****************/
/*************** $Revision:: 4 $ ****************/
/*************** ****************/
/*************** Description : Setup Menu ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#include "general.h"
#include "stposdfn.h"
#include SETUP_MENU_FILE
#define DYN_RNG_OFFSET 32 //[runma] add line to shift dynamic range dialog .
#pragma NOAREGS
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'};
// 20050419, fix DRC page too long if MTK_SHRINK_STP is defined problem.
#ifdef MTK_SHRINK_STP
#define STP_DYNAMIC_BTN_H 27
#else
#define STP_DYNAMIC_BTN_H STP_MENU_ENTRY_H
#endif
// *********************************************************************
// 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_DYNAMIC_BTN_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_DYNAMIC_BTN_H,
STP_DATA_START_X + 35 + DYN_RNG_OFFSET,
STP_MENU_START_Y + 3 + 10 + i * STP_DYNAMIC_BTN_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_DYNAMIC_BTN_H,
STP_DATA_START_X + 95 + DYN_RNG_OFFSET,
STP_MENU_START_Y + 3 + 10 + i * STP_DYNAMIC_BTN_H);
}
vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BTN_BG, ENTRY_COL_BLACK);
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_DYNAMIC_BTN_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_DYNAMIC_BTN_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_DYNAMIC_BTN_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_DYNAMIC_BTN_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_DYNAMIC_BTN_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_DYNAMIC_BTN_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_DYNAMIC_BTN_H * (WORD)(8 - _bDataCur) + 5,
STP_DATA_START_X + 79 + DYN_RNG_OFFSET,
STP_MENU_START_Y + STP_DYNAMIC_BTN_H * (WORD)(8 - _bDataCur) + 20);
if (_bOsdState == STPSTT_OPTION)
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 vMicLine(void) large
// Description :
// Parameter : None
// Return : None
// *********************************************************************
#ifdef PLAYER_MIC_EQ
static void vMicLine(void) large
{
BYTE i;
BYTE pbStr[6];
_wStartX = 280;
_wEndX = 460;
_wStartY = STP_MENU_START_Y + 120;
_wEndY = _wStartY;
vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
_wStartY -= 10;
_wEndY = _wStartY;
for(i=0; i<=_pb14db[0]; i++)
{
pbStr[i] = _pb14db[i];
}
vOsdShowStrXY(_wEndX, _wEndY, WB_SETUP_ITEM, pbStr);
_wStartX = 280;
_wStartY = STP_MENU_START_Y + 180;
_wEndY = _wStartY;
vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
_wStartY -= 10;
_wEndY = _wStartY;
for(i=0; i<=_pb0db[0]; i++)
{
pbStr[i] = _pb0db[i];
}
vOsdShowStrXY(_wEndX, _wEndY, WB_SETUP_ITEM, pbStr);
_wStartX = 280;
_wStartY = STP_MENU_START_Y + 240;
_wEndY = _wStartY;
vOsdShowLine(WB_SETUP_ITEM, ENTRY_COL_10, 2);
_wStartY -= 10;
_wEndY = _wStartY;
for(i=0; i<=_pbM14db[0]; i++)
{
pbStr[i] = _pbM14db[i];
}
vOsdShowStrXY(_wEndX, _wEndY, WB_SETUP_ITEM, pbStr);
}
#endif /* PLAYER_MIC_EQ */
// *********************************************************************
// Function : void vShowDynBtn(void) large
// Description :
// Parameter : None
// Return : None
// *********************************************************************
void vShowDynBtn(void) large
{
BYTE i;
vDelButton(WB_SETUP_ITEM, DATA_BTN_BASE + 1);
vCreateButtonXY(WB_SETUP_ITEM, DATA_BTN_BASE + 1, 2,
STP_DATA_START_X + 40 + DYN_RNG_OFFSET,
STP_MENU_START_Y + STP_DYNAMIC_BTN_H * (WORD)(8 - _bDataCur) + 5,
STP_DATA_START_X + 79 + DYN_RNG_OFFSET,
STP_MENU_START_Y + STP_DYNAMIC_BTN_H * (WORD)(8 - _bDataCur) + 20);
//[runma] add block. assume _wStartX and _wStartY are already set in vCreateButtonXY().
_wStartY = STP_MENU_START_Y + 3;
_wEndY = STP_MENU_START_Y + STP_DYNAMIC_BTN_H * 9 - 3;
vChgColRep(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BTN_BG);
//[runma] end of block.
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_DYNAMIC_BTN_H * 9 - 3);
// redraw for remove the line on button
if (_bOsdState == STPSTT_OPTION) //[runma] add for slider changing color.
vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_10, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
else
vSetBtnCol(WB_SETUP_ITEM, ENTRY_COL_BTN_BG, ENTRY_COL_RED, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
vUnselButton(WB_SETUP_ITEM, DATA_BTN_BASE + 1);
}
// *********************************************************************
// Function : void vShowDynMsg(void)
// Description :
// Parameter : None
// Return : None
// *********************************************************************
void vShowDynMsg(void) large
{
WORD wIdx;
BYTE pbStr[3];
if (_bDataCur /*bEepromReadByte(DRNG_POS)*/ == 0 ) //[runma]
{
vShowSetupMsg(OSD_MSG_DYNAMIC_OFF);
}
else
{
wIdx = OSD_MSG_18 + _bDataCur /*bEepromReadByte(DRNG_POS)*/ - 1; //[runma]
pbStr[0] = '2';
pbStr[1] = bLoByte(wIdx);
pbStr[2] = bHiByte(wIdx);
// 20050330, in vShowSetupMsgArg() will clear msg range
//vSetMsgCol4(WB_SETUP_MSG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_1, ENTRY_COL_GRAY);
//vClearMsgRng();
vShowSetupMsgArg(OSD_MSG_SET_DYNAMICTO, pbStr);
}
}
void vDrawSpecificPage(BYTE bType) large
{
switch(bType)
{
#ifdef PLAYER_MIC_EQ
case PAGE_MIC:
vMicLine();
break;
#endif
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -