📄 setup_tab_ui1.c
字号:
/********************************************
* setup_newstyle_ui.h
*
* include in setup_tab.c
* when normal setup menu.
*
* UI function:
* LEFT,RIGHT, UP, DOWN, SELECT, ShowSetupPage.
*
* Creator: zhaoyanhua
* Date: 3-7-25 17:12
*******************************************/
#ifdef SUPPORT_MIDI
#include "fsmidi.h"
#ifdef QISHENG_DEBUG_04_10_09
#include "fsmidiui.h"
#endif
#endif
#ifndef DVDRELEASE
//#define SETUP_UI_DBG
#endif
#ifndef SETUP_UI_DBG
#undef ui_printf
#undef ui_print_block
#define ui_printf(f, a...) do {} while (0)
#define ui_print_block(x,y) do {} while (0)
#else
#define ui_printf printf
#define ui_print_block print_block
#endif
#ifdef PULIANG_SETUP_MENU //yaowh add 04-12-15
extern int show_menu_setup_flag;
#endif
#ifdef DVB_MENU_SETUP_STYLE //Maoyong 2004-12-21 20:41 for disable unrealized item of DVB Menu
extern const char *osd_str_dvb_install[N_OSD_LANGS][5];
extern const char *osd_str_dvb_channel[N_OSD_LANGS][5];
#define IsDvbSetupLanguage() ( (page == INSTALLPAGE) && (setup_item[page][index_y][1] == STR_OS_OSD) )
#define IsDvbSetupTimezone() ( (page == INSTALLPAGE) && (setup_item[page][index_y][1] == STR_OS_TIME_ZONE) )
#define IsDvbSubItem() ( (system_state == SYSTEM_TS) && (IsDvbSetupLanguage() || IsDvbSetupTimezone()) )
#define IsDvbSubMenuPageItem() ( IsDvbSubItem() || ( (page != CHANNELPAGE) && (page != INSTALLPAGE) ) )
#define IsDvbStateHasSubMenu() ( (system_state == SYSTEM_TS) && IsDvbSubMenuPageItem() && setupLevel )
#define IsDvbStateNoSubMenu() ( (system_state == SYSTEM_TS) && !IsDvbSubMenuPageItem() && setupLevel )
/*UINT8 IsValidDvbMenuItem(UINT8 i)
{
UINT8 uRes = 0;
if(system_state == SYSTEM_TS ) {
if(((dvbpage == INSTALLPAGE) && (i == ITEM_AUTO_SCAN || i == ITEM_MANUAL_SCAN ))
|| ( (dvbpage == CHANNELPAGE) && (i == ITEM_ADD_CHANNEL || i == ITEM_EDIT_CHANNEL)))
uRes = 1;
}
return uRes;
}
void GetUpValidDvbMenuItem(void)
{
if(system_state == SYSTEM_TS)
{
if(dvbpage == INSTALLPAGE)
{
while(index_y == ITEM_AUTO_SCAN || index_y == ITEM_MANUAL_SCAN)
index_y--;
}
else if(dvbpage == CHANNELPAGE)
{
while(index_y == ITEM_ADD_CHANNEL ||index_y == ITEM_EDIT_CHANNEL)
index_y--;
}
}
}
void GetDownValidDvbMenuItem(void)
{
if(system_state == SYSTEM_TS)
{
if(dvbpage == INSTALLPAGE)
{
while(index_y == ITEM_AUTO_SCAN || index_y == ITEM_MANUAL_SCAN)
{
index_y++;
if(index_y > (MAX_ITEM_SEL - 1))
index_y = 0;
}
}
else if(dvbpage == CHANNELPAGE)
{
while(index_y == ITEM_ADD_CHANNEL || index_y == ITEM_EDIT_CHANNEL)
{
index_y++;
if(index_y > (MAX_ITEM_SEL - 1))
index_y = 0;
}
}
}
}
*/
//When enter DVB turn off MIC and restore MIC state when in DVD state. Maoyong 2005-1-18 16:58
void ControlDvbDvdMic()
{
if(system_state == SYSTEM_TS)
exe_setup_function(STR_OS_MIC_ONOFF, STR_OS_OFF, 1);
else
{
if(SETUP_MIC_ONF == 2)//AUTO
exe_setup_function(STR_OS_MIC_ONOFF, STR_OS_AUTO, 1);
else
exe_setup_function(STR_OS_MIC_ONOFF, STR_OS_OFF, 1);
}
}
const char *SetDvbItemString(UINT16 idString)
{
const char* str;
if(system_state == SYSTEM_TS)
{
if(idString == STR_OS_EXIT_MENU || idString == STR_OS_OSD)
str = _OsdMessegeFont1[osd_font_mode][idString];
else if(page == INSTALLPAGE)
{
str = osd_str_dvb_install[osd_font_mode][idString-STR_OS_DVBT_CONFIG];
}
else if(page == CHANNELPAGE)
{
str = osd_str_dvb_channel[osd_font_mode][idString-STR_OS_TV_CHANNEL];
}
else
str = _OsdMessegeFont1[osd_font_mode][idString];
}
else
str = _OsdMessegeFont1[osd_font_mode][idString];
return str;
}
#endif //#ifdef DVB_MENU_SETUP_STYLE Maoyong 2004-12-22 13:49 for disable unrealized item of DVB Menu
#ifdef SHOW_SETUPMENU_SETUP //linrc modify 2004-5-9 20:01
#ifndef DVD_SETUP_REENG
static inline void show_setupmenu(void)
{
if (full_scrn&CUSTM) //2004-7-28 11:15?宇P
return;
int menuset;
const char *setupmenu_str;
char buf[3];
int j;
for (j=0; j<MAX_PAGE_ITEM; j++)
{
sel=setup_sel[page][j];
id = setup_item[page][j][sel];
if(page==VIDEOPAGE) //LINRC ADD 2004-5-6 0:56 for show the video setup
{
menuset = SETUP_BRIGHTNESS - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 3,buf, S16WHITEFONT, 1);
#ifdef PULIANG_SETUP_MENU //yaowh add 04-12-15
menuset = SETUP_HUE - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 4,buf, S16WHITEFONT, 1);
menuset = SETUP_CONTRAST - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 5,buf, S16WHITEFONT, 1);
#else
menuset = SETUP_CONTRAST - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 4,buf, S16WHITEFONT, 1);
menuset = SETUP_HUE - 8;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 5,buf, S16WHITEFONT, 1);
menuset = SETUP_SATURATION - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 6,buf, S16WHITEFONT, 1);
#endif
}
else
{
setupmenu_str = setup_SetItemString();
osd_DrawString(SETUP_SUB_XSTART+1, j+3, setupmenu_str, S16WHITEFONT, 1);
#ifdef HANYANG_SETUPMENU
if(page==AUDPAGE)
{
menuset = SETUP_AC3DIGITAL_DYNA - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 6,buf, S16WHITEFONT, 1);
}
#else
if(page==AC3DIGITALPAGE)
{
menuset = SETUP_AC3DIGITAL_DYNA - 2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, 4,buf, S16WHITEFONT, 1);
}
#endif
}
}
}
#else//#ifndef DVD_SETUP_REENG //denghg add 2004-9-28 20:29
static inline void show_setupmenu(void)
{
if (full_scrn&CUSTM) //denghg 2004-9-27 21:05
return;
int j,VA,k,menuset;
const char *setupmenu_str;
char buf[3];
for(j=1; j<=MAX_PAGE_ITEM; j++)
{
VA = setup_item[setup_pos[SETUP_ML1]][j][MAX_ITEM_SEL+1];
k=setup_item[setup_pos[SETUP_ML1]][j][setup_VA[VA]];
if((setup_item[setup_pos[SETUP_ML1]][j][0]==SET_SH)||(setup_item[setup_pos[SETUP_ML1]][j][0]==SET_SPACE)||(setup_item[setup_pos[SETUP_ML1]][j][0]==SET_NM)||(setup_item[setup_pos[SETUP_ML1]][j][0]==SET_NE)) {}
else if(setup_item[setup_pos[SETUP_ML1]][j][0]==SET_FUNC)
{
if(VA==SETUP_VA_DEFAULT){}
else if((VA==SETUP_VA_OSD_LANG)||(VA==SETUP_VA_AUDIO_LANG)||(VA==SETUP_VA_SUBTITLE_LAN)||(VA==SETUP_VA_MENU_LANG))
{
if(k==STR_OS_OFF)
setupmenu_str = _OsdMessegeFont1[osd_font_mode][k];
else
setupmenu_str = lang_names[osd_font_mode][k];
osd_DrawString(SETUP_SUB_XSTART+1, j+2, setupmenu_str, setupFcolorIN, 0);
}
else
{
setupmenu_str= _OsdMessegeFont1[osd_font_mode][k] ;
osd_DrawString(SETUP_SUB_XSTART+1, j+2, setupmenu_str, setupFcolorIN, 0);
}
}
else //
{
//if((VA==SETUP_VA_BRIGHTNESS)||(VA==SETUP_VA_CONTRAST)||(VA==SETUP_VA_SATURATION)||(VA==SETUP_VA_DYNAMCRANGE)||(VA==SETUP_VA_CSPK_DELAY)||(VA==SETUP_VA_MIC_VOL)||(VA==SETUP_VA_ECHO))
if((VA==SETUP_VA_HUE)||(VA==SETUP_VA_KEY))
menuset=setup_VA[VA]-8;
else if(VA==SETUP_VA_SSPK_DELAY)
menuset=(setup_VA[VA]-2)*3;
else
menuset=setup_VA[VA]-2;
psprintf(buf,"%02d",menuset);
osd_DrawString(SETUP_SUB_XSTART+1, j+2,buf, setupFcolorIN, 0);
}
}
}
#endif//#ifndef DVD_SETUP_REENG //denghg end show_setupmenu in DVD_SETUP_REEN
#endif // end SHOW_SETUPMENU_SETUP
#include "setup_ui_ext_func.h"
#include "setup_ui_def.h"
//=============================================
//for setup re-engineering //added by JS 20040728
#ifdef DVD_SETUP_REENG
#include "setup_ui_util.c"
#include "setup_OSD_util.c"
#include "setup_show_page.c"
#include "setup_get_pos.c"
#include "setup_ui_input.c"
#else
#include "setup_ui_down.c"
#include "setup_ui_up.c"
#include "setup_ui_left.c"
#include "setup_ui_right.c"
#include "setup_ui_sel.c"
#endif
//==============================================
//#define SHOW_SYSTEM_CLOCK
//=============================================
//for DVD_SETUP_REENG //added by JS //20040728
#ifdef DVD_SETUP_REENG
void ShowSetupPage(BYTE refresh)
{
if(refresh){
setup_refresh = 1;
setup_ShowPageL1();
setup_ShowPageL2();
setup_ShowPageL3();
setup_refresh = 0;
} else {
osd_init_setup();
setup_mDir = SETUP_ENTER;
setup_GetPos(setup_mDir);
}
}
#else //==============================================
void ShowSetupPage(BYTE refresh)
{
int i;
BYTE fontColor, bgColor;
BYTE upDown;
const char *str;
#ifdef SETUP_COLOR_TYPE1 //wangfeng 2003-08-29 17:28
UINT16 line=SETUP_MAX_WIDTH*16;
#else
UINT16 line=SETUP_MAX_WIDTH*16-20;
#endif
#ifdef SHOW_SETUPMENU_SETUP //linrc add 2004-5-1 20:31
osd_draw_rect(300, 75, 250, 350, 1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -