📄 bbktuner.c
字号:
case TUNER_BRW_ITEM_AMSTEP:
bMaxItem = AM_STEP_MAX;
break;
default:
return;
}
if(0 == bDataVal)
{
bCornerTopLeft = BMP_CORNER_TL_RED_TRA;
bCornerTopRight = BMP_CORNER_TR_RED_TRA;
bCornerBottomLeft = BMP_CORNER_BL_RED_B75;
bCornerBottomRight = BMP_CORNER_BR_RED_B75;
}
else if(bMaxItem == bDataVal)
{
bCornerTopLeft = BMP_CORNER_TL_RED_B75;
bCornerTopRight = BMP_CORNER_TR_RED_B75;
bCornerBottomLeft = BMP_CORNER_BL_RED_TRA;
bCornerBottomRight = BMP_CORNER_BR_RED_TRA;
}
else
{
bCornerTopLeft = BMP_CORNER_TL_RED_B75;
bCornerTopRight = BMP_CORNER_TR_RED_B75;
bCornerBottomLeft = BMP_CORNER_BL_RED_B75;
bCornerBottomRight = BMP_CORNER_BR_RED_B75;
}
vHnrPasteCorner(WB_TUNER_MENU, bCornerTopLeft, bCornerTopRight, bCornerBottomLeft, bCornerBottomRight);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrDrawBrwHeadRect(BOOL fgHili) large
{
vSetStartEndXY(TUNER_BROWSER_HEAD_START_X, TUNER_BROWSER_HEAD_START_Y, TUNER_BROWSER_HEAD_END_X - 1, TUNER_BROWSER_HEAD_END_Y- 1);
if(fgHili)
{
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_RED44);
}
else
{
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_GRAY43);
}
vSetStartEndXY(TUNER_BROWSER_HEAD_START_X, TUNER_BROWSER_HEAD_START_Y, TUNER_BROWSER_HEAD_END_X, TUNER_BROWSER_HEAD_END_Y);
if(fgHili)
{
vHnrPasteCorner(WB_TUNER_MENU, BMP_CORNER_TL_RED_TRA, BMP_CORNER_TR_RED_TRA, BMP_CORNER_BL_RED_TRA, BMP_CORNER_BR_RED_TRA);
}
else
{
vHnrPasteCorner(WB_TUNER_MENU, BMP_CORNER_TL_B75_TRA, BMP_CORNER_TR_B75_TRA, BMP_CORNER_BL_B75_TRA, BMP_CORNER_BR_B75_TRA);
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrDrawBrwItemRect(BYTE fgHili) large
{
BYTE bFillCol;
BYTE bBodyCol;
vTnrBrwGetItemCol(TUNER_BRW_ITEM_NONE, fgHili, &bBodyCol, &bFillCol);
vSetStartEndXY(TUNER_BRW_ITEM_RECT_START_X, TUNER_BRW_ITEM_RECT_START_Y, TUNER_BRW_ITEM_RECT_END_X - 1, TUNER_BRW_ITEM_RECT_END_Y- 1);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, bFillCol);
vSetStartEndXY(TUNER_BRW_ITEM_RECT_START_X, TUNER_BRW_ITEM_RECT_START_Y, TUNER_BRW_ITEM_RECT_END_X, TUNER_BRW_ITEM_RECT_END_Y);
vTnrBrwItemDataCorner(fgHili);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrDrawBrwItem(BYTE bItemVal, BOOL fgHili) large
{
BYTE bFillCol;
BYTE bBodyCol;
WORD wStartY;
vTnrBrwGetItemCol(TUNER_BRW_ITEM_NONE, fgHili, &bBodyCol, &bFillCol);
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bBodyCol);
if(TUNER_BRW_ITEM_LINE == bItemVal)
{
wStartY = _wItemStY(bItemVal) + TUNER_BRW_ITEM_LINE_OFFSET_Y;
vSetStartEndXY(TUNER_BRW_ITEM_RECT_START_X, wStartY, TUNER_BRW_ITEM_RECT_END_X - 1, wStartY + 1);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, bBodyCol);
}
else
{
if(TUNER_BRW_ITEM_SIGNAL == bItemVal && TUNER_BAND_AM == _eTunerBand)
{
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, TUNER_MENU_WHITE43);
}
else if(TUNER_BRW_ITEM_AMSTEP == bItemVal && TUNER_BAND_FM == _eTunerBand)
{
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, TUNER_MENU_WHITE43);
}
wStartY = _wItemStY(bItemVal) + TUNER_BRW_ITEM_MSG_OFFSET_Y;
vOsdPasteMsgXY(TUNER_BRW_ITEM_MSG_START_X, wStartY, WB_TUNER_MENU, _wItemMsg(bItemVal));
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrDrawBrwItemData(BYTE bItemVal, BOOL fgHili) large
{
BYTE bFillCol;
BYTE bBodyCol;
WORD wStartY;
BYTE bChannel[3];
vTnrBrwGetItemCol(bItemVal, fgHili, &bBodyCol, &bFillCol);
wStartY = _wItemStY(bItemVal) + TUNER_BRW_ITEM_MSG_OFFSET_Y;
switch(bItemVal)
{
case TUNER_BRW_ITEM_CHANNEL:
bChannel[0] = 3;
bChannel[1] = ' ';
bChannel[2] = _bStationNo / 10 + '0';
bChannel[3] = _bStationNo % 10 + '0';
if('0' == bChannel[2])
{
bChannel[2] = ' ';
}
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bBodyCol);
vOsdPasteStrRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, bChannel);
break;
case TUNER_BRW_ITEM_BAND:
if(_eTunerBand < TUNER_BAND_NS)
{
/*Clear first*/
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bFillCol);
vOsdPasteMsgRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, OSD_MSG_TUNER_AM);
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bBodyCol);
vOsdPasteMsgRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, _sTunerBrwDataBand[_eTunerBand].wDataVal);
}
break;
case TUNER_BRW_ITEM_SIGNAL:
if(_eSignalType < TUNER_SIGNAL_NS)
{
/*Clear first*/
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bFillCol);
vOsdPasteMsgRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, OSD_MSG_TUNER_VAL_STEREO);
if(TUNER_BAND_FM == _eTunerBand)
{
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bBodyCol);
}
else if(TUNER_BAND_AM == _eTunerBand)
{
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, TUNER_MENU_WHITE43);
}
vOsdPasteMsgRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, _sTunerBrwDataSignal[_eSignalType].wDataVal);
}
break;
case TUNER_BRW_ITEM_AMSTEP:
if(_eAmStep < AM_STEP_NS)
{
/*Clear first*/
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bFillCol);
vOsdPasteMsgRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, OSD_MSG_TUNER_VAL_10KSTEP);
if(TUNER_BAND_AM == _eTunerBand)
{
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bBodyCol);
}
else if(TUNER_BAND_FM == _eTunerBand)
{
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, TUNER_MENU_WHITE43);
}
vOsdPasteMsgRightXY(TUNER_BRW_ITEM_VAL_END_X, wStartY, WB_TUNER_MENU, _sTunerBrwDataAmstep[_eAmStep].wDataVal);
}
break;
default:
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrDrawBrwItemNest(BYTE bItemVal, BOOL fgShow) large
{
if(TUNER_STATE_BROWSER != _eTunerBrwState)
{
return;
}
if(TUNER_BRW_ITEM_LINE == bItemVal || TUNER_BRW_ITEM_AUTO == bItemVal)
{
return;
}
if((bItemVal == _eTunerBrwItem) && (bItemVal < TUNER_BRW_ITEM_NS))
{
if(fgShow)
{
vOsdPasteBmpXY(TUNER_BRW_ITEM_NEST_START_X, _wItemStY(bItemVal) + TUENR_BRW_ITEM_NEST_OFFSET_Y, WB_TUNER_MENU, BMP_TUNER_NESTED);
}
else
{
vSetStartEndXY(TUNER_BRW_ITEM_NEST_START_X, _wItemStY(bItemVal),
TUNER_BRW_ITEM_NEST_START_X + TUNER_BRW_NEST_BMP_WIDTH , _wItemStY(bItemVal) + TUNER_BRW_ITEM_HEIGHT);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_GRAY43);
}
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwDrawDataDot(BYTE bItemVal, BYTE bDataCur,BOOL fgShow, BOOL fgSelect, BOOL fgHili) large
{
BYTE bBgCol;
BYTE bBodyCol;
BYTE bNumCol;
BYTE bFillCol;
WORD wStartY;
vTnrBrwGetDatCol(fgHili, &bBgCol, &bBodyCol, &bNumCol, &bFillCol);
if(!fgShow)
{
bBodyCol = bFillCol;
}
else if(fgSelect)
{
bFillCol = TUNER_MENU_RED44;
}
vSetMsgCol4(WB_TUNER_MENU, bFillCol, bFillCol, bFillCol, bBodyCol);
switch(bItemVal)
{
case TUNER_BRW_ITEM_BAND:
wStartY = TUNER_BRW_DATA_BAND_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT * bDataCur;
break;
case TUNER_BRW_ITEM_SIGNAL:
wStartY = TUNER_BRW_DATA_SIGNAL_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT * bDataCur;
break;
case TUNER_BRW_ITEM_AMSTEP:
wStartY = TUNER_BRW_DATA_STEP_START_Y + TUNER_BRW_DATA_SELECT_HEIGHT * bDataCur;
break;
default:
break;
}
vOsdPasteMsgXY(TUNER_BRW_DOT_START_X, wStartY + TUNER_BRW_DATA_MSG_OFFSET_Y,
WB_TUNER_MENU, OSD_MSG_SELECT_ROUND);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwShowArrow(BYTE bItemVal, BOOL fgHili) large
{
switch(bItemVal)
{
case TUNER_BRW_ITEM_CHANNEL:
if(fgHili)
{
vOsdPasteBmpXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_CH_UPBMP_START_Y, WB_TUNER_MENU, BMP_TUNER_UP);
vOsdPasteBmpXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_CH_DOWNBMP_START_Y, WB_TUNER_MENU, BMP_TUNER_DOWN);
}
else
{
vSetStartEndXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_CH_UPBMP_START_Y, TUNER_BRW_ARROW_END_X , TUNER_BRW_CH_UPBMP_END_Y);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_GRAY42);
vSetStartEndXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_CH_DOWNBMP_START_Y, TUNER_BRW_ARROW_END_X , TUNER_BRW_CH_DOWNBMP_END_Y);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_GRAY42);
}
break;
case TUNER_BRW_ITEM_SAVE:
if(fgHili)
{
vOsdPasteBmpXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_SAVECH_UPBMP_START_Y, WB_TUNER_MENU, BMP_TUNER_UP);
vOsdPasteBmpXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_SAVECH_DOWNBMP_START_Y, WB_TUNER_MENU, BMP_TUNER_DOWN);
}
else
{
vSetStartEndXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_SAVECH_UPBMP_START_Y, TUNER_BRW_ARROW_END_X , TUNER_BRW_SAVECH_UPBMP_END_Y);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_GRAY42);
vSetStartEndXY(TUNER_BRW_ARROW_START_X, TUNER_BRW_SAVECH_DOWNBMP_START_Y, TUNER_BRW_ARROW_END_X , TUNER_BRW_SAVECH_DOWNBMP_END_Y);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_GRAY42);
}
break;
default:
break;
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwHeadAreaHili(BOOL fgHili) large
{
vSetStartEndXY(TUNER_BROWSER_HEAD_START_X, TUNER_BROWSER_HEAD_START_Y,
TUNER_BROWSER_HEAD_END_X , TUNER_BROWSER_HEAD_END_Y);
if(fgHili)
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_GRAY43, TUNER_MENU_RED44);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_WHITE41, TUNER_MENU_RED41);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_YELLOW, TUNER_MENU_WHITE);
}
else
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_RED44, TUNER_MENU_GRAY43);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_RED41, TUNER_MENU_WHITE41);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_WHITE, TUNER_MENU_YELLOW);
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwItemAreaHili(BOOL fgHili) large
{
vSetStartEndXY(TUNER_BRW_ITEM_RECT_START_X, TUNER_BRW_ITEM_RECT_START_Y,
TUNER_BRW_ITEM_RECT_END_X , TUNER_BRW_ITEM_RECT_END_Y);
if(fgHili)
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_WHITE42, TUNER_MENU_WHITE44);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_GRAY42, TUNER_MENU_GRAY43);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_RED42, TUNER_MENU_RED44);
}
else
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_WHITE44, TUNER_MENU_WHITE42);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_GRAY43, TUNER_MENU_GRAY42);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_RED44, TUNER_MENU_RED42);
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwDataAreaHili(BOOL fgHili) large
{
vSetStartEndXY(TUNER_BRW_DATA_AREA_START_X, TUNER_BRW_DATA_AREA_START_Y,
TUNER_BRW_DATA_AREA_END_X , TUNER_BRW_DATA_AREA_END_Y);
if(fgHili)
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_WHITE42, TUNER_MENU_WHITE44);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_GRAY42, TUNER_MENU_GRAY43);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_BLACK41, TUNER_MENU_RED);
}
else
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_WHITE44, TUNER_MENU_WHITE42);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_GRAY43, TUNER_MENU_GRAY42);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_RED, TUNER_MENU_BLACK41);
vChgColRep(WB_TUNER_MENU, TUNER_MENU_RED44, TUNER_MENU_GRAY42);
}
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwClearData(void) large
{
vSetStartEndXY(TUNER_BRW_DATA_AREA_START_X, TUNER_BRW_DATA_AREA_START_Y,
TUNER_BRW_DATA_AREA_END_X , TUNER_BRW_DATA_AREA_END_Y);
vRectangle(WB_TUNER_MENU, 0, 0, TRUE, TUNER_MENU_BG);
}
/***************************************************************************************
Function :
Description :
Parameter :
Return :
***************************************************************************************/
static void vTnrBrwItemItemHili(BYTE bItemVal, BYTE fgHili) large
{
if(TUNER_BRW_ITEM_LINE == bItemVal || bItemVal > TUNER_BRW_ITEM_MAX)
{
return;
}
if(fgHili)
{
vTnrDrawBrwItemNest(bItemVal, TRUE);
}
else
{
vTnrDrawBrwItemNest(bItemVal, FALSE);
}
vSetStartEndXY(TUNER_BRW_ITEM_RECT_START_X, _wItemStY(bItemVal),
TUNER_BRW_ITEM_RECT_END_X - 1, _wItemStY(bItemVal) + TUNER_BRW_ITEM_HEIGHT - 1);
if(fgHili)
{
vChgColRep(WB_TUNER_MENU, TUNER_MENU_GRAY43, TUNER_MENU_RED44);
vSetStartEndXY(TUNER_BRW_ITEM_RECT_START_X + 1, _wItemStY(bItemVal),
TUNER_BRW_ITEM_RECT_END_X, _wItemStY(bItemVal) + TUNER_BRW_ITEM_HEIGHT);
vTnrBrwItemItemCorner(bItemVal);
}
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -