📄 setup_show_page.c
字号:
id = setup_item[setup_pos[1]][setup_pos[2]][setup_pos[3]];
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+setup_pos[3]+1;
setup_itemType= SETUP_itemMark;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
break;
case SET_SCALE:
id = setup_item[setup_pos[1]][setup_pos[2]][1];
setup_DrawScaleForm( id, 1);
setup_DrawScaleCursor(id, 1);
break;
case SET_NM:
id = setup_item[setup_pos[1]][setup_pos[2]][setup_pos[3]];
yStart = setup_pos[2]+SETUP_MENU_YSTART;
setup_itemType= SETUP_itemMark;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
break;
}
}
//for setup_level =3, up/down walking on selection(3rd) level, highlight the corresponding selection
if((setup_pos[0] == SETUP_ML3) && (setup_last_pos[0] == SETUP_ML3))
{
switch(itemType)
{
case SET_FUNC:
//unmark last selection
{
itemSel = setup_sel[setup_pos[1]][setup_pos[2]];
if(itemSel == setup_last_pos[3])
setup_itemType = SETUP_itemSelected;
else
setup_itemType = SETUP_itemNormal;
id = setup_item[setup_last_pos[1]][setup_last_pos[2]][setup_last_pos[3]];
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+setup_last_pos[3]+1;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
//mark current selection
{
id = setup_item[setup_pos[1]][setup_pos[2]][setup_pos[3]];
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+setup_pos[3]+1;
setup_itemType = SETUP_itemMark;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
break;
case SET_SCALE:
id = setup_item[setup_last_pos[1]][setup_last_pos[2]][setup_last_pos[3]];
setup_DrawScaleCursor(id, 1);
break;
}
}
}
void setup_ExitPage(void)
{
ExitSetupPage(1);
run_save_total_sel();
//printf("run_save_total_sel()\n");
}
//====================================================================
void setup_ShowPageCUSTM(void)
{
int i;//, j;
BYTE xStart, yStart, xLen;//, xOffset, fColor, bgColor, upDown;
UINT8 itemType, itemSel;
char buf[8];
yStart=0;
itemType = setup_item[setup_pos[1]][setup_pos[2]][0];
//draw CUSTM page level_1 and level_2
if(setup_last_pos[0]==0)
{
osd_draw_rect(0, 0, (SETUP_MAX_WIDTH*16), (SETUP_MAX_LINE*SETUP_BUTTON_HEIGHT), setupBGcolorCUSTM);
//level_2
xStart = SETUP_MENU_XSTART;
xLen = SETUP_SUB_XSTART-SETUP_MENU_XSTART-1;
setup_itemType= SETUP_itemNormal;
for(i=1; i<=MAX_PAGE_ITEM; i++)
{
yStart = SETUP_MENU_YSTART + i;
id = setup_item[setup_pos[SETUP_ML1]][i][1];
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
setup_ShowCUSTMMsg();
}
//====================================================================
//for setup_level =2, up/down walking on item(2nd) level, highlight the corresponding item
if(setup_pos[SETUP_ML0] == SETUP_ML2)
{
//clear level 3 area
osd_draw_rect((SETUP_SUB_XSTART-1)*16,
(SETUP_MENU_YSTART+2)*SETUP_BUTTON_HEIGHT+31,
(SETUP_MAX_WIDTH-SETUP_SUB_XSTART-1)*16,
(SETUP_MAX_LINE-SETUP_MENU_YSTART)*SETUP_BUTTON_HEIGHT-68,
setupBGcolorCUSTM);
xStart = SETUP_MENU_XSTART;
xLen = SETUP_SUB_XSTART-SETUP_MENU_XSTART-1;
//unmark last located item
if(setup_last_pos[SETUP_ML1] == setup_page_CUS)
{
yStart = SETUP_MENU_YSTART + setup_last_pos[SETUP_ML2];
id = setup_item[setup_last_pos[SETUP_ML1]][setup_last_pos[SETUP_ML2]][1];
setup_itemType = SETUP_itemNormal;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
// mark current located item
if(setup_pos[SETUP_ML2] != MAX_PAGE_ITEM)
{
yStart = SETUP_MENU_YSTART + setup_pos[SETUP_ML2];
id = setup_item[setup_pos[SETUP_ML1]][setup_pos[SETUP_ML2]][1];
setup_itemType = SETUP_itemMark;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
//draw ">>" between located item and it's corresponding selection area
if((setup_item[setup_pos[1]][setup_pos[2]][0]!=SET_SH)&&(setup_item[setup_pos[1]][setup_pos[2]][0]!=SET_LINK))
{
osd_DrawString(SETUP_SUB_XSTART-1, yStart, Ch_arrorR, setupFcolorAL2, setupBGcolorAL2);
}
//level_3
xStart = SETUP_SUB_XSTART;
xLen = SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2;
switch(itemType)
{
case SET_FUNC:
itemSel = setup_sel[setup_pos[1]][setup_pos[2]];
for(i=2; i<MAX_ITEM_SEL; i++)
{
id = setup_item[setup_pos[1]][setup_pos[2]][i];
if (id == 0) break;
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+i+1;
if(itemSel==i)
setup_itemType= SETUP_itemSelected;
else
setup_itemType= SETUP_itemNormal;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
break;
case SET_NM:
setup_pos[3] = setup_sel[setup_pos[1]][setup_pos[2]];
yStart = setup_pos[2]+SETUP_MENU_YSTART;
#ifdef SETUP_6_DIGIT_PASSWORD
psprintf(buf, "%06d", UserSet.parent_passwd);
#else
psprintf(buf, "%04d", UserSet.parent_passwd);
#endif
osd_DrawString(xStart+1, yStart, buf, setupFcolorSS, setupBGcolorCUSTM);
break;
case SET_SH:
case SET_NE:
case SET_SPACE:
break;
}
}
//==========================================================================
// for setup_level from 2 to 3, change the color of selected item
if((setup_pos[0] == SETUP_ML3) && (setup_last_pos[0] == SETUP_ML2))
{
xStart = SETUP_MENU_XSTART;
xLen = SETUP_SUB_XSTART-SETUP_MENU_XSTART-1;
yStart = SETUP_MENU_YSTART + setup_pos[SETUP_ML2];
id = setup_item[setup_pos[1]][setup_pos[2]][1];
setup_itemType = SETUP_itemSelected;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
osd_DrawString(SETUP_SUB_XSTART-1, yStart, Ch_arrorR, setupFcolorAL3, setupBGcolorAL2);
//level_3
xStart = SETUP_SUB_XSTART;
xLen = SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2;
switch(itemType)
{
case SET_FUNC:
id = setup_item[setup_pos[1]][setup_pos[2]][setup_pos[3]];
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+setup_pos[3]+1;
setup_itemType = SETUP_itemMark;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
break;
case SET_NM:
setup_pos[3] = setup_sel[setup_pos[1]][setup_pos[2]];
id = setup_item[setup_pos[1]][setup_pos[2]][setup_pos[3]];
yStart = setup_pos[2]+SETUP_MENU_YSTART;
#ifdef SETUP_6_DIGIT_PASSWORD
psprintf(buf, "%06d", UserSet.parent_passwd);
#else
psprintf(buf, "%04d", UserSet.parent_passwd);
#endif
osd_draw_setup_button(xStart,yStart,xLen, setupBGcolorSM, 1);
osd_DrawString(xStart+1, yStart, buf, setupFcolorSM, setupBGcolorSM);
break;
}
}
//================================================================================
//for setup_level =3, up/down walking on selection(3rd) level, highlight the corresponding selection
if((setup_pos[0] == SETUP_ML3) && (setup_last_pos[0] == SETUP_ML3))
{
xStart = SETUP_SUB_XSTART;
xLen = SETUP_MAX_WIDTH-SETUP_SUB_XSTART-2;
//xOffset = 1;
switch(itemType)
{
case SET_FUNC:
//unmark last selection
if(setup_last_pos[SETUP_ML1] == setup_page_CUS)
{
itemSel = setup_sel[setup_pos[1]][setup_pos[2]];
if(itemSel == setup_last_pos[3])
setup_itemType= SETUP_itemSelected;
else
setup_itemType = SETUP_itemNormal;
id = setup_item[setup_last_pos[1]][setup_last_pos[2]][setup_last_pos[3]];
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+setup_last_pos[3]+1;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
//mark current selection
{
id = setup_item[setup_pos[1]][setup_pos[2]][setup_pos[3]];
yStart = setup_item[setup_pos[1]][setup_pos[2]][MAX_ITEM_SEL]+setup_pos[3]+1;
setup_itemType= SETUP_itemMark;
setup_draw_item(xStart, yStart, xLen, id, setup_itemType);
}
break;
}
}
if(setup_item[setup_pos[SETUP_ML1]][setup_pos[SETUP_ML2]][1]!=STR_OS_RATING) //dengh add FOR RATING_8 2004-10-13 8:46
setup_ShowCUSTMMsg();
}
//====================================================================
void setup_ShowCUSTMMsg(void)
{
BYTE buf[40];
BYTE *pVersion;
#ifdef DVD_SERVO
extern const UINT8 ServoVersion[];
#endif
extern const UINT8 KernelVersion[]; // moved to libkern.a, leochen 2004/4/19 09:43
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -