?? progshow.c
字號:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 07/04/09 11:49a $ ****************/
/*************** $Revision:: 2 $ ****************/
/*************** ****************/
/*************** Description : OSD ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#define _PROGSHOW_C_
#pragma NOAREGS
#include "general.h"
#include "osdshow.h"
#ifdef PLAYER_PROGRAM
#define PROGRAM_NO_SHOW_TIME
// *********************************************************************
// Function : void vOsdShowProgItemTime(BYTE bCurItem, BYTE bSelNo, BYTE *pbTime) large
// Description :
// Parameter :
// Return : None
// Note :
// *********************************************************************
void vOsdShowProgItemTime(BYTE bCurItem, BYTE bHili, BYTE bSelNo, BYTE *pbTime) large
{
BYTE pbStr[8];
BYTE bKeySeq;
WORD wMsg;
pbStr[0] = 7;
bKeySeq = (bHili & 0x0f);
bHili = (bHili & 0xf0);
wMsg = wOsdGetNumMsg(bCurItem + 1);
bSelNo = bHEXToBCD(bSelNo);
#ifdef NO_ADD10_KEY
if (bKeySeq == 1)
{
pbStr[1] = BCD_LO(bSelNo) + '0';
pbStr[2] = ' ';
}
else if (bKeySeq == 2)
{
pbStr[1] = BCD_HI(bSelNo) + '0';
pbStr[2] = BCD_LO(bSelNo) + '0';
}
else
#endif /* NO_ADD10_KEY */
if (bSelNo == 0)
{
pbStr[1] = '_';
pbStr[2] = '_';
}
else
{
pbStr[1] = BCD_HI(bSelNo) + '0';
pbStr[2] = BCD_LO(bSelNo) + '0';
}
if (pbTime == 0)
{
pbStr[3] = ' ';
pbStr[4] = ' ';
pbStr[5] = ' ';
pbStr[6] = ' ';
pbStr[7] = ' ';
}
else
{
pbStr[3] = BCD_LO(pbTime[0]) + '0';
pbStr[4] = BCD_HI(pbTime[1]) + '0';
pbStr[5] = BCD_LO(pbTime[1]) + '0';
pbStr[6] = BCD_HI(pbTime[2]) + '0';
pbStr[7] = BCD_LO(pbTime[2]) + '0';
}
while (bCurItem >= SELMENU_PAGE_SIZE)
{
bCurItem -= SELMENU_PAGE_SIZE;
}
vOsdClearInputField(OSD_POS_PROG_ITEM_1);
if (bHili == OSD_PROG_ITEM_NORMAL)
{
#ifdef PROGRAM_NO_SHOW_TIME
pbStr[0] = 2;
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME_SHORT, pbStr, 0);
#else /* show time */
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME, pbStr, 0);
#endif
}
else if (bHili == OSD_PROG_ITEM_HEADER)
{
#ifdef PROGRAM_NO_SHOW_TIME
pbStr[0] = 2;
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME_SHORT, pbStr, 0);
#else /* show time */
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME, pbStr, 0);
#endif
vOsdPosHead(OSD_POS_PROG_ITEM_1 + bCurItem, bCurItem, wMsg, -3*EFONT_WIDTH, 2.5*EFONT_WIDTH);
}
else if (bHili == OSD_PROG_ITEM_HILI_TIME)
{
vOsdSetInputField(OSD_POS_PROG_ITEM_1);
#ifdef PROGRAM_NO_SHOW_TIME
pbStr[0] = 2;
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME_SHORT, pbStr, 0);
#else /* show time */
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TIME, pbStr, 0);
#endif
}
}
// *********************************************************************
// Function : void vOsdShowProgItemTtCh(BYTE bCurItem, BYTE bHili, BYTE bTit, BYTE bCha)
// Description :
// Parameter :
// Return : None
// Note :
// *********************************************************************
void vOsdShowProgItemTtCh(BYTE bCurItem, BYTE bHili, BYTE bTit, BYTE bCha) large
{
BYTE pbStr[5];
BYTE bKeySeq;
WORD wMsg;
pbStr[0] = 4;
bKeySeq = (bHili & 0x0f);
bHili = (bHili & 0xf0);
wMsg = wOsdGetNumMsg(bCurItem + 1);
bTit = bHEXToBCD(bTit);
bCha = bHEXToBCD(bCha);
#ifdef NO_ADD10_KEY
if (bHili == OSD_PROG_ITEM_HILI_TT)
{
if (bKeySeq == 1)
{
pbStr[1] = BCD_LO(bTit) + '0';
pbStr[2] = ' ';
}
else if (bKeySeq == 2)
{
pbStr[1] = BCD_HI(bTit) + '0';
pbStr[2] = BCD_LO(bTit) + '0';
}
else
{
pbStr[1] = ' ';
pbStr[2] = ' ';
}
pbStr[3] = ' ';
pbStr[4] = ' ';
}
else if (bHili == OSD_PROG_ITEM_HILI_CH)
{
pbStr[1] = BCD_HI(bTit) + '0';
pbStr[2] = BCD_LO(bTit) + '0';
if (bKeySeq == 1)
{
pbStr[3] = BCD_LO(bCha) + '0';
pbStr[4] = ' ';
}
else if (bKeySeq == 2)
{
pbStr[3] = BCD_HI(bCha) + '0';
pbStr[4] = BCD_LO(bCha) + '0';
}
else
{
pbStr[3] = ' ';
pbStr[4] = ' ';
}
}
else
#endif /* NO_ADD10_KEY */
if (bTit > 0)
{
pbStr[1] = BCD_HI(bTit) + '0';
pbStr[2] = BCD_LO(bTit) + '0';
if (bCha > 0)
{
pbStr[3] = BCD_HI(bCha) + '0';
pbStr[4] = BCD_LO(bCha) + '0';
}
else
{
pbStr[3] = ' ';
pbStr[4] = ' ';
}
}
else
{
pbStr[1] = ' ';
pbStr[2] = ' ';
pbStr[3] = ' ';
pbStr[4] = ' ';
}
while (bCurItem >= SELMENU_PAGE_SIZE)
{
bCurItem -= SELMENU_PAGE_SIZE;
}
vOsdClearInputField(OSD_POS_PROG_ITEM_1);
if (bHili == OSD_PROG_ITEM_NORMAL)
{
#ifdef HILI_USE_OSD
vOsdPosHili(OSD_POS_HILI_CLEAR, OSD_POS_PROG_ITEM_1 + bCurItem, 0);
#endif /* HILI_USE_OSD */
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TT, pbStr, 0);
}
else if (bHili == OSD_PROG_ITEM_HEADER)
{
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TT, pbStr, 0);
vOsdPosHead(OSD_POS_PROG_ITEM_1 + bCurItem, bCurItem, wMsg, -3*EFONT_WIDTH, 2.5*EFONT_WIDTH);
}
else if (bHili == OSD_PROG_ITEM_HILI_TT)
{
vOsdSetInputField(OSD_POS_PROG_ITEM_1);
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_TT, pbStr, 0);
}
else if (bHili == OSD_PROG_ITEM_HILI_CH)
{
vOsdSetInputField(OSD_POS_PROG_ITEM_1);
vOsdPosPasteArg(OSD_POS_PROG_ITEM_1 + bCurItem, OSD_MSG_PROG_ITEM_CH, pbStr, 0);
}
}
// *********************************************************************
// Function : void vOsdShowProgType(BYTE bType, BYTE bStart, BYTE bEnd) large
// Description :
// Parameter :
// Return : None
// Note :
// *********************************************************************
static code WORD pwProgType[5] = {
OSD_MSG_PROG_TYPE_OFF,
OSD_MSG_PROG_TYPE_TRACK,
OSD_MSG_PROG_TYPE_CHAPTER,
OSD_MSG_PROG_TYPE_TITLE,
OSD_MSG_PROG_TYPE_TT_CH
};
void vOsdShowProgType(BYTE bType, BYTE bOpt1, BYTE bOpt2) large
{
BYTE pbStr[5];
pbStr[0] = 4;
bOpt1 = bHEXToBCD(bOpt1);
bOpt2 = bHEXToBCD(bOpt2);
if (bType == OSD_PROG_TYPE_CLEAR)
{
vOsdPosClear(OSD_POS_PROG_TYPE);
return;
}
else if (bType == SV_PROGRAM_NONE_ITEM)
{
vOsdPosClear(OSD_POS_PROG_TYPE);
vOsdPosShow(OSD_POS_PROG_TYPE, pwProgType[bType], OSD_NO_DISAPPEAR);
return;
}
else if (bType <= SV_PROGRAM_TT_ITEM)
{
pbStr[1] = BCD_HI(bOpt1) + '0'; /* start */
pbStr[2] = BCD_LO(bOpt1) + '0';
pbStr[3] = BCD_HI(bOpt2) + '0'; /* end */
pbStr[4] = BCD_LO(bOpt2) + '0';
}
else if (bType == SV_PROGRAM_TT_CH_ITEM)
{
if (bOpt1 > 0) /* title */
{
pbStr[1] = BCD_HI(bOpt1) + '0';
pbStr[2] = BCD_LO(bOpt1) + '0';
}
else
{
pbStr[1] = '-';
pbStr[2] = '-';
}
if (bOpt2 > 0) /* chapter */
{
pbStr[3] = BCD_HI(bOpt2) + '0';
pbStr[4] = BCD_LO(bOpt2) + '0';
}
else
{
pbStr[3] = '-';
pbStr[4] = '-';
}
}
vOsdPosShowArg(OSD_POS_PROG_TYPE, pwProgType[bType], OSD_NO_DISAPPEAR, pbStr);
}
#else /* PLAYER_PROGRAM dummy function */
static code BYTE pbProgShowCodeSegment[1] = { 0 }; /* for code segment */
void vOsdShowProgType(BYTE bType, BYTE bOpt1, BYTE bOpt2) large
{
bOpt2 = pbProgShowCodeSegment[0];
if (bOpt2)
{
vOsdPosPasteArg(0, 0, 0, 0);
}
}
#endif /* PLAYER_PROGRAM */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -