📄 osd3.h
字号:
/************************************************************************** (C)Copyright Cheertek Inc. 2002-2003, D300, all right reserved. Product : WinAV Firmware Date : 2003.01.14 Author : Cheertek (D300 BrianCheng) Purpose : OSD module 3 The moudle provides (Setup) menu UI functions Sources : osd3.h/ osd3.c------------------------------------------------------------ Update Date : Name : Cheertek (D300 BrianCheng) Description : Item Source ---------------------------------------- ------------------- . ****************************************************************************/#ifndef __OSD3_H__#define __OSD3_H__#include "chips.h"// *** BE AWARE OF THIS// *** String Tool doesn't modify this. If the OSD language number is different ==>// *** Please modify it manually#if (SELL_DESTINATION == CHINA) #define OSD_LANGUAGE_NUMBER 2#elif (SELL_DESTINATION == TAIWAN) #define OSD_LANGUAGE_NUMBER 2#elif (SELL_DESTINATION == EUROPE)#ifdef SUPPORT_STB #define OSD_LANGUAGE_NUMBER 8#else #define OSD_LANGUAGE_NUMBER 8#endif //SUPPORT_STB#endif //(SELL_DESTINATION == EUROPE)// Brian1.24, this value will offset the entire Menu UI// *** Must not < -16, or some X-position will overflow, ex, DIALOG_INPUT_PASSWORD_OSD_X1#define MENU_GLOBAL_OFFSET_X SETUP_GLOBAL_OFFSET_X#define MENU_GLOBAL_OFFSET_Y SETUP_GLOBAL_OFFSET_Y#define OSDMENU_SET_ITEM_ENABLE(MENUID, ITEMID, ENABLE)\ {\ _bMENUTemp = MENUID;\ _wMENUTemp = ITEMID;\ _bMENUTemp2 = ENABLE;\ OSDMENU_SetItemEnable();\ }#define MENU_LEVEL 3 // How many level of menu.// *** the sequence of MENU_ID must be exactly the same as _SetupMenuIndex[] arraytypedef enum tagMENU_ID{ SETUP_MENU_MAIN=0, SETUP_MENU_MAIN_WITH_PROLOGIC, // Brian1.08, support runtime change menu for Audio Prologic SETUP_MENU_LANGUAGE, SETUP_MENU_SCREEN, SETUP_MENU_AUDIO, SETUP_MENU_AUDIO_WITH_PROLOGIC, // Brian1.08, support runtime change menu for Audio Prologic SETUP_MENU_CUSTOM, SETUP_MENU_LANGUAGE_OSD, SETUP_MENU_LANGUAGE_MENU, SETUP_MENU_LANGUAGE_AUDIO, SETUP_MENU_LANGUAGE_SP,/*#ifdef SUPPORT_CHAR_SUBPICTURE#ifndef NO_CHAR_SUBPICTURE_MENU SETUP_MENU_LANGUAGE_EX_SP,#endif#endif*///#ifdef SUPPORT_CHAR_ENCODING_SWITCH SETUP_MENU_LANGUAGE_ENCODING,//#endif SETUP_MENU_SCREEN_TV_TYPE,#ifndef NO_SCREEN_SAVER // Brian1.20 SETUP_MENU_SCREEN_SAVER,#endif SETUP_MENU_SCREENTV_SYSTEM,#ifndef SUPPORT_TFT SETUP_MENU_SCREEN_VIDEO_OUTPUT,#endif SETUP_MENU_SCREEN_PROGRESSIVE_SCAN,#ifndef SUPPORT_TFT SETUP_MENU_SCREEN_BRIGHTNESS, SETUP_MENU_SCREEN_CONTRAST,#endif#ifdef SUPPORT_ADJUST_CHROM_PHASE // Brian1.25 SETUP_MENU_SCREEN_CHROM_PHASE,#endif SETUP_MENU_AUDIO_DIGITAL_OUT, SETUP_MENU_AUDIO_ANALOG_OUT, SETUP_MENU_AUDIO_DOWNMIX, SETUP_MENU_AUDIO_PROLOGIC, // Brian1.08, support runtime change menu for Audio Prologic SETUP_MENU_AUDIO_CENTER, SETUP_MENU_AUDIO_REAR, SETUP_MENU_AUDIO_SUBWOOFER,#ifndef REMOVE_SETUP_SPEAKER_TEST SETUP_MENU_AUDIO_SPEAKER_TEST,#endif SETUP_MENU_AUDIO_DNR, SETUP_MENU_CUSTOM_PARENTAL_CONTROL,#ifndef REMOVE_UI_SETTING SETUP_MENU_CUSTOM_UI_STYLE,#endif#if defined(SUPPORT_DVD_SMRTPB) && defined(SUPPORT_DVD_SMRTPB_SETUP) SETUP_MENU_CUSTOM_SMART_PLAY,#endif SETUP_MENU_CUSTOM_ANGLE_MARK, SETUP_MENU_CUSTOM_DEFAULT_VALUE, // AV system AVSYS_MENU_EQ, AVSYS_MENU_CHANNEL} MENU_ID;#define SETUP_OLD_PASSWORD 1#define SETUP_NEW_PASSWORD 2#define SETUP_VERIFY_PASSWORD 3//#include "multistr.h"/*Alan2.13, move from osd3.h to multistr.h // The multiple language string structure for menu item stringtypedef struct tagMULTI_STRING{ WORD * pbStr[OSD_LANGUAGE_NUMBER];} MULTI_STRING, *PMULTI_STRING;*/// The menu structuretypedef struct tagMENU_STRUCT{ WORD *pbItemText; struct tagMENU_STRUCT *pSubMenu; BYTE bAttribute; // bit0~2: 0:item, 1:value, 2:..., 3: --, bit4: 0:string, 1:icon BYTE Id;} MENU_STRUCT, *PMENU_STRUCT;#ifdef MENU_DECLARATION #include "OSDString\\strextrn.h"// Brian1.08a#ifdef SUPPORT_SETUP_HORIZONTAL_ICON_MENU// UI layout for horizontal icon menu// Level 0 menu location and width #define SETUP_MENU_ROOT_X (36+MENU_GLOBAL_OFFSET_X) //#define SETUP_MENU_ROOT_Y (MENU_GLOBAL_OFFSET_Y + 53) #define SETUP_MENU_ROOT_Y (MENU_GLOBAL_OFFSET_Y + 46) #define SETUP_MENU_ROOT_W (60+4) // each icon is 60 pixel wide plus 2*2 pixel border#define SETUP_MENU_ROOT_R 5 // can display x icons in the list// Level 1 menu location (x, y), width and height (how may row of text)#define SETUP_MENU_ITEM_X (22+MENU_GLOBAL_OFFSET_X) // Brian1.24#define SETUP_MENU_ITEM_Y 120//135//90#define SETUP_MENU_ITEM_W 255#define SETUP_MENU_ITEM_R 4// Level 2 menu location (x, y), width and height (how may row of text)#define SETUP_MENU_VALUE_X (328+MENU_GLOBAL_OFFSET_X) // Brian1.24#define SETUP_MENU_VALUE_Y 120//135#define SETUP_MENU_VALUE_W 240#define SETUP_MENU_VALUE_R 5#else// UI layout for vertical icon menu// Level 0 menu location and width #define SETUP_MENU_ROOT_X (12+MENU_GLOBAL_OFFSET_X) #define SETUP_MENU_ROOT_Y (MENU_GLOBAL_OFFSET_Y + 72) #ifdef REMOVE_SETUP_ICON //xuli1118#define SETUP_MENU_ROOT_W (60+8) // let frame a little bit wider than text#else#define SETUP_MENU_ROOT_W (60+4) // each icon is 60 pixel wide plus 2*2 pixel border#endif#define SETUP_MENU_ROOT_R 5 // can display x icons in the list// Level 1 menu location (x, y), width and height (how may row of text)#define SETUP_MENU_ITEM_X (95+MENU_GLOBAL_OFFSET_X) // Brian1.24#define SETUP_MENU_ITEM_Y (MENU_GLOBAL_OFFSET_Y + 72) #define SETUP_MENU_ITEM_W 255#define SETUP_MENU_ITEM_R 4 // Level 2 menu location (x, y), width and height (how may row of text)#define SETUP_MENU_VALUE_X (365+MENU_GLOBAL_OFFSET_X) // Brian1.24#define SETUP_MENU_VALUE_Y (MENU_GLOBAL_OFFSET_Y + 72) #define SETUP_MENU_VALUE_W 240#define SETUP_MENU_VALUE_R 5#endif// bAttribute: bit 0~1#define IS_ITEM 0 // the item is an "item", #define IS_VALUE 1 // the item is a "value"#define IS_DIALOG 2 // the item is a "..."#define IS_LINE 3 // the item is a seperate line// Declare the menu hierachyMENU_STRUCT _MenuLanguageOSD[]={#if (OSD_LANGUAGE_GROUP == CHINA_AREA_OSD)#if (CHINESE_OSD_MODE == SIMPLE_CHINESE) {(WORD *)(&(__SetupInfo.bOSDLanguage)), (struct tagMENU_STRUCT *)SETUP_MENU_LANGUAGE_OSD, 2, SETUP_LANGUAGE_OSD_BASE}, {(WORD *)SETUP_MENU_VALUE_X, (struct tagMENU_STRUCT *)SETUP_MENU_VALUE_Y, SETUP_MENU_VALUE_R, SETUP_MENU_VALUE_W},#ifdef OSD_ITEM_TEXT_SAME_AS_LANGUAGE {aMsgOSDEnglish, NULL, 0x01, SETUP_LANGUAGE_OSD_ENGLISH}, {aMsgOSDChinese, NULL, 0x01, SETUP_LANGUAGE_OSD_SIMP_CHINESE}#else {aMsgEnglish, NULL, 0x01, SETUP_LANGUAGE_OSD_ENGLISH}, {aMsgChinese, NULL, 0x01, SETUP_LANGUAGE_OSD_SIMP_CHINESE}#endif //#ifdef OSD_ITEM_TEXT_SAME_AS_LANGUAGE };#elif (CHINESE_OSD_MODE == TRADITIONAL_CHINESE) {(WORD *)(&(__SetupInfo.bOSDLanguage)), (struct tagMENU_STRUCT *)SETUP_MENU_LANGUAGE_OSD, 2, SETUP_LANGUAGE_OSD_BASE}, {(WORD *)SETUP_MENU_VALUE_X, (struct tagMENU_STRUCT *)SETUP_MENU_VALUE_Y, SETUP_MENU_VALUE_R, SETUP_MENU_VALUE_W},#ifdef OSD_ITEM_TEXT_SAME_AS_LANGUAGE {aMsgOSDEnglish, NULL, 0x01, SETUP_LANGUAGE_OSD_ENGLISH}, {aMsgOSDChinese, NULL, 0x01, SETUP_LANGUAGE_OSD_TRAD_CHINESE}#else {aMsgEnglish, NULL, 0x01, SETUP_LANGUAGE_OSD_ENGLISH}, {aMsgChinese, NULL, 0x01, SETUP_LANGUAGE_OSD_TRAD_CHINESE}#endif //#ifdef OSD_ITEM_TEXT_SAME_AS_LANGUAGE };#endif //#elif (CHINESE_OSD_MODE == TRADITIONAL_CHINESE)#elif (OSD_LANGUAGE_GROUP == EUROPE_AREA_OSD) {(WORD *)(&(__SetupInfo.bOSDLanguage)), (struct tagMENU_STRUCT *)SETUP_MENU_LANGUAGE_OSD, OSD_LANGUAGE_NUMBER, SETUP_LANGUAGE_OSD_BASE}, {(WORD *)SETUP_MENU_VALUE_X, (struct tagMENU_STRUCT *)SETUP_MENU_VALUE_Y, SETUP_MENU_VALUE_R, SETUP_MENU_VALUE_W},#ifdef OSD_ITEM_TEXT_SAME_AS_LANGUAGE {aMsgOSDEnglish, NULL, 0x01, SETUP_LANGUAGE_OSD_ENGLISH}, {aMsgOSDFrench, NULL, 0x01, SETUP_LANGUAGE_OSD_FRENCH}, {aMsgOSDGerman, NULL, 0x01, SETUP_LANGUAGE_OSD_GERMAN}, {aMsgOSDItalian, NULL, 0x01, SETUP_LANGUAGE_OSD_ITALIAN}, {aMsgOSDSpanish, NULL, 0x01, SETUP_LANGUAGE_OSD_SPANISH}, {aMsgOSDPortuguese,NULL, 0x01, SETUP_LANGUAGE_OSD_PORTUGUESE}, {aMsgOSDDutch, NULL, 0x01, SETUP_LANGUAGE_OSD_DUTCH}, {aMsgOSDPolish, NULL, 0x01, SETUP_LANGUAGE_OSD_POLISH}, /* {aMsgCzech, NULL, 0x01, SETUP_LANGUAGE_OSD_CZECH}, {aMsgRussian, NULL, 0x01, SETUP_LANGUAGE_OSD_RUSSIAN}, {aMsgGreece, NULL, 0x01, SETUP_LANGUAGE_OSD_GREECE}, {aMsgTurkey, NULL, 0x01, SETUP_LANGUAGE_OSD_TURKEY} */#else //#ifdef OSD_ITEM_TEXT_SAME_AS_LANGUAGE {aMsgEnglish, NULL, 0x01, SETUP_LANGUAGE_OSD_ENGLISH}, {aMsgFrench, NULL, 0x01, SETUP_LANGUAGE_OSD_FRENCH}, {aMsgGerman, NULL, 0x01, SETUP_LANGUAGE_OSD_GERMAN}, {aMsgItalian, NULL, 0x01, SETUP_LANGUAGE_OSD_ITALIAN}, {aMsgSpanish, NULL, 0x01, SETUP_LANGUAGE_OSD_SPANISH}, {aMsgPortuguese,NULL, 0x01, SETUP_LANGUAGE_OSD_PORTUGUESE}, {aMsgDutch, NULL, 0x01, SETUP_LANGUAGE_OSD_DUTCH}, {aMsgPolish, NULL, 0x01, SETUP_LANGUAGE_OSD_POLISH}, /* {aMsgCzech, NULL, 0x01, SETUP_LANGUAGE_OSD_CZECH}, {aMsgRussian, NULL, 0x01, SETUP_LANGUAGE_OSD_RUSSIAN}, {aMsgGreece, NULL, 0x01, SETUP_LANGUAGE_OSD_GREECE},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -