📄 osd3.h
字号:
#ifndef SUPPORT_2_CHANNEL_ONLY // Brian1.05
,
{&StrAnalogOut, (PMENU_STRUCT)&_MenuAudioAnalogOut, 0x0, SETUP_AUDIO_ANALOG_OUT},
{&StrCenter, (PMENU_STRUCT)&_MenuAudioCenter, 0x0, SETUP_AUDIO_CENTER},
{&StrRear, (PMENU_STRUCT)&_MenuAudioRear, 0x0, SETUP_AUDIO_REAR},
{&StrSubwoofer, (PMENU_STRUCT)&_MenuAudioSubwoofer, 0x0, SETUP_AUDIO_SUBWOOFER}
#ifndef REMOVE_SETUP_SPEAKER_TEST
,
{&StrSpeakerTest, (PMENU_STRUCT)&_MenuAudioSpeakerTest, 0x0, SETUP_AUDIO_SPEAKER_TEST}
#endif
#endif
#ifndef NO_DNR_ITEM
,
{&StrDNR, (PMENU_STRUCT)&_MenuAudioDNR, 0x0, SETUP_AUDIO_DNR}
#endif
};
// Brian1.08, Audio menu with Pro Logic
MENU_STRUCT code _MenuAudio_With_Prologic[]={
{(PMULTI_STRING code *)_bEnableAudio, (struct tagMENU_STRUCT code *)SETUP_MENU_AUDIO_WITH_PROLOGIC, MENU_AUDIO_ITEMS_WITH_PROLOGIC, SETUP_AUDIO_BASE},
{(PMULTI_STRING code *)SETUP_MENU_ITEM_X, (struct tagMENU_STRUCT code *)SETUP_MENU_ITEM_Y, 3, SETUP_MENU_ITEM_W},
{&StrDigitalOut, (PMENU_STRUCT)&_MenuAudioDigitalOut, 0x0, SETUP_AUDIO_DIGITAL_OUT}
#ifndef SUPPORT_2_CHANNEL_ONLY // Brian1.05
,
{&StrAnalogOut, (PMENU_STRUCT)&_MenuAudioAnalogOut, 0x0, SETUP_AUDIO_ANALOG_OUT},
{&StrPrologic , (PMENU_STRUCT)&_MenuAudioPrologic, 0x0, SETUP_AUDIO_PROLOGIC},
{&StrCenter, (PMENU_STRUCT)&_MenuAudioCenter, 0x0, SETUP_AUDIO_CENTER},
{&StrRear, (PMENU_STRUCT)&_MenuAudioRear, 0x0, SETUP_AUDIO_REAR},
{&StrSubwoofer, (PMENU_STRUCT)&_MenuAudioSubwoofer, 0x0, SETUP_AUDIO_SUBWOOFER}
#ifndef REMOVE_SETUP_SPEAKER_TEST
,
{&StrSpeakerTest, (PMENU_STRUCT)&_MenuAudioSpeakerTest, 0x0, SETUP_AUDIO_SPEAKER_TEST}
#endif
#endif
#ifndef NO_DNR_ITEM
,
{&StrDNR, (PMENU_STRUCT)&_MenuAudioDNR, 0x0, SETUP_AUDIO_DNR}
#endif
};
MENU_STRUCT code _MenuCustomParentalControl[]={
{(PMULTI_STRING code *)&(__SetupInfo.wParentalCtl), (struct tagMENU_STRUCT code *)SETUP_MENU_CUSTOM_PARENTAL_CONTROL, 8, SETUP_CUSTOM_PC_LEVEL_BASE},
{(PMULTI_STRING code *)SETUP_MENU_VALUE_X, (struct tagMENU_STRUCT code *)SETUP_MENU_VALUE_Y, SETUP_MENU_VALUE_R, SETUP_MENU_VALUE_W},
{&StrLevel1, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_1},
{&StrLevel2, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_2},
{&StrLevel3, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_3},
{&StrLevel4, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_4},
{&StrLevel5, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_5},
{&StrLevel6, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_6},
{&StrLevel7, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_7},
{&StrLevel8, NULL, 0x01, SETUP_CUSTOM_PC_LEVEL_8}
};
MENU_STRUCT code _MenuCustomAngleMark[]={
{(PMULTI_STRING code *)&(__SetupInfo.bAngleMarkDisplay), (struct tagMENU_STRUCT code *)SETUP_MENU_CUSTOM_ANGLE_MARK, 2, SETUP_CUSTOM_ANGLE_MARK_BASE},
{(PMULTI_STRING code *)SETUP_MENU_VALUE_X, (struct tagMENU_STRUCT code *)SETUP_MENU_VALUE_Y, SETUP_MENU_VALUE_R, SETUP_MENU_VALUE_W},
{&StrOn, NULL, 0x01, SETUP_CUSTOM_ANGLE_MARK_ON},
{&StrOff, NULL, 0x01, SETUP_CUSTOM_ANGLE_MARK_OFF}
};
MENU_STRUCT code _MenuCustomDefaultValue[]={
{(PMULTI_STRING code *)NULL, (struct tagMENU_STRUCT code *)SETUP_MENU_CUSTOM_DEFAULT_VALUE, 1, SETUP_CUSTOM_DEFAULT_VALUE_BASE},
{(PMULTI_STRING code *)SETUP_MENU_VALUE_X, (struct tagMENU_STRUCT code *)SETUP_MENU_VALUE_Y, SETUP_MENU_VALUE_R, SETUP_MENU_VALUE_W},
{&StrRead, NULL, 0x01, SETUP_CUSTOM_DEFAULT_VALUE_READ}
};
BYTE _bEnableCustom[1];
MENU_STRUCT code _MenuCustom[]={
#ifndef NO_PARENT_CONTROL
{(PMULTI_STRING code *)_bEnableCustom, (struct tagMENU_STRUCT code *)SETUP_MENU_CUSTOM, 4, SETUP_CUSTOM_BASE},
#else
{(PMULTI_STRING code *)_bEnableCustom, (struct tagMENU_STRUCT code *)SETUP_MENU_CUSTOM, 3, SETUP_CUSTOM_BASE},
#endif
{(PMULTI_STRING code *)SETUP_MENU_ITEM_X, (struct tagMENU_STRUCT code *)SETUP_MENU_ITEM_Y, SETUP_MENU_ITEM_R, SETUP_MENU_ITEM_W},
#ifndef NO_PARENT_CONTROL
{&StrParental, (PMENU_STRUCT)&_MenuCustomParentalControl, 0x00, SETUP_CUSTOM_PARENTAL}, // need to verify password before pop-up submenu
#endif
{&StrChangePassword, NULL, 0x02, SETUP_CUSTOM_CHANGE_PASSWORD},
{&StrAngleMark, (PMENU_STRUCT)&_MenuCustomAngleMark, 0x0, SETUP_CUSTOM_ANGLE_MARK},
{&StrDeafultValue, (PMENU_STRUCT)&_MenuCustomDefaultValue, 0x0, SETUP_CUSTOM_DEFAULT_VALUE}
};
BYTE _bEnableMain[1];
MENU_STRUCT code _MenuMain[]={ // the main menu are all icons, the item text means
{(PMULTI_STRING code *)_bEnableMain, (struct tagMENU_STRUCT code *)SETUP_MENU_MAIN, 5, SETUP_MAIN_BASE},
{(PMULTI_STRING code *)SETUP_MENU_ROOT_X, (struct tagMENU_STRUCT code *)SETUP_MENU_ROOT_Y, SETUP_MENU_ROOT_R, SETUP_MENU_ROOT_W},
{&StrLanguageSetup, (PMENU_STRUCT)&_MenuLanguage, 0x10, SETUP_MAIN_LANGUAGE},
{&StrScreenSetup, (PMENU_STRUCT)&_MenuScreen, 0x10, SETUP_MAIN_SCREEN},
{&StrAudioSetup, (PMENU_STRUCT)&_MenuAudio, 0x10, SETUP_MAIN_AUDIO},
{&StrCustomSetup, (PMENU_STRUCT)&_MenuCustom, 0x10, SETUP_MAIN_CUSTOM},
{&StrExitSetup, NULL, 0x10, SETUP_MAIN_EXIT}
};
// Brian1.08, support runtime change menu for Audio Prologic
MENU_STRUCT code _MenuMain_With_Prologic[]={ // the main menu are all icons, the item text means
{(PMULTI_STRING code *)_bEnableMain, (struct tagMENU_STRUCT code *)SETUP_MENU_MAIN_WITH_PROLOGIC, 5, SETUP_MAIN_BASE},
{(PMULTI_STRING code *)SETUP_MENU_ROOT_X, (struct tagMENU_STRUCT code *)SETUP_MENU_ROOT_Y, SETUP_MENU_ROOT_R, SETUP_MENU_ROOT_W},
{&StrLanguageSetup, (PMENU_STRUCT)&_MenuLanguage, 0x10, SETUP_MAIN_LANGUAGE},
{&StrScreenSetup, (PMENU_STRUCT)&_MenuScreen, 0x10, SETUP_MAIN_SCREEN},
{&StrAudioSetup, (PMENU_STRUCT)&_MenuAudio_With_Prologic, 0x10, SETUP_MAIN_AUDIO},
{&StrCustomSetup, (PMENU_STRUCT)&_MenuCustom, 0x10, SETUP_MAIN_CUSTOM},
{&StrExitSetup, NULL, 0x10, SETUP_MAIN_EXIT}
};
// AV system part
// Level 1 menu location (x, y), width and height (how may row of text)
#define AVSYS_MENU_ITEM_X 104
#define AVSYS_MENU_ITEM_Y 90
#define AVSYS_MENU_ITEM_W 250
#define AVSYS_MENU_ITEM_R 5
// Menu for AV system: Equalizer
// since the AV system menu is mutual exclusive to Setup, so don't worry about duplicated Item ID
// I just use the define in chips.h
//jus for test
BYTE _bEQCheck=SOUND_EFFECT_STANDARD;
MENU_STRUCT code _MenuEqualizer[]={
{(PMULTI_STRING code *)&_bEQCheck, (struct tagMENU_STRUCT code *)AVSYS_MENU_EQ, 7, SOUND_EFFECT_MODE_BEGIN},
{(PMULTI_STRING code *)AVSYS_MENU_ITEM_X, (struct tagMENU_STRUCT code *)AVSYS_MENU_ITEM_Y, AVSYS_MENU_ITEM_R, AVSYS_MENU_ITEM_W},
{&StrStandard, NULL, 0x01, SOUND_EFFECT_STANDARD}, // need to verify password before pop-up submenu
{&StrClassical, NULL, 0x01, SOUND_EFFECT_CLASSICAL},
{&StrRock, NULL, 0x01, SOUND_EFFECT_ROCK},
{&StrJazz, NULL, 0x01, SOUND_EFFECT_JAZZ},
{&StrAcoustic, NULL, 0x01, SOUND_EFFECT_ACOUSTIC},
{&StrPop, NULL, 0x01, SOUND_EFFECT_POP},
{&StrCustom, NULL, 0x01, SOUND_EFFECT_USER_DEFINED}
};
// Menu for AV system Channel
MENU_STRUCT code _MenuChannel[]={
{(PMULTI_STRING code *)&(__SetupInfo.wParentalCtl), (struct tagMENU_STRUCT code *)AVSYS_MENU_EQ, 7, SOUND_EFFECT_MODE_BEGIN},
{(PMULTI_STRING code *)AVSYS_MENU_ITEM_X, (struct tagMENU_STRUCT code *)AVSYS_MENU_ITEM_Y, AVSYS_MENU_ITEM_R, AVSYS_MENU_ITEM_W},
{&StrStandard, NULL, 0x01, SOUND_EFFECT_STANDARD}, // need to verify password before pop-up submenu
{&StrClassical, NULL, 0x01, SOUND_EFFECT_CLASSICAL},
{&StrRock, NULL, 0x01, SOUND_EFFECT_ROCK},
{&StrJazz, NULL, 0x01, SOUND_EFFECT_JAZZ},
{&StrAcoustic, NULL, 0x01, SOUND_EFFECT_ACOUSTIC},
{&StrPop, NULL, 0x01, SOUND_EFFECT_POP},
{&StrCustom, NULL, 0x01, SOUND_EFFECT_USER_DEFINED}
};
// *** the sequence of _SetupMenuIndex[] must be exactly the same as MENU_ID
PMENU_STRUCT code _SetupMenuIndex[]=
{
(PMENU_STRUCT)&_MenuMain, //SETUP_MENU_MAIN
(PMENU_STRUCT)&_MenuMain_With_Prologic, //SETUP_MENU_MAIN_WITH_PROLOGIC // Brian1.08
(PMENU_STRUCT)&_MenuLanguage, //SETUP_MENU_LANGUAGE
(PMENU_STRUCT)&_MenuScreen, //SETUP_MENU_SCREEN
(PMENU_STRUCT)&_MenuAudio, //SETUP_MENU_AUDIO
(PMENU_STRUCT)&_MenuAudio_With_Prologic, //SETUP_MENU_AUDIO_WITH_PROLOGIC // Brian1.08
(PMENU_STRUCT)&_MenuCustom, //SETUP_MENU_CUSTOM
(PMENU_STRUCT)&_MenuLanguageOSD, //SETUP_MENU_LANGUAGE_OSD
(PMENU_STRUCT)&_MenuLanguageMenu, //SETUP_MENU_LANGUAGE_MENU
(PMENU_STRUCT)&_MenuLanguageAudio, //SETUP_MENU_LANGUAGE_AUDIO
(PMENU_STRUCT)&_MenuLanguageSP, //SETUP_MENU_LANGUAGE_SP
(PMENU_STRUCT)&_MenuScreenTVType, //SETUP_MENU_SCREEN_TV_TYPE
#ifndef NO_SCREEN_SAVER // Brian1.20
(PMENU_STRUCT)&_MenuScreenSaver, //SETUP_MENU_SCREEN_SAVER
#endif
(PMENU_STRUCT)&_MenuScreenTVSystem, //SETUP_MENU_SCREENTV_SYSTEM
(PMENU_STRUCT)&_MenuScreenVideoOutput,//SETUP_MENU_SCREEN_VIDEO_OUTPUT
(PMENU_STRUCT)&_MenuProgressiveScan, //SETUP_MENU_SCREEN_PROGRESSIVE_SCAN
(PMENU_STRUCT)&_MenuScreenBrightness, //SETUP_MENU_SCREEN_BRIGHTNESS
(PMENU_STRUCT)&_MenuScreenContrast, //SETUP_MENU_SCREEN_CONTRAST
#ifdef SUPPORT_ADJUST_CHROM_PHASE // Brian1.25
(PMENU_STRUCT)&_MenuScreenChromPhase, //SETUP_MENU_SCREEN_CONTRAST
#endif
(PMENU_STRUCT)&_MenuAudioDigitalOut, //SETUP_MENU_AUDIO_DIGITAL_OUT
(PMENU_STRUCT)&_MenuAudioAnalogOut, //SETUP_MENU_AUDIO_ANALOG_OUT
(PMENU_STRUCT)&_MenuAudioPrologic, //SETUP_MENU_AUDIO_PROLOGIC // Brian1.08
(PMENU_STRUCT)&_MenuAudioCenter, //SETUP_MENU_AUDIO_CENTER
(PMENU_STRUCT)&_MenuAudioRear, //SETUP_MENU_AUDIO_REAR
(PMENU_STRUCT)&_MenuAudioSubwoofer, //SETUP_MENU_AUDIO_SUBWOOFER
#ifndef REMOVE_SETUP_SPEAKER_TEST
(PMENU_STRUCT)&_MenuAudioSpeakerTest, //SETUP_MENU_AUDIO_SPEAKER_TEST
#endif
(PMENU_STRUCT)&_MenuAudioDNR, //SETUP_MENU_AUDIO_DNR
(PMENU_STRUCT)&_MenuCustomParentalControl, //SETUP_MENU_CUSTOM_PARENTAL_CONTROL
(PMENU_STRUCT)&_MenuCustomAngleMark, //SETUP_MENU_CUSTOM_ANGLE_MARK
(PMENU_STRUCT)&_MenuCustomDefaultValue, //SETUP_MENU_CUSTOM_DEFAULT_VALUE
// AV system
(PMENU_STRUCT)&_MenuEqualizer, //AVSYS_MENU_EQ
(PMENU_STRUCT)&_MenuChannel //AVSYS_MENU_CHANNEL
};
#else
extern BYTE __bCurrentMenuId; // replace _pCurrentMenu
extern WORD __wMENUCurrentItemId, __wMENUPrevItemId;
extern BYTE __bMENUCurrentLevel;
#ifdef SUPPORT_MENU_CURSOR_STAY_AT_VALUE_AFTER_ENTER
extern WORD __wMENUItemIdAfterEnter; // Brian1.08a, the Item ID after key Enter
#endif
extern BYTE _bMenuType;
extern WORD _wMENUTemp; // this extern is just for Enable/Disable Menu Item
extern BYTE _bMENUTemp, _bMENUTemp2; // this extern is just for Enable/Disable Menu Item
extern BYTE _bEnableLanguage[];
extern BYTE _bEnableScreen[];
extern BYTE _bEnableAudio[];
extern BYTE _bEnableCustom[];
extern BYTE _bEnableMain[];
#endif //#ifdef MENU_MAIN_FILE
extern void OSDMENU_Initial(void);
extern void OSDMENU_DisplayMenu(BYTE bMenuId, BYTE bItem, BYTE bLevel);
extern void OSDMENU_DrawCheckMark(BYTE bLocation, BYTE bColor, BYTE bCheck);
//extern void OSDMENU_DisplaySetupMenu(void);
extern void OSDMENU_MenuOperation(BYTE bKey);
extern void OSDMENU_SetMenuPalEntry(void);
extern void OSDSETUP_PasswordDlg(void);
extern void OSDSETUP_ChangePasswordDlg(void);
extern BYTE OSDSETUP_ChangePassword(BYTE bKey);
extern void OSDSETUP_ShowHelpText(BYTE bID);
extern void OSDMENU_SetItemEnable(void);
extern void OSDSETUP_LanguageCodeDlg(void);
extern BYTE OSDSETUP_InputLanguageCode(BYTE bKey);
extern void OSDSETUP_RedrawMenu(void);
//extern void OSDMENU_DisplayAVSysMenu(void);
extern void OSDMENU_DisplayTheMenu(void);
#endif // __OSD3_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -