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

📄 osd.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
📖 第 1 页 / 共 3 页
字号:
#define MSG_SHOWDISPLAY     (UPPER_MSG_BASE+ 50)

// DVD.036, add two message for title/chapte selection function
//alex1.22a,20040204 combine gototime , search,bookmark
//Combine MSG_Search/MSG_GoToTime
/**********************************************************************/
//#define MSG_SETSEARCH       (UPPER_MSG_BASE+ 50)
//#define MSG_SEARCH          (UPPER_MSG_BASE+ 51)
#define MSG_SETSEARCH       MSG_SETGOTOTIME
#define MSG_SEARCH          MSG_GOTOTIME
/**********************************************************************/
//DVD_039-1
#define MSG_TITLE_TIME              (UPPER_MSG_BASE+ 52)
#define MSG_REMAIN_TITLE_TIME       (UPPER_MSG_BASE+ 53)
#define MSG_CHAPTER_TIME            (UPPER_MSG_BASE+ 54)
#define MSG_REMAIN_CHAPTER_TIME     (UPPER_MSG_BASE+ 55)
// LLY.101-2
#define MSG_STRING                  (UPPER_MSG_BASE+ 56)
#define MSG_VIDEO_OUTPUT            (UPPER_MSG_BASE+ 57)
#define MSG_ERRCODE                 (UPPER_MSG_BASE+ 58)
// LLY.161-4, add new message for abnormal disc
// Ex. Encrypt CVD/ Error Region Code DVD/ CDROM disc/ Scratched disc
#define MSG_ABNORMAL_DISC           (UPPER_MSG_BASE+ 59)

//CoCo.jpeg
#define MSG_THUMBNAIL_PAGE          (UPPER_MSG_BASE+ 60)

// LLY.274p-2, add rotate/ flip message for JPEG title
#define MSG_ROTATE                  (UPPER_MSG_BASE+ 61)
#define MSG_FLIP                    (UPPER_MSG_BASE+ 62)
#define MSG_JPEG_EFFECT             (UPPER_MSG_BASE+ 63)
// LLY2.78b-3, support "Program Play" message
#define MSG_PROGRAM_PLAY            (UPPER_MSG_BASE+ 64)

#define MSG_DECODE_ERROR            (UPPER_MSG_BASE+ 65) //CoCo2.32, add this message to show the count of decode error

// LLY.049-1, in CENTRAL_OSD mode, following message display in UPPER1 corner
#ifdef CENTRAL_OSD
#define MSG_SPST_CTL                (UPPER_MSG_BASE+ 66)
#define MSG_AST_CTL                 (UPPER_MSG_BASE+ 67)  // LLY.099b-1
#define MSG_AUDIO_OUTPUT_CTL        (UPPER_MSG_BASE+ 68)
#endif  // #ifdef CENTRAL_OSD
// Notice: The last message can't exceed (UPPER_MSG_BASE+69)

// (MSG_OSD_BASE+ 70)==(UPPER_MSG_BASE+69), because (MSG_OSD_BASE+1)==(UPPER_MSG_BASE)
#define UPPER_MSG_END       (MSG_OSD_BASE+ 70)  // index 70
// ------------------------------------------------------------------

// [2] Center Corner Messages
#define CENTER_MSG_BASE     UPPER_MSG_END   // index 70
#define MSG_CLEARPROGRAM    (CENTER_MSG_BASE+0)     //MSG_OSD_BASE+ 70
#define MSG_PROGRAM         (CENTER_MSG_BASE+1)     //MSG_OSD_BASE+ 71
#define MSG_SETPROGRAM      (CENTER_MSG_BASE+2)     //MSG_OSD_BASE+ 72
#define MSG_ENTER           (CENTER_MSG_BASE+3)     //MSG_OSD_BASE+ 73
#define MSG_BOOKMARK        (CENTER_MSG_BASE+4)     //MSG_OSD_BASE+ 74
// LLY.172p, add for auto-upgrade usage
#define MSG_AUTOUPGRADE     (CENTER_MSG_BASE+5)     //MSG_OSD_BASE+ 75
#define CENTER_MSG_END      (MSG_OSD_BASE+ 80)
// ------------------------------------------------------------------

// [3] Bottom Corner Messages, if CENTRAL_OSD mode, it means UPPER2 message
#define BOTTOM_MSG_BASE     CENTER_MSG_END  // index 80
#define MSG_AUDIO           (BOTTOM_MSG_BASE+0)         //MSG_OSD_BASE+ 80
#define MSG_VOLUME          (BOTTOM_MSG_BASE+1)         //MSG_OSD_BASE+ 81
#define MSG_MUTE            (BOTTOM_MSG_BASE+2)         //MSG_OSD_BASE+ 82
// Brian1.00
// MSG_KEYUP, MSG_KEYDOWN and MSG_KEY_NORMAL is replaced by MSG_KEY
#define MSG_KEY             (BOTTOM_MSG_BASE+3)         //MSG_OSD_BASE+ 83
#define MSG_KEY_DUMMY1      (BOTTOM_MSG_BASE+4)         //MSG_OSD_BASE+ 84
#define MSG_KEY_DUMMY2      (BOTTOM_MSG_BASE+5)         //MSG_OSD_BASE+ 85
//#define MSG_KEYUP           (BOTTOM_MSG_BASE+3)         //MSG_OSD_BASE+ 83
//#define MSG_KEYDOWN         (BOTTOM_MSG_BASE+4)         //MSG_OSD_BASE+ 84
//#define MSG_KEYNORMAL       (BOTTOM_MSG_BASE+5)         //MSG_OSD_BASE+ 85
#define MSG_ECHO            (BOTTOM_MSG_BASE+6)         //MSG_OSD_BASE+ 86
#define MSG_SURROUND        (BOTTOM_MSG_BASE+7)         //MSG_OSD_BASE+ 87
#define MSG_3D              (BOTTOM_MSG_BASE+8)         //MSG_OSD_BASE+ 88
#define MSG_ANGLE_CTL       (BOTTOM_MSG_BASE+9)         //MSG_OSD_BASE+ 89
// LLY.278, add for sound effect message
// Notice: SOUND_EFFECT may contain Surround/ Equalize !!
#define MSG_SOUND_EFFECT    (BOTTOM_MSG_BASE+10)        //MSG_OSD_BASE+ 90

// LLY.049-1, in non-CENTRAL_OSD mode, following message display in LB corner
#ifndef CENTRAL_OSD
#define MSG_SPST_CTL                (BOTTOM_MSG_BASE+17)      //MSG_OSD_BASE+ 97
#define MSG_AUDIO_LANGUAGE_CTL      (BOTTOM_MSG_BASE+18)      //MSG_OSD_BASE+ 98
#define MSG_AST_CTL                 (MSG_AUDIO_LANGUAGE_CTL)  //MSG_OSD_BASE+ 98
#define MSG_AUDIO_OUTPUT_CTL        (BOTTOM_MSG_BASE+19)      //MSG_OSD_BASE+ 99
#endif  // #ifndef CENTRAL_OSD

#define BOTTOM_MSG_END      (MSG_OSD_BASE+ 100)
// ------------------------------------------------------------------

// [4] Other Messages, which may don't display MSG
// Other Messages that don't belong to upper/center/bottom corner
#define OTHER_MSG_BASE      BOTTOM_MSG_END      // index 100
#define MSG_STOPWAIT        (OTHER_MSG_BASE+0)          //MSG_OSD_BASE+ 100
#define MSG_PLAYLIST        (OTHER_MSG_BASE+1)          //MSG_OSD_BASE+ 101
#define MSG_LOGO            (OTHER_MSG_BASE+2)          //MSG_OSD_BASE+ 102
#define MSG_DIGESTNUMBER    (OTHER_MSG_BASE+3)          //MSG_OSD_BASE+ 103
#define MSG_MOTION          (OTHER_MSG_BASE+4)          //MSG_OSD_BASE+ 104
#define MSG_POWER           (OTHER_MSG_BASE+5)          //MSG_OSD_BASE+ 105
#define MSG_OSDRECOVER      (OTHER_MSG_BASE+6)          //MSG_OSD_BASE+ 106
#define MSG_IGNORENEXT      (OTHER_MSG_BASE+7)          //MSG_OSD_BASE+ 107
//#define MSG_FORCEDISPLAY    (OTHER_MSG_BASE+8)          //MSG_OSD_BASE+ 108
#define MSG_DISCSTATUS      (OTHER_MSG_BASE+9)          //MSG_OSD_BASE+ 109
#define MSG_CDROM_DECODE    (OTHER_MSG_BASE+10)         //MSG_OSD_BASE+ 110
#define MSG_TOTALTRACKS     (OTHER_MSG_BASE+11)         //MSG_OSD_BASE+ 111
// LLY.160, merger MSG_SCR and MSG_OSDGAME into MSG_OSDAPP
#define MSG_OSDAPP          (OTHER_MSG_BASE+12)         //MSG_OSD_BASE+ 112

// Messages that are not used in OSD module (only used in PANEL module)
#define MSG_PALTITLE        (OTHER_MSG_BASE+13)         //MSG_OSD_BASE+ 113

// *TCH** 97.6.30; Please be continue NO.
#define MSG_LED1            (OTHER_MSG_BASE+14)         //MSG_OSD_BASE+ 114
#define MSG_LED2            (OTHER_MSG_BASE+15)         //MSG_OSD_BASE+ 115
#define MSG_LED3            (OTHER_MSG_BASE+16)         //MSG_OSD_BASE+ 116
#define MSG_LED4            (OTHER_MSG_BASE+17)         //MSG_OSD_BASE+ 117

// ** TCH0.361; begin...
#define MSG_UPDATE          (OTHER_MSG_BASE+18)         //MSG_OSD_BASE+ 118

// Brian0.84-2nd, sue for  FM, Thumbnail, ... to inform OSD module when enter/exit their UI
#define MSG_GUI             (OTHER_MSG_BASE+19)         //MSG_OSD_BASE+ 119
#define MSG_FOLDER          (OTHER_MSG_BASE+20)         //MSG_OSD_BASE+ 120
#define MSG_PSCAN           (OTHER_MSG_BASE+21)         //MSG_OSD_BASE+ 121
#define MSG_STATUS          (OTHER_MSG_BASE+22)         //MSG_OSD_BASE+ 122  // Brian0.90
#ifndef SHOW_POWERON_BAR // Xuli1.05
#define OTHER_MSG_END       (MSG_OSD_BASE+ 123)
#else
#define MSG_PWRON_BAR     (OTHER_MSG_BASE+23)         //MSG_OSD_BASE+ 123  
#define OTHER_MSG_END       (MSG_OSD_BASE+ 124)
#endif //#ifndef SHOW_POWERON_BAR
// ------------------------------------------------------------------

// [5] Display Corner Messages
#define DISP_MSG_BASE       OTHER_MSG_END
#define MSG_DISPLAY         (DISP_MSG_BASE+ 0)       //MSG_OSD_BASE+ 123
//#define MSG_DISCTYPE        (DISP_MSG_BASE+ 1)       //MSG_OSD_BASE+ 124
#define DISP_MSG_END        (MSG_OSD_BASE+ 130)
// ------------------------------------------------------------------

// [6] MP3 Menu Message
// LLY.049, add and rename some message for MP3 selection and active highlight
// LLY.045, pull-up MP3 relative message than Setup relative message
#define MP3_MSG_BASE            DISP_MSG_END
#define MSG_MP3_MENU            (MP3_MSG_BASE+ 0)    // MSG_OSD_BASE+ 130
#define MSG_MP3_ACTIVE          (MP3_MSG_BASE+ 1)    // MSG_OSD_BASE+ 131
#define MSG_MP3_XACTIVE         (MP3_MSG_BASE+ 2)    // MSG_OSD_BASE+ 132
#define MSG_MP3_SELECT          (MP3_MSG_BASE+ 3)    // MSG_OSD_BASE+ 133
#define MSG_MP3_XSELECT         (MP3_MSG_BASE+ 4)    // MSG_OSD_BASE+ 134
#define MP3_MSG_END             (MSG_OSD_BASE+ 140)
// ------------------------------------------------------------------

// define max OSD message number for check -- aMsgChk[]
// because it's unnecessary to check Setup menu part message
#define MAX_MSGNO_FOR_CHECK     (MP3_MSG_END)

// [7] Setup Menu Message
#define SETUP_MSG_BASE                      MP3_MSG_END
#define SETUP_MSG_END                       (MSG_SETUP_MAIN_BASE+1) //(MSG_OSD_BASE+ 200)

//CoCo.052
//Message definitions for MAIN menu:
#define MSG_SETUP_MAIN_BASE                 SETUP_MSG_BASE

/////////////////////////////////////////////////////////
// *******  Extern variable Area *************
// Notice: Put in last area is better, because some item must refer constant define
// [1] the boundary for screen saver mode -- LLY.043
extern WORD    __wMinSCRX;     // left boundary
extern WORD    __wMinSCRY;     // top boundary
extern WORD    __wMaxSCRX;     // right boundary
extern WORD    __wMaxSCRY;     // bottom boundary
extern BYTE    _bRegMaxChar;   // keep max char number within one region
extern BYTE    _bSpace_1stOSD; // keep the space from to 1st OSD
extern BYTE    _bSpace_LastOSD;  // keep the space from last OSD to CHARNUM
extern WORD    _wRegStartPxl;  // keep the start pixel for active region
extern WORD    _wRegEndPxl;  // keep the end pixel for each region
extern BYTE    __bMsgString[MAXNO_OF_MSG_STRING+1]; // for MSG_STRING usage
extern STATUS  gcShowStatus;        // ** TCH2.37; 


// [3] The accessing index to fill (CHAR_INDEX | FONT_INDEX) -- LLY.172r
#ifdef  USE_LITTLE_ENDIAN
extern BYTE aFontArrayIdx[CHARNUM];
#endif  // #ifdef USE_LITTLE_ENDIAN

// [4] Keep LOGO format -- LLY.276p
extern  BYTE    __bLOGO;
#define LOGO_NONE       0
#define LOGO_DEFAULT    1
#define LOGO_JPEG       2
#define LOGO_CDG        3   //LJY1.10, for CDG

// LLY2.80, use "bit[7]" to check if the LOGO cause from OPEN/CLOSE action
#define LOGO_FROM_OPEN  0x80

////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////
// function prototype
void    OSD_Initial(void);
void    OSD_LoadOSDLanguage(BYTE bLangType);  // LLY.100
void    OSD_Output(BYTE bMessage, WORD wParam, BYTE bSeconds);
void    OSD_SetPosition(int row, int column);
void    OSD_Trigger(WORD wTime);
void    OSD_ShowBitmap(BYTE bSCRMode); // LLY.043
void    OSD_SetSCR_Position(void); // brian.155
void    OSD_FillHeadtoDRAM(BYTE bStage);    // LLY.101

// Brian0.91, trigger function for those OSD operation that need to be partitioned into stages
void    OSD_StageTrigger(void);

void    OSD_RecoverOSD(void);       // Brian1.25
void    OSD_LoadFontTable(void);    // Brian1.25, always call this to load font table

// Alan2.36, always call this to load local font table
#ifdef SUPPORT_UNICODE
#define FONTABLE_ADDR 0x180000L
extern void    OSD_LoadLocalFontTable(void);
extern void    OSD_LoadLocalFontTable0(DWORD dwAddr, WORD wSize);
extern void    OSD_LoadLocalFontTable1(DWORD dwAddr, WORD wSize);
/*
extern void    OSD_LoadLocalFontTable2(DWORD dwAddr, WORD wSize);
extern void    OSD_LoadLocalFontTable3(DWORD dwAddr, WORD wSize);
extern void    OSD_LoadLocalFontTable4(DWORD dwAddr, WORD wSize);
extern void    OSD_LoadLocalFontTable5(DWORD dwAddr, WORD wSize);
extern void    OSD_LoadLocalFontTable6(DWORD dwAddr, WORD wSize);
*/
#endif

#ifdef SUPPORT_FONT_TABLE_CHECKSUM  // Brian1.25
extern WORD __wFontableChecksum;
extern WORD OSD_FontableChecksum(void);
#endif


/////////////////////////////////////////////////////////
// penal relative function prototyep
void    PANEL_Initial(void);
void    PANEL_Output(BYTE bMessage, WORD wParam);
void    PANEL_Trigger(WORD wTime);

///////////////////////////////////////////////////////////
// protect function: internal function
// while will be used for OSD relative module
void    _OSD_FillFontTabletoDRAM(DWORD dwAddr, BYTE* pbArray); // LLY.047
void    _OSD_PushMessage(BYTE bMessage, WORD wParam, BYTE bSec, BYTE bCorner);
void    _OSD_SwitchOSDLanguage(BYTE bOSDLanguage); 
BYTE    _OSD_LoadCommonFontTable(BYTE bTable); // LLY.171-4
void    _OSD_LoadFontTable(BYTE bFontType);   // LLY.100
void    _OSD_PreInitial(BYTE bFontType);  // LLY.100
void _OSD_SetNormalOSDRegion(void); //CoCo.230, set the normal OSD region.
// Brian2.39
void OSD_AdjustOSDPos(void);
void OSD_ShowHighlight (BYTE bShow);	// Brian2.39a-2


// [5] The depth for each corner's message stack -- LLY.172r
#define MAX_DEPTH_OF_MSG_STACK      4

// for VP
#define MSG_INITIAL             0
#define MSG_CLEAR               100
#define MSG_INITIAL_PALETTE     101
#define MSG_DEFAULT_STATE       102
#define MSG_CLEAR_ALL           103
#ifdef SHOW_6_DISPLAY_MODE
#define MSG_DIS_OFF             104 //wendy
#define MSG_DISC                105//wendy
#define MSG_ELAPSETIME          106//wendy
#define MSG_REMAINTIME          107//wendy
#endif
#define CHAR_UNKNOW         CHAR_DASH



//void _OSD_ClearNUStackMessage(BYTE bMessage)
void _OSD_RecoverUI(BYTE bMessage);
void _OSD_OutputProcess(BYTE bMessage, WORD wParam, BYTE bSec);

#define OSD_OUTPUT_PROCESS_MACRO(mbMessage, mwParam, mbSec)\
{\
    _OSD_OutputProcess(mbMessage, mwParam, mbSec);\
    PANEL_Output(mbMessage, mwParam);\
}

#define OSD_UI_NONE			0
#define OSD_UI_DISPLAY		1
#define OSD_UI_FM			2
#define OSD_UI_CDDA			3
#define OSD_UI_SETUP		4
#define OSD_UI_THUMBNAIL	5
#define OSD_UI_PROGRAM_LIST	6
#define OSD_UI_SEARCH       7
#define OSD_UI_DVD_PROGRAM  8
#define OSD_UI_DIGEST       9   // Brian1.00
#define OSD_UI_NUM			(OSD_UI_DIGEST+1)

// Brian1.00
#define VOL_DISPLAYED      1
#define KEY_DISPLAYED      2
#define ECHO_DISPLAYED     4


typedef struct
{
    BYTE    bMessage;
    WORD    wParam;
    BYTE    bSec;
}   OSDMESSAGE;


extern BYTE _bCurrentUI;


#ifdef __cplusplus
   }
#endif  // #ifdef __cplusplus



#endif  //__OSD_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -