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

📄 osdfm.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
📖 第 1 页 / 共 3 页
字号:
//define the width and distance for highlight in file window
#define OSDPL_HIGHLIGHT_WIDTH                           216
#define OSDPL_HIGHLIGHT_DISTANCE_H                      4
#define OSDPL_HIGHLIGHT_DISTANCE_V                      1

//define the distance between the frame and the button (vertical)
#define OSDPL_FRAME_BUTTON_DISTANCE_V                   8

//define the distance between the frame and the button (horizontal)
#define OSDPL_FRAME_BUTTON_DISTANCE_H                   20

//define the position of the button
#define OSDPL_BUTTON_START_H                            (OSDPL_DISPLAY_BIG_FRAME_H+OSDPL_FRAME_BUTTON_DISTANCE_H)
#define OSDPL_BUTTON_START_V                            (OSDPL_DISPLAY_BIG_FRAME_V+OSDPL_DISPLAY_BIG_FRAME_HEIGHT+OSDPL_FRAME_BUTTON_DISTANCE_V)

//define the distance of each button
#define OSDPL_BUTTON_DISTANCE                           20

//define the distance between the button and the help string
#define OSDPL_BUTTON_HELP_DISTANCE                      8

//define the position of the help
#define OSDPL_DISPLAY_HELP_STRING_START_H               OSDPL_DISPLAY_BIG_FRAME_H
#define OSDPL_DISPLAY_HELP_STRING_START_V               (OSDPL_BUTTON_START_V+OSDPL_BUTTON_HEIGHT+OSDPL_BUTTON_HELP_DISTANCE)

//define the height of the font in help string
#define OSDPL_HELP_FONT_HEIGHT                          32

//define the distance of the background and the content
#define OSDPL_BACKGROUND_CONTENT_DISTANCE               8

//define the horizontal distance between the item and the JPEG's frame
#define OSDPL_BIGFRAME_JPEGFRAME_DISTANCE_H				320

//define the vertical distance between the big frame and the JPEG's frame
#define OSDPL_BIGFRAME_JPEGFRAME_DISTANCE_V              64

//define the position and the size of the JPEG frame
#define OSDPL_DISPLAY_JPEG_FRAME_H                      (OSDPL_DISPLAY_BIG_FRAME_H+OSDPL_BIGFRAME_JPEGFRAME_DISTANCE_H)
#define OSDPL_DISPLAY_JPEG_FRAME_V                      (OSDPL_DISPLAY_BIG_FRAME_V+OSDPL_DISPLAY_BIG_FRAME_THICKNESS+OSDPL_BIGFRAME_JPEGFRAME_DISTANCE_V)

//define the size of the JPEG's frame
#define OSDPL_DISPLAY_JPEG_FRAME_WIDTH                  200
#define OSDPL_DISPLAY_JPEG_FRAME_HEIGHT                 120                        

//define the thickness of the JPEG's frame
#define OSDPL_DISPLAY_JPEG_FRAME_THICKNESS              4

//define the region of the background
#define OSDPL_DISPLAY_BACKGROUND_H                      (OSDPL_DISPLAY_BIG_FRAME_H-OSDPL_BACKGROUND_CONTENT_DISTANCE)
#define OSDPL_DISPLAY_BACKGROUND_V                      (OSDPL_DISPLAY_TITLE_START_H-OSDPL_BACKGROUND_CONTENT_DISTANCE)
#define OSDPL_DISPLAY_BACKGROUND_RIGHT                  (OSDPL_DISPLAY_BIG_FRAME_H+OSDPL_DISPLAY_BIG_FRAME_WIDTH+OSDPL_BACKGROUND_CONTENT_DISTANCE)
#define OSDPL_DISPLAY_BACKGROUND_BOTTOM                 (OSDPL_DISPLAY_HELP_STRING_START_V+OSDPL_HELP_FONT_HEIGHT+OSDPL_BACKGROUND_CONTENT_DISTANCE)

#ifdef GDI_4_BIT_OSD
//define the entry for the color palette
#define OSDPL_PALETTE_ENTRY_GENERAL_BACKGROUND                  GDI_ENTRY_4B_COLOR_GENERAL_BG_BLUE                  
#define OSDPL_PALETTE_ENTRY_TITLE_STRING                        GDI_ENTRY_4B_COLOR_WHITE
#define OSDPL_PALETTE_ENTRY_HELP_STRING                         GDI_ENTRY_4B_COLOR_WHITE
#define OSDPL_PALETTE_ENTRY_GENERAL_STRING_IN_FILE_WINDOW       GDI_ENTRY_4B_COLOR_WHITE
#define OSDPL_PALETTE_ENTRY_HIGHLIGHT_STRING_IN_FILE_WINDOW     GDI_ENTRY_4B_COLOR_WHITE
#define OSDPL_PALETTE_ENTRY_HIGHLIGHT_BACKGROUND                GDI_ENTRY_4B_COLOR_ORANGE
#define OSDPL_PALETTE_ENTRY_JPEG_WINDOW_STRING                  GDI_ENTRY_4B_COLOR_ORANGE
#define OSDPL_PALETTE_ENTRY_DISABLE_BUTTON_STRING               GDI_ENTRY_4B_COLOR_TEXT_DISABLED
#define OSDPL_PALETTE_ENTRY_ENABLE_BUTTON_STRING                GDI_ENTRY_4B_COLOR_WHITE
#define OSDPL_PALETTE_ENTRY_HIGHLIGHT_BUTTON_STRING             GDI_ENTRY_4B_COLOR_BLACK
#define OSDPL_PALETTE_ENTRY_NORMAL_FRAME_BRIGHT                 GDI_ENTRY_4B_COLOR_BRIGHT
#define OSDPL_PALETTE_ENTRY_NORMAL_FRAME_DARK                   GDI_ENTRY_4B_COLOR_DARK
#else
//define the entry for the color palette
#define OSDPL_PALETTE_ENTRY_START                               140
#define OSDPL_PALETTE_ENTRY_GENERAL_BACKGROUND                  OSDPL_PALETTE_ENTRY_START
#define OSDPL_PALETTE_ENTRY_TITLE_STRING                        (OSDPL_PALETTE_ENTRY_START+1)
#define OSDPL_PALETTE_ENTRY_HELP_STRING                         (OSDPL_PALETTE_ENTRY_START+2)
#define OSDPL_PALETTE_ENTRY_GENERAL_STRING_IN_FILE_WINDOW       (OSDPL_PALETTE_ENTRY_START+3)
#define OSDPL_PALETTE_ENTRY_HIGHLIGHT_STRING_IN_FILE_WINDOW     (OSDPL_PALETTE_ENTRY_START+4)
#define OSDPL_PALETTE_ENTRY_HIGHLIGHT_BACKGROUND                (OSDPL_PALETTE_ENTRY_START+5)
#define OSDPL_PALETTE_ENTRY_JPEG_WINDOW_STRING                  (OSDPL_PALETTE_ENTRY_START+6)
#define OSDPL_PALETTE_ENTRY_DISABLE_BUTTON_STRING               (OSDPL_PALETTE_ENTRY_START+7)
#define OSDPL_PALETTE_ENTRY_ENABLE_BUTTON_STRING                (OSDPL_PALETTE_ENTRY_START+8)
#define OSDPL_PALETTE_ENTRY_HIGHLIGHT_BUTTON_STRING             (OSDPL_PALETTE_ENTRY_START+9)
#define OSDPL_PALETTE_ENTRY_NORMAL_FRAME_BRIGHT                 (OSDPL_PALETTE_ENTRY_START+10)
#define OSDPL_PALETTE_ENTRY_NORMAL_FRAME_DARK                   (OSDPL_PALETTE_ENTRY_START+11)

//define the palette color
#define OSDPL_PALETTE_COLOR_GENERAL_BACKGROUND                  0x000080
#define OSDPL_PALETTE_COLOR_TITLE_STRING                        0xFFA928
#define OSDPL_PALETTE_COLOR_HELP_STRING                         0xFFA928
#define OSDPL_PALETTE_COLOR_GENERAL_STRING_IN_FILE_WINDOW       0xC8C8C8
#define OSDPL_PALETTE_COLOR_HIGHLIGHT_STRING_IN_FILE_WINDOW     0xFFFFFF
#define OSDPL_PALETTE_COLOR_HIGHLIGHT_BACKGROUND                0xFFA928
#define OSDPL_PALETTE_COLOR_JPEG_WINDOW_STRING                  0xFFA928
#define OSDPL_PALETTE_COLOR_DISABLE_BUTTON_STRING               OSDFM_PALETTE_COLOR_DISABLE_BUTTON_STRING
#define OSDPL_PALETTE_COLOR_ENABLE_BUTTON_STRING                OSDFM_PALETTE_COLOR_ENABLE_BUTTON_STRING
#define OSDPL_PALETTE_COLOR_HIGHLIGHT_BUTTON_STRING             OSDFM_PALETTE_COLOR_HIGHLIGHT_BUTTON_STRING
#define OSDPL_PALETTE_COLOR_NORMAL_FRAME_BRIGHT                 OSDFM_PALETTE_COLOR_NORMAL_FRAME_BRIGHT
#define OSDPL_PALETTE_COLOR_NORMAL_FRAME_DARK                   OSDFM_PALETTE_COLOR_NORMAL_FRAME_DARK
#endif

//define the regions to be cleared in Program List UI
#define OSDPL_CLEAR_HELP_REGION             0
#define OSDPL_CLEAR_FILE_WINDOW_REGION      1
#define OSDPL_CLEAR_JPEG_WINDOW_REGION      2
#define OSDPL_CLEAR_RECOVER_UPPER_REGION    3
#define OSDPL_CLEAR_RECOVER_BOTTOM_REGION   4
#define OSDPL_CLEAR_ALL_REGION              0xFF

//define the message for the control module.
#define OSDPL_MSG_BEGIN                     220
#define OSDPL_MSG_INITIAL                   OSDPL_MSG_BEGIN
#define OSDPL_MSG_UPDATE_HIGHLIGHT          (OSDPL_MSG_BEGIN+1)
#define OSDPL_MSG_CLEAR_HIGHLIGHT           (OSDPL_MSG_BEGIN+2)
#define OSDPL_MSG_DELETE                    (OSDPL_MSG_BEGIN+3)
#define OSDPL_MSG_UPDATE_NEXT               (OSDPL_MSG_BEGIN+4)
#define OSDPL_MSG_UPDATE_PREVIOUS           (OSDPL_MSG_BEGIN+5)
#define OSDPL_MSG_UPDATE_CLEAR_ALL          (OSDPL_MSG_BEGIN+6)
#define OSDPL_MSG_SHOW                      (OSDPL_MSG_BEGIN+7)

//define the type of the help
#define OSDPL_HELP_TYPE_NONE                0
#define OSDPL_HELP_TYPE_PL_Window           1
#define OSDPL_HELP_TYPE_BUTTON              2
#endif

//common definitions
//define the state we want to update highlight
#define UPDATE_HIGHLIGHT_DRAW                   0
#define UPDATE_HIGHLIGHT_CLEAR                  1    

//CoCo1.01, for moving cursor when playing
#define UPDATE_ACTIVE_PLAYING_FILE_DRAW         0
#define UPDATE_ACTIVE_PLAYING_FILE_CLEAR        1    

//define the state to draw the frame
#define UPDATE_FRAME_DRAW                       0
#define UPDATE_FRAME_CLEAR                      1

//define the state to change the page
#define CHANGE_PAGE_NEXT                        0
#define CHANGE_PAGE_PREVIOUS                    1

//define the different mode
#define OSDFM_FILE_MANAGER_MODE                 0
#define OSDFM_PROGRAM_LIST_MODE                 1

//define the mode for initialize File Manager UI
#define MODE_INITIAL_UI                         0
#define MODE_SHOW_UI                            1

//define the type for update
#define OSDFM_UPDATE_TYPE_NEVER_UPDATE			2

//The OSD message for recovery
#define OSD_MSG_RECOVER_ALL                     0xFD
#define OSD_MSG_RECOVER_UPPPER_REGION           0xFE
#define OSD_MSG_RECOVER_BOTTOM_REGION           0xFF

//define the result of search
#define RESULT_OK                               1
#define RESULT_FAIL                             0xFF

#define FM_ROOT                         0
#define FM_UP_DIR                       0xFE
#define FM_NULL                         0xFF

#define MAX_BUTTON_NUM                  6

//Internal APIs
void _OSDFM_Initial(BYTE bMode);
void _OSDFM_PrepareUpdateTitle(void);
void _OSDFM_UpdateTitle(void);
void _OSDFM_ClearRegion(BYTE bClearRegion);
void _OSDFM_InitializeGDI(void);
void _OSDFM_UpdateFolderTitle(BYTE bDirID);
void _OSDFM_UpdateFileTitle(void);
void _OSDFM_UpdateHighlight(BYTE bUpdate);
void _OSDFM_UpdateActivePlayingFile(BYTE bUpdate); //CoCo1.01, for moving cursor when playing
void _OSDFM_PrepareUpdateHelp(void);
void _OSDFM_UpdateHelp(void);
void _OSDFM_UpdateButtonHelp(void);
void _OSDFM_GetButtonPos(BYTE bStart, BYTE bButtonIndex);
BYTE _OSDFM_GetButtonWidth(BYTE bButtonIndex);
void _OSDFM_CopyDirString(BYTE bID, BYTE bPos);
void _OSDFM_CopyFileString(WORD wFileIndex, BYTE bLetterIndex);
void _OSDFM_TransformFileIndex(WORD wFileIndex);
void _OSDFM_DrawDir(BYTE bIndex);
void _OSDFM_DrawLeftFileWindow(void);
void _OSDFM_DrawRoot(void);
void _OSDFM_DrawRightFileWindow(void);
void _OSDFM_DrawJPEGFrame(BYTE bUpdate);
void _OSDFM_ChangeDir(void);
void _OSDFM_ClearItemRegionInFileWindow(BYTE bFileWindow, BYTE bIndex);
void _OSDFM_DrawSelectedFrame(BYTE bUpdate, BYTE bIndex);
void _OSDFM_ChangePage(BYTE bChange);
void _OSDFM_DrawBigFrame(void);
void _OSDFM_DrawSeparateFrame(BYTE bKind);
void _OSDFM_UpdateRightScrollBar(void);
void _OSDFM_UpdateLeftScrollBar(void);
void _OSDFM_ChangeDirLevel(void);
void _OSDFM_SetButtonAttribute(BYTE bButtonIndex);
void _OSDFM_DrawAllButtons(BYTE bMode);
BYTE _OSDFM_HaveUpFolder(void);
void _OSDFM_DrawLeftFileWindowIcon(BYTE bIndex, BYTE bHighlight);
void _OSDFM_DrawRightFileWindowIcon(BYTE bIndex, BYTE bHighlight);
void _OSDFM_NormalFileWindowStringPalette(void);
void _OSDFM_RecoverDisplayUpperRegion(void);
void _OSDFM_RecoverDisplayBottomRegion(void);
void _OSDFM_NOFontShadow(void);
void _OSDFM_ShowTime(void);
void _OSDFM_ShowActiveDir(void);
void _OSDFM_UpdatePlayingTitle(void);
void _OSDFM_FlashPlayingFile(BYTE bClearHighlight);
void _OSDFM_ChangeMode(void);
void _OSDFM_PrepagePage(void);
void _OSDFM_UpdateStartDrawItemByNewCursor(void);
void _OSDFM_GetIconType(BYTE bExtID);
void _OSDFM_CloseCDIF(void);
#ifdef SUPPORT_DISPLAY_INVALID_AUDIO_FILE //CoCo2.39, support displaying invalid audio file.
void _OSDFM_ShowInvalidAudioFile(void);
#endif

#ifdef SUPPORT_FM_BUTTONS
//Internal APIs for Program List UI.
void _OSDPL_Initial(BYTE bMode);
void _OSDPL_InitializeGDI(void);
void _OSDPL_UpdateHighlight(BYTE bUpdate);
void _OSDPL_DrawItems(BYTE bIndex, BYTE bClear);
void _OSDPL_OutputItemString(BYTE bIndex, BYTE bHighlight);
void _OSDPL_PrepareUpdateHelp(void);
void _OSDPL_UpdateHelp(void);
void _OSDPL_UpdateButtonHelp(void);
void _OSDPL_ClearRegion(BYTE bClearType);
void _OSDPL_UpdateJPEGWindow(void);
void _OSDPL_RecoverDisplayUpperRegion(void);
void _OSDPL_RecoverDisplayBottomRegion(void);
void _OSDPL_NOFontShadow(void);
#endif

//Exported APIs
void OSDFM_Update(BYTE bMessage);
#ifdef SUPPORT_FM_BUTTONS
void OSDFM_DrawButton(BYTE bButtonIndex, BYTE bHighlight);
void OSDPL_Update(BYTE bMessage);
void OSDPL_DrawButton(BYTE bButtonIndex, BYTE bHighlight);
#endif

//Extern variables
extern WORD __wStartDrawItem;
extern BYTE __bActiveDirChange;

#endif //__OSDFM_H__

⌨️ 快捷键说明

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