📄 tidtv_menusetupproc.c
字号:
TiDTV_OsdRect(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPARENTGUIDEBLOCK_XPOSITION + 100 + 56 * i, SUB_MENU_VCHIPPARENTGUIDEBLOCK_YPOSITION + 40 + 40 * ParentGuideCursor[0], 56, 40,
TI_DTV_G_BORDER | TI_DTV_G_OPAQUE, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR, SUB_MENU_CHARACTER_LIGHTGRAY, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
if((mask[i] & *Pt) == mask[i])
{
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPARENTGUIDEBLOCK_XPOSITION + 112 + 56 * i, SUB_MENU_VCHIPPARENTGUIDEBLOCK_YPOSITION + 42 + 40 * ParentGuideCursor[0]);
TiDTV_OsdDrawBitMap(&TiDTV_OsdScreenMain, BMP_LOCKER);
}
}
}
InParentalGuidelines = 1;
}
{ // highlight first one
Pt = (USHORT*)(&UserPreferSetting.UserPrefer_SetupVChipTVParentalGuideTVY + ParentGuideCursor[0]);
TiDTV_OsdRect(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPARENTGUIDEBLOCK_XPOSITION + 100 + 56 * ParentGuideCursor[1], SUB_MENU_VCHIPPARENTGUIDEBLOCK_YPOSITION + 40 + 40 * ParentGuideCursor[0], 56, 40,
TI_DTV_G_BORDER | TI_DTV_G_OPAQUE, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_LIGHTGRAY, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
if((mask[ParentGuideCursor[1]] & *Pt) == mask[ParentGuideCursor[1]])
{
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPARENTGUIDEBLOCK_XPOSITION + 112 + 56 * ParentGuideCursor[1], SUB_MENU_VCHIPPARENTGUIDEBLOCK_YPOSITION + 42 + 40 * ParentGuideCursor[0]);
TiDTV_OsdDrawBitMap(&TiDTV_OsdScreenMain, BMP_SELLOCKER);
}
}
return 0;
}
USHORT TiDTV_TVParentalGuidelinesRestoreCurrentBlock()
{
USHORT *Pt;
USHORT mask[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
// highlight first one
TiDTV_OsdRect(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPARENTGUIDEBLOCK_XPOSITION + 100 + 56 * ParentGuideCursor[1], SUB_MENU_VCHIPPARENTGUIDEBLOCK_YPOSITION + 40 + 40 * ParentGuideCursor[0], 56, 40,
TI_DTV_G_BORDER | TI_DTV_G_OPAQUE, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR, SUB_MENU_CHARACTER_LIGHTGRAY, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
Pt = (USHORT*)(&UserPreferSetting.UserPrefer_SetupVChipTVParentalGuideTVY + ParentGuideCursor[0]);
if((mask[ParentGuideCursor[1]] & *Pt) == mask[ParentGuideCursor[1]])
{
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPARENTGUIDEBLOCK_XPOSITION + 112 + 56 * ParentGuideCursor[1], SUB_MENU_VCHIPPARENTGUIDEBLOCK_YPOSITION + 42 + 40 * ParentGuideCursor[0]);
TiDTV_OsdDrawBitMap(&TiDTV_OsdScreenMain, BMP_LOCKER);
}
return 0;
}
/*******************************************************************************
* @RoutineName:: DtvSetupVChipParentGuidelinesOpcodeParser
*
* @Description:: Parental Guide OpcodeParser
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupVChipParentGuidelinesOpcodeParser()
{
short j;
USHORT FoundKey;
USHORT *Pt;
char k;
TI_DTV_MENU_ITEM *pNextItem;
USHORT mask[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
// USHORT temp;
// restore current
switch(TiDTV_KeyBuf.CurKeyCodeMenu)
{
case TI_DTV_IR_KEY_RIGHT:
if(InParentalGuidelines != 0)
{
TiDTV_TVParentalGuidelinesRestoreCurrentBlock();
if(ParentGuideCursor[1] < 5)
{
k = ParentGuideCursor[1];
k++;
if(ValidPosition[ParentGuideCursor[0]][k] == 1)
{
ParentGuideCursor[1] = k;
}
else
{
for(j = k; j < 6; j++)
{
if(ValidPosition[ParentGuideCursor[0]][j] == 1)
{
ParentGuideCursor[1] = j;
break;
}
}
}
}
TiDTV_TVParentalGuidelinesHandler();
}
else
{
}
TiDTV_TVParentalGuidelinesHandler();
FoundKey = 1;
break;
case TI_DTV_IR_KEY_LEFT:
if(InParentalGuidelines != 0)
{
if(ParentGuideCursor[1] > 0)
{
TiDTV_TVParentalGuidelinesRestoreCurrentBlock();
k = ParentGuideCursor[1];
k--;
if(ValidPosition[ParentGuideCursor[0]][k] == 1)
{
ParentGuideCursor[1] = k;
}
else
{
for(j = k; j >= 0; j--)
{
if(ValidPosition[ParentGuideCursor[0]][j] == 1)
{
ParentGuideCursor[1] = j;
break;
}
}
}
TiDTV_TVParentalGuidelinesHandler();
}
}
else
{
ParentGuideCursor[0] = 0;
ParentGuideCursor[1] = 0;
InParentalGuidelines = 0;
// DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &TiDtvMenuSetup;
DtvDispSubMenu();
pCurDtvMenu = pCurDtvMenu->pNextMenu;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
FoundKey = 1;
break;
case TI_DTV_IR_KEY_UP:
if(InParentalGuidelines != 0)
{
TiDTV_TVParentalGuidelinesRestoreCurrentBlock();
if(ParentGuideCursor[0] > 0)
{
k = ParentGuideCursor[0];
k--;
if(ValidPosition[k][ParentGuideCursor[1]] == 1)
{
ParentGuideCursor[0] = k;
}
else
{
for(j = k; j >= 0; j--)
{
if(ValidPosition[j][ParentGuideCursor[1]] == 1)
{
ParentGuideCursor[0] = j;
break;
}
}
}
}
TiDTV_TVParentalGuidelinesHandler();
}
else
{
InParentalGuidelines = 0;
pNextItem = pCurDtvMenu->pCurItem->pUpItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
// Display the Cursor (current position)
pCurDtvMenu->pCurItem = pNextItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
FoundKey = 1;
break;
case TI_DTV_IR_KEY_DOWN:
if(InParentalGuidelines != 0)
{
TiDTV_TVParentalGuidelinesRestoreCurrentBlock();
if(ParentGuideCursor[0] < 5)
{
k = ParentGuideCursor[0];
k++;
if(ValidPosition[k][ParentGuideCursor[1]] == 1)
{
ParentGuideCursor[0] = k;
}
else
{
for(j = k; j < 6; j++)
{
if(ValidPosition[j][ParentGuideCursor[1]] == 1)
{
ParentGuideCursor[0] = j;
break;
}
}
}
}
TiDTV_TVParentalGuidelinesHandler();
}
else
{
InParentalGuidelines = 0;
pNextItem = pCurDtvMenu->pCurItem->pDownItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
// Display the Cursor (current position)
pCurDtvMenu->pCurItem = pNextItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
FoundKey = 1;
break;
case TI_DTV_IR_KEY_SELECT:
if(InParentalGuidelines != 0)
{
TiDTV_TVParentalGuidelinesRestoreCurrentBlock();
// pLastNode = pCurrentNode;
if(ParentGuideCursor[1] != 0)
{
Pt = (USHORT*)(&UserPreferSetting.UserPrefer_SetupVChipTVParentalGuideTVY + ParentGuideCursor[0]);
*Pt = (USHORT)(*Pt ^ mask[ParentGuideCursor[1]]);
}
else
{
Pt = (USHORT*)(&UserPreferSetting.UserPrefer_SetupVChipTVParentalGuideTVY + ParentGuideCursor[0]);
if(*Pt & mask[0] == mask[0])
{
*Pt = 0;
}
else
{
*Pt = 0xff;
}
InParentalGuidelines = 2;
}
}
// FoundKey = 1;
TiDTV_TVParentalGuidelinesHandler();
break;
case TI_DTV_IR_KEY_EXIT:
if(InParentalGuidelines != 0)
{
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &TiDtvMenuSetupVChip;
}
else
{
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &TiDtvMenuSetup;
}
ParentGuideCursor[0] = 0;
ParentGuideCursor[1] = 0;
InParentalGuidelines = 0;
DtvDispSubMenu();
pCurDtvMenu = pCurDtvMenu->pNextMenu;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
TiDTV_UpdateNavigationBar((TI_DTV_MENU_NODE_NAVIGATION *) &TiDTV_Basic_Navigation, 0);
break;
default:
FoundKey = 0;
break;
}
return FoundKey;
}
/*******************************************************************************
* @RoutineName:: DtvVChipPassWordChangeInitFuct
*
* @Description:: VChip PassWord Change Init
*
* @Input :: TI_DTV_MENU_ITEM *pMenuItem
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvVChipPassWordChangeInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
TiDTV_MenuPageEndInitFuct(pMenuItem);
}
/*******************************************************************************
* @RoutineName:: DtvVChipPassWordChangeActFuct
*
* @Description:: VChip PassWord Change Init
*
* @Input :: TI_DTV_MENU_ITEM *pMenuItem
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvVChipPassWordChangeActFuct(void)
{
TiDTV_VChipPassWordChangeOpcodeParser();
return 1;
}
/*******************************************************************************
* @RoutineName:: TiDTV_VChipPassWordChangeHandler
*
* @Description:: VChip PassWord Change Handler
*
* @Input :: none
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
USHORT TiDTV_VChipPassWordChangeHandler()
{
USHORT i;
USHORT yPos;
USHORT BeforeSetCharacter[] = {'-', 0};
USHORT AfterSetCharacter[] = {'*', 0};
if(PassWordInputEnd == 1)
{
yPos = SUB_MENU_VCHIPPASSWORD_YPOSITION + 240;
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_TITLE_XPOSITION, yPos - 36 );
if(PassWordCorrect == 2)
{
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, pCurDtvMsgBase[NEWPINSUCCESS_INDEX]);
}
else
{
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, pCurDtvMsgBase[NEWPINFAIL_INDEX]);
}
return;
}
if(PassWordCorrect == 0)
{
yPos = SUB_MENU_VCHIPPASSWORD_YPOSITION;
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_TITLE_XPOSITION, yPos - 36 );
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, pCurDtvMsgBase[ENTERNEWPIN_INDEX]);
}
else if(PassWordCorrect == 1)
{
yPos = SUB_MENU_VCHIPPASSWORD_YPOSITION + 120;
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_TITLE_XPOSITION, yPos - 36 );
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, pCurDtvMsgBase[CONFIRMNEWPIN_INDEX]);
}
for(i = 0; i < 4; i++)
{
if(i == PassWordCursor)
{
TiDTV_OsdRect(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPASSWORD_XPOSITION + 100 * i , yPos, 60, 60,
TI_DTV_G_BORDER | TI_DTV_G_OPAQUE, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPASSWORD_XPOSITION + 100 * i + 24, yPos + 14 );
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, BeforeSetCharacter);
}
else
{
TiDTV_OsdRect(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPASSWORD_XPOSITION + 100 * i , yPos, 60, 60,
TI_DTV_G_BORDER | TI_DTV_G_OPAQUE, SUB_MENU_CHARACTER_HIGHTLIGHTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_HIGHTLIGHTCOLOR);
}
if(i < PassWordCursor)
{
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPASSWORD_XPOSITION + 100 * i + 24, yPos + 14 );
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, AfterSetCharacter);
}
else if (i > PassWordCursor)
{
TiDTV_OsdMove(&TiDTV_OsdScreenMain, SUB_MENU_VCHIPPASSWORD_XPOSITION + 100 * i + 24, yPos + 14 );
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
TiDTV_OsdDrawString(&TiDTV_OsdScreenMain, BeforeSetCharacter);
}
}
return 0;
}
/*******************************************************************************
* @RoutineName:: TiDTV_VChipPassWordChangeOpcodeParser
*
* @Description:: VChip PassWord Change OpcodeParser
*
* @Input :: none
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int TiDTV_VChipPassWordChangeOpcodeParser()
{
USHORT j, PassWordInputError;
int FoundKey;
USHORT *Pt;
TI_DTV_MENU_ITEM *pNextItem;
// i = 0;
FoundKey = 0;
PassWordInputError = 0;
switch(TiDTV_KeyBuf.CurKeyCodeMenu)
{
case TI_DTV_IR_KEY_0:
case TI_DTV_IR_KEY_1:
case TI_DTV_IR_KEY_2:
case TI_DTV_IR_KEY_3: // Numeric 3
case TI_DTV_IR_KEY_4: // Numeric 4
case TI_DTV_IR_KEY_5: // Numeric 5
case TI_DTV_IR_KEY_6: // Numeric 6
case TI_DTV_IR_KEY_7: // Numeric 7
case TI_DTV_IR_KEY_8: // Numeric 8
case TI_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -