📄 thumb.h
字号:
//define the maximum times to check hang
#define THUMBNAIL_CHECK_HANG_TIMES 20
//parameters for changing a page
#define THUMBNAIL_NEXT_PAGE 0
#define THUMBNAIL_PREVIOUS_PAGE 1
//Decoding stage
#define THUMBNAIL_STAGE_START 0
#define THUMBNAIL_STAGE_PARSEHEADER 1
#define THUMBNAIL_STAGE_DECODE 2
//parameters for the type of the cursor
#define THUMBNAIL_CURSOR_PICTURE 0
#define THUMBNAIL_CURSOR_BUTTON 1
//parameters for sub-mode of thumbnail
#define THUMBNAIL_SUBMODE_GENERAL 0
#define THUMBNAIL_SUBMODE_ROTATE 1
#define THUMBNAIL_SUBMODE_PROGRAM 2
#define THUMBNAIL_SUBMODE_PROGRAM_LIST 3
//parameter for button's state
#define THUMBNAIL_BUTTON_STATE_ENABLE 0
#define THUMBNAIL_BUTTON_STATE_DISABLE 1
#define THUMBNAIL_BUTTON_STATE_HIGHLIGHT 2
//define thumbnail's button ID
#define THUMBNAIL_BUTTON_PREVIOUS 0
#define THUMBNAIL_BUTTON_NEXT 1
#define THUMBNAIL_BUTTON_PLAY 2
#define THUMBNAIL_BUTTON_ROTATE 3
#define THUMBNAIL_BUTTON_RETURN 4
#define THUMBNAIL_BUTTON_CLEAR_ALL 5
#define THUMBNAIL_BUTTON_PROGRAM 6
#define THUMBNAIL_BUTTON_RESET 7
#define THUMBNAIL_BUTTON_PROGRAM_LIST 8
#define THUMBNAIL_BUTTON_FILEMGR 9
#define THUMBNAIL_BUTTON_END 0xFF
//Define the direction of the cursor
#define THUMBNAIL_CURSOR_DIRECTION_UP 0
#define THUMBNAIL_CURSOR_DIRECTION_DOWN 1
#define THUMBNAIL_CURSOR_DIRECTION_LEFT 2
#define THUMBNAIL_CURSOR_DIRECTION_RIGHT 3
//parameters for slide show
#define THUMBNAIL_PLAY_START 0
#define THUMBNAIL_PLAY_CURRENT 1
//parameters for thumbnail decode mode
#define THUMBNAIL_DECODE_PAGE 0
#define THUMBNAIL_DECODE_ONE 1
#define THUMBNAIL_DECODE_UNDETERMINED 2
//parameters for drawing thumbnail's frame
#define THUMBNAIL_FRAME_NORMAL 0
#define THUMBNAIL_FRAME_SELECT 1
#define THUMBNAIL_FRAME_CLEAR 2
//defint the update for the frame
#define THUMBNAIL_UPDATE_FRAME_GENERAL_TO_PROGRAM 0
#define THUMBNAIL_UPDATE_FRAME_PROGRAM_TO_GENERAL 1
#ifdef GDI_4_BIT_OSD
#define THUMBNAIL_PALETTE_ENTRY_SELECT_FRAME_BRIGHT GDI_ENTRY_4B_COLOR_YELLOW
#define THUMBNAIL_PALETTE_ENTRY_SELECT_FRAME_DARK GDI_ENTRY_4B_COLOR_ORANGE
#define THUMBNAIL_PALETTE_ENTRY_NORMAL_FRAME_BRIGHT GDI_ENTRY_4B_COLOR_BRIGHT
#define THUMBNAIL_PALETTE_ENTRY_NORMAL_FRAME_DARK GDI_ENTRY_4B_COLOR_DARK
#define THUMBNAIL_PALETTE_ENTRY_TITLE_STRING GDI_ENTRY_4B_COLOR_WHITE
#define THUMBNAIL_PALETTE_ENTRY_PAGE_ITEM GDI_ENTRY_4B_COLOR_WHITE
#define THUMBNAIL_PALETTE_ENTRY_PAGE_INFO GDI_ENTRY_4B_COLOR_WHITE
#define THUMBNAIL_PALETTE_ENTRY_HELP_STRING GDI_ENTRY_4B_COLOR_WHITE
#define THUMBNAIL_PALETTE_ENTRY_BUTTON_STRING_ENABLE GDI_ENTRY_4B_COLOR_WHITE
#define THUMBNAIL_PALETTE_ENTRY_BUTTON_STRING_DISABLE GDI_ENTRY_4B_COLOR_TEXT_DISABLED
#define THUMBNAIL_PALETTE_ENTRY_BUTTON_STRING_HIGHLIGHT GDI_ENTRY_4B_COLOR_BLACK
#define THUMBNAIL_PALETTE_ENTRY_HIGHLIGHT GDI_ENTRY_4B_COLOR_ORANGE_TRANSPARENT
#define THUMBNAIL_PALETTE_ENTRY_PL_FILE_EXT GDI_ENTRY_4B_COLOR_ORANGE
#else
//define the palette entry
#define THUMBNAIL_PALETTE_ENTRY_START 140
#define THUMBNAIL_PALETTE_ENTRY_SELECT_FRAME_BRIGHT THUMBNAIL_PALETTE_ENTRY_START
#define THUMBNAIL_PALETTE_ENTRY_SELECT_FRAME_DARK (THUMBNAIL_PALETTE_ENTRY_START+1)
#define THUMBNAIL_PALETTE_ENTRY_NORMAL_FRAME_BRIGHT (THUMBNAIL_PALETTE_ENTRY_START+2)
#define THUMBNAIL_PALETTE_ENTRY_NORMAL_FRAME_DARK (THUMBNAIL_PALETTE_ENTRY_START+3)
#define THUMBNAIL_PALETTE_ENTRY_TITLE_STRING (THUMBNAIL_PALETTE_ENTRY_START+4)
#define THUMBNAIL_PALETTE_ENTRY_PAGE_ITEM (THUMBNAIL_PALETTE_ENTRY_START+5)
#define THUMBNAIL_PALETTE_ENTRY_PAGE_INFO (THUMBNAIL_PALETTE_ENTRY_START+6)
#define THUMBNAIL_PALETTE_ENTRY_HELP_STRING (THUMBNAIL_PALETTE_ENTRY_START+7)
#define THUMBNAIL_PALETTE_ENTRY_BUTTON_STRING_ENABLE (THUMBNAIL_PALETTE_ENTRY_START+8)
#define THUMBNAIL_PALETTE_ENTRY_BUTTON_STRING_DISABLE (THUMBNAIL_PALETTE_ENTRY_START+9)
#define THUMBNAIL_PALETTE_ENTRY_BUTTON_STRING_HIGHLIGHT (THUMBNAIL_PALETTE_ENTRY_START+10)
#define THUMBNAIL_PALETTE_ENTRY_HIGHLIGHT (THUMBNAIL_PALETTE_ENTRY_START+14)
#define THUMBNAIL_PALETTE_ENTRY_PL_FILE_EXT (THUMBNAIL_PALETTE_ENTRY_START+15)
#define THUMBNAIL_PALETTE_COLOR_SELECT_FRAME_BRIGHT 0xFAC14E
#define THUMBNAIL_PALETTE_COLOR_SELECT_FRAME_DARK 0x836527
#define THUMBNAIL_PALETTE_COLOR_NORMAL_FRAME_BRIGHT 0xE1E1E1
#define THUMBNAIL_PALETTE_COLOR_NORMAL_FRAME_DARK 0xA3A3A3
#define THUMBNAIL_PALETTE_COLOR_TITLE_STRING 0xFFA928
#define THUMBNAIL_PALETTE_COLOR_PAGE_ITEM 0xFFA928
#define THUMBNAIL_PALETTE_COLOR_PAGE_INFO 0xFFA928
#define THUMBNAIL_PALETTE_COLOR_HELP_STRING 0xFFA928
#define THUMBNAIL_PALETTE_COLOR_BUTTON_STRING_ENABLE 0xC33100
#define THUMBNAIL_PALETTE_COLOR_BUTTON_STRING_DISABLE 0xB4B4B4
#define THUMBNAIL_PALETTE_COLOR_BUTTON_STRING_HIGHLIGHT 0xC33100
#define THUMBNAIL_PALETTE_COLOR_HIGHLIGHT 0xFAC14E
#define THUMBNAIL_PALETTE_COLOR_PL_FILE_EXT 0xFFA928
#endif //GDI_4_BIT_OSD
//define the type of clearing
#define THUMBNAIL_CLEAR_TITLE_REGION 0
#define THUMBNAIL_CLEAR_PAGE_INFO_REGION 1
#define THUMBNAIL_CLEAR_HELP_REGION 2
#define THUMBNAIL_CLEAR_BUTTON_REGION 3
#define THUMBNAIL_CLEAR_GENERAL_MODE_FRAME_REGION 4
#define THUMBNAIL_CLEAR_PROGRAM_LIST_FRAME_REGION 5
#define THUMBNAIL_CLEAR_RECOVER_UPPER_REGION 6
#define THUMBNAIL_CLEAR_RECOVER_BOTTOM_REGION 7
//define the region of JPEG's display buffer
#define THUMBNAIL_JPEG_DISPLAY_BUFFER_WIDTH 720
#define THUMBNAIL_JPEG_DISPLAY_BUFFER_HEIGHT 576
//define the type of tunning position for PAL
#define THUMBNAIL_TUNE_POS_TYPE_TITLE 0
#define THUMBNAIL_TUNE_POS_TYPE_BIG_FRAME 1
#define THUMBNAIL_TUNE_POS_TYPE_BUTTON 2
#define THUMBNAIL_TUNE_POS_TYPE_HELP 3
#define THUMBNAIL_TUNE_HEIGHT_TYPE_BIG_FRAME 4
//declare external variables:
extern WORD __wPlayItem;
extern DWORD dwPreTime;
extern BYTE __bTVType;
extern BYTE __bProgramMaxEntry;
extern BIT __btProgram; //Program Mode ON/OFF
extern BYTE __bThumbnailMode;
//internal functions:
void _THUMBNAIL_GetPosition(BYTE bIndex);
void _THUMBNAIL_Initial(void);
//void _THUMBNAIL_UpdateHighlight(void);
void _THUMBNAIL_UpdateHighlight(BYTE bUpdate);
void _THUMBNAIL_CheckPlayPageBoundary(void);
BYTE _THUMBNAIL_CheckUpBoundary(void);
BYTE _THUMBNAIL_CheckDownBoundary(void);
BYTE _THUMBNAIL_CheckRightBoundary(void);
BYTE _THUMBNAIL_CheckLeftBoundary(void);
void _THUMBNAIL_DisplayPageInfo(void);
void THUMBNAIL_Exit(void);
void _THUMBNAIL_ChangeToNextPic(void);
void _THUMBNAIL_Start(void);
void _THUMBNAIL_ProcessError(void);
//CoCo280-2, for CT908 JPEG
BYTE _THUMBNAIL_ProcessEnterKey(void);
BYTE _THUMBNAIL_ChangePageAction(BYTE bAction);
BYTE _THUMBNAIL_ToSlideShow(BYTE bType);
BYTE _THUMBNAIL_CheckPlayEnd(void);
BYTE _THUMBNAIL_CheckPagePlayEnd(void);
BYTE _THUMBNAIL_CheckChangePageValid(BYTE bAction);
void _THUMBNAIL_InitialStage(void);
void _THUMBNAIL_UpdateTitle(void);
void _THUMBNAIL_DrawButton(BYTE bButtonIndex);
void _THUMBNAIL_EnterNewMode(void);
void _THUMBNAIL_DrawThumbnailFrame(BYTE bIndex, BYTE bMode);
void _THUMBNAIL_GetTotalFiles(void);
void _THUMBNAIL_InitializeGDI(void);
void _THUMBNAIL_OutputNum(BYTE bNum, BYTE bNumIndex);
void _THUMBNAIL_ClearRegion(BYTE bClearType);
void _THUMBNAIL_JPEG_PSFB(BYTE bAllRegion);
BYTE _THUMBNAIL_TuneForTVType(BYTE bPosType);
void _THUMBNAIL_RecoverAll(void);
void _THUMBNAIL_PlayEnd(void);
void _THUMBNAIL_ToFileManager(void);
void _THUMBNAIL_UpdateUpRoundHighlight(void);
void _THUMBNAIL_UpdateDownRoundHighlight(void);
void _THUMBNAIL_TuneFramePosition(void); // Brian1.10
void _THUMBNAIL_UsePSFBDrawFrame(DWORD dwColor); //CoCo.230, use PSFB buffer command to draw the frame
#ifdef SUPPORT_FM_BUTTONS
BYTE _THUMBNAIL_ProcessButton(void);
void _THUMBNAIL_Rotate(void);
void _THUMBNAIL_UpdateHelp(void);
void _THUMBNAIL_ShowButtonHelp(void);
BYTE _THUMBNAIL_SearchValidButtonHighlight(BYTE bDirection);
void _THUMBNAIL_GetButtonPos(bButtonIndex);
void _THUMBNAIL_ResetRotateState(void);
BYTE _THUMBNAIL_SearchNextValidPic(void);
void _THUMBNAIL_ProcessEmptyProgramList(void);
void _THUMBNAIL_UpdateButtonHighlight(BYTE bNewCursor);
void _THUMBNAIL_UpdateThumbnailFrame(BYTE bType);
void _THUMBNAIL_UpdateButtonState(BYTE bID, BYTE bStatus, BYTE bDrawButton);
void _THUMBNAIL_DrawProgramListFrame(BYTE bDraw);
BYTE _THUMBNAIL_GetButtonWidth(BYTE bButtonIndex);
void _THUMBNAIL_ShowFileExtInProgramList(BYTE bIndex, BYTE bState);
void _THUMBNAIL_ClearFileExtInProgramList(BYTE bIndex);
void _THUMBNAIL_FillButtonName(BYTE bButtonStringID);
BYTE _THUMBNAIL_GetButtonPosIndex(BYTE bID);
BYTE _THUMBNAIL_UpdateButtonIndex(BYTE bID);
BYTE _THUMBNAIL_GetButtonNumber(void);
#endif
//Export APIs:
void THUMBNAIL_Trigger(void);
BYTE THUMBNAIL_ProcessKey(BYTE bKey);
void THUMBNAIL_Entry(void);
void THUMBNAIL_Recover(BYTE bMessage);
#endif //__THUMBNAIL_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -