?? osdfm.h
字號(hào):
//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__
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -