📄 stposdfn.c
字号:
void vShowMark(void) large
{
vCleanMark();
vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
if (_bMinShowDat != 0)
{
vSetupEntryShowXY(SETUP_ITEM_W-42/*_wStartX*/, 34 /*4*/, OSD_MSG_MARK_UP, WB_SETUP_ITEM); //[runma] 4 -> 34
}
if (_bMinShowDat + bLength < bTotal)
{
vSetupEntryShowXY(SETUP_ITEM_W-42 /*_wStartX*/, 266, OSD_MSG_MARK_DOWN, WB_SETUP_ITEM);
}
}
#endif
#if 1
void vCleanMark(void) large
{
_wStartX = SETUP_ITEM_W - 42;
_wEndX = _wStartX+40;
_wStartY = 34; //[runma] 5; -> 34
_wEndY = 66; //[runma] 30; -> 66
vRectangle(WB_SETUP_ITEM, 0, 0, 1, ENTRY_COL_BG);
_wStartY = 266;
_wEndY = 266+32;
vRectangle(WB_SETUP_ITEM, 0, 0, 1, ENTRY_COL_BG);
}
#endif /* SHOW_MARK */
#ifdef USE_TYPE_2
// *********************************************************************
// Function : void vDrawSetupBorder(void)
// Description :
// Parameter : fgClear : TRUE - clear border
// FALSE - draw border
// Return : None
// *********************************************************************
void vDrawSetupBorder(BOOL fgClear) large
{
// Horizontal Line
// vOsdShowLineXY(WB_SETUP_HEAD, (fgClear) ? 0 : ENTRY_COL_BLACK, 2, 0, (SETUP_HEAD_H - 2), SETUP_HEAD_W, (SETUP_HEAD_H - 2));
vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ITEM_BORDER_COLOR, 2, 0, 0, SETUP_ITEM_W, 0);
vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : MSG_BORDER_COLOR, 2, 0, (SETUP_MSG_H - 2), SETUP_MSG_W, (SETUP_MSG_H - 2));
vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 2, 0, (SETUP_MSG_H - 4), SETUP_MSG_W, (SETUP_MSG_H - 4));
// Vertical Line
vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, 0, 0, 0, SETUP_ITEM_H - 1);
vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ITEM_BORDER_COLOR, 3, 2, 0, 2, SETUP_ITEM_H - 1);
vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, 0, 0, 0, SETUP_MSG_H - 1);
vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : MSG_BORDER_COLOR, 3, 2, 0, 2, SETUP_MSG_H - 1);
vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ITEM_BORDER_COLOR, 3, (SETUP_ITEM_W - 3), 0, (SETUP_ITEM_W - 3), SETUP_ITEM_H - 1);
vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, (SETUP_ITEM_W - 6), 0, (SETUP_ITEM_W - 6), SETUP_ITEM_H - 1);
vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : MSG_BORDER_COLOR, 3, (SETUP_MSG_W - 3), 0, (SETUP_MSG_W - 3), SETUP_MSG_H - 1);
//vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, (SETUP_MSG_W - 6), 0, (SETUP_MSG_W - 6), SETUP_MSG_H - 1);
vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, (SETUP_MSG_W - 6), 0, (SETUP_MSG_W - 6), SETUP_MSG_H - 4);
}
#endif
#if 0
// *********************************************************************
// Function : void vClearHeadRng(void)
// Description : clear setup header white board, except the border parts
// Parameter : None
// Return : None
// *********************************************************************
void vClearHeadRng(void) large
{
vOsdClearPosXY(0, 0, WB_SETUP_HEAD, SETUP_HEAD_W, (SETUP_HEAD_H - 4));
// vOsdClearPosXY(0, 0, WB_SETUP_HEAD, SETUP_HEAD_W, (SETUP_HEAD_H));
}
#endif
// *********************************************************************
// Function : void vClearItemRng(void)
// Description : clear setup item white board, except the border parts
// Parameter : None
// Return : None
// *********************************************************************
void vClearItemRng(void) large
{
// vOsdClearPosXY(8, 2, WB_SETUP_ITEM, (SETUP_ITEM_W), (SETUP_ITEM_H )); //[runma] del line
//vOsdClearPosXY(8, 2, WB_SETUP_ITEM, (SETUP_ITEM_W - 16), (SETUP_ITEM_H - 3));
vOsdClearPosXY(0, 0, WB_SETUP_ITEM, (SETUP_ITEM_W), (SETUP_ITEM_H)); //[runma] add line.
}
// *********************************************************************
// Function : void vClearMsgRng(void)
// Description : clear setup message white board, except the border parts
// Parameter : None
// Return : None
// *********************************************************************
void vClearMsgRng(void) large
{
vOsdClearPosXY(17 /*8*/, 0, WB_SETUP_MSG, (SETUP_MSG_W - 34 /*16*/), (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,3); //ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_WHITE);
vClearMsgRng(); //vClearWB(WB_SETUP_MSG);
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;
vSetMsgCol4(WB_SETUP_MSG, 0,0,1,3); //ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_WHITE);
vClearMsgRng(); //vClearWB(WB_SETUP_MSG);
vWaitBusy();
vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
// vWriteNextSharedItem(CODE_PAGE_ASC2);
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();
}
#ifdef SETUP_ENABLE_TEST_TONE
// *********************************************************************
// Function :
// Description :
// Parameter : None
// Return : None
// *********************************************************************
#ifdef SUPPORT_DDEX
#define SPK_MSG_NS 7
static code WORD pwSpkMsg[SPK_MSG_NS] =
{
OSD_MSG_TT_LEFT,
OSD_MSG_TT_CENTER,
OSD_MSG_TT_RIGHT,
OSD_MSG_TT_RIGHTSURROUND,
OSD_MSG_TT_LEFTSURROUND,
OSD_MSG_TT_BSLBSURROUND,
OSD_MSG_TT_RBSURROUND
};
#else
#ifdef SUBWOOFER_TEST_TONE
#define SPK_MSG_NS PN_SPK_NS
#else
#define SPK_MSG_NS (PN_SPK_NS - 1)
#endif
static code WORD pwSpkMsg[SPK_MSG_NS] =
{
OSD_MSG_TT_LEFT,
OSD_MSG_TT_CENTER,
OSD_MSG_TT_RIGHT,
OSD_MSG_TT_RIGHTSURROUND,
OSD_MSG_TT_LEFTSURROUND
#ifdef SUBWOOFER_TEST_TONE
,OSD_MSG_SUBWOOFER
#endif
};
#endif
/*
modify the OSD show by Bright_liu 2005/12/20,
When enable SUBWOOFER_TEST_TONE, the test tone no subwoofer show.
*/
void vShowTestToneSpk(BYTE bSpk) large
{
if (bSpk >= SPK_MSG_NS)
{
return;
}
vShowSetupMsg(pwSpkMsg[bSpk]);
}
#endif /* SETUP_ENABLE_TEST_TONE */
#if 0
void vGrpButtonCreate(BYTE bRCode, BYTE bWBIdx, BYTE bBtnId, BYTE bGroup, BYTE bBorPix, WORD wMsg, WORD wXOfst, char cYOfst) large
{
vWaitBusy();
vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_GRP_BTN_CREATE);
vWriteNextSharedItem(bRCode);
vWriteNextSharedItem(bWBIdx);
vWriteNextSharedItem(bBtnId);
vWriteNextSharedItem(bGroup);
vWriteNextSharedItem(bBorPix);
vSendStartEndXY();
vWriteNextSharedItem(bLoByte(wMsg));
vWriteNextSharedItem(bHiByte(wMsg));
vWriteNextSharedItem(bLoByte(wXOfst));
vWriteNextSharedItem(bHiByte(wXOfst));
vWriteNextSharedItem(cYOfst);
vSendOsdCmd();
}
void vGrpButtonActivate(BYTE bWBIdx, BYTE bBtnId, BYTE bStyle) large
{
vWaitBusy();
vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_ACTIVATE);
vWriteNextSharedItem(bWBIdx);
vWriteNextSharedItem(bBtnId);
vWriteNextSharedItem(bStyle);
vSendOsdCmd();
}
void vGrpButtonDeactivate(BYTE bWBIdx, BYTE bBtnId, BYTE bStyle) large
{
vWaitBusy();
vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_DEACTIVATE);
vWriteNextSharedItem(bWBIdx);
vWriteNextSharedItem(bBtnId);
vWriteNextSharedItem(bStyle);
vSendOsdCmd();
}
#if 0
void vGrpButtonHilight(BYTE bWBIdx, BYTE bBtnId) large
{
vWaitBusy();
vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_HILIGHT);
vWriteNextSharedItem(bWBIdx);
vWriteNextSharedItem(bBtnId);
vSendOsdCmd();
}
#endif
void vGrpButtonDeleteGrp(BYTE bWBIdx, BYTE bGroup) large
{
vWaitBusy();
vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_DELETE_GRP);
vWriteNextSharedItem(bWBIdx);
vWriteNextSharedItem(bGroup);
vSendOsdCmd();
}
#endif
void vPasteMsgStr(BYTE bWBIdx, WORD wMsg, BYTE *pbStr) large
{
BYTE i;
vWaitBusy();
//vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
//vWriteNextSharedItem(CODE_PAGE_ICON);
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();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -