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

📄 thumb.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
📖 第 1 页 / 共 2 页
字号:

//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 + -