⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osd3.h

📁 ct952 source code use for Digital Frame Photo
💻 H
📖 第 1 页 / 共 4 页
字号:
/**************************************************************************        (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 + -