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

📄 osdld.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
字号:
//**************************************************************************
//         Copyright (c) 2003, Cheertek Inc . All rights reserved.
//         D300, all right reserved.

//	Product	: WinDVD Firmware

//	Date	: 2003.1.23
//	Author	: Cheertek (D300 CoCo Chiang)
//	Purpose	: Provide the UI for one-line display.
//	Sources	: OSDVP.c
//***************************************************************************
#ifndef __OSDLD_H__
#define __OSDLD_H__

//define the type that we want to update for item/info
#define OSDLD_UPDATE_ITEM                               0
#define OSDLD_UPDATE_INFO                               1
#define OSDLD_UPDATE_ICON                               2

#define OSDLD_MAX_DIRNAME_LENGTH                        10

//define the mix ratio of the background for virtual panel.
#define OSDLD_MIX_RATIO_BACKGROUND                      28

#ifdef GDI_4_BIT_OSD
//define the palette entry
#define OSDLD_PALETTE_ENTRY_GENERAL_BACKGROUND          GDI_ENTRY_4B_COLOR_GENERAL_BG_BLACK

#define OSDLD_PALETTE_ENTRY_REGION_TITLE_ITEM           GDI_ENTRY_4B_COLOR_WHITE
#define OSDLD_PALETTE_ENTRY_REGION_TITLE_INFO           GDI_ENTRY_4B_COLOR_YELLOW
#define OSDLD_PALETTE_ENTRY_REGION_CHAPTER_ITEM         GDI_ENTRY_4B_COLOR_WHITE
#define OSDLD_PALETTE_ENTRY_REGION_CHAPTER_INFO         GDI_ENTRY_4B_COLOR_YELLOW
#define OSDLD_PALETTE_ENTRY_REGION_TIME                 GDI_ENTRY_4B_COLOR_YELLOW
#define OSDLD_PALETTE_ENTRY_REGION_FOLDER_ITEM          GDI_ENTRY_4B_COLOR_WHITE
#define OSDLD_PALETTE_ENTRY_REGION_FOLDER_INFO          GDI_ENTRY_4B_COLOR_YELLOW
#define OSDLD_PALETTE_ENTRY_REGION_PROGRAM				GDI_ENTRY_4B_COLOR_ORANGE //CoCo1.07, add program icon 
#define OSDLD_PALETTE_ENTRY_REGION_TITLE_MENU			GDI_ENTRY_4B_COLOR_WHITE //CoCo2.37
#else
//define the starting entry for color palette
#define OSDLD_PALETTE_ENTRY_START                       231

//define the palette entry
#define OSDLD_PALETTE_ENTRY_GENERAL_BACKGROUND          OSDLD_PALETTE_ENTRY_START
#define OSDLD_PALETTE_ENTTRY_REGION_TITLE_ITEM           (OSDLD_PALETTE_ENTRY_START+1)
#define OSDLD_PALETTE_ENTRY_REGION_TITLE_INFO           (OSDLD_PALETTE_ENTRY_START+2)
#define OSDLD_PALETTE_ENTRY_REGION_CHAPTER_ITEM         (OSDLD_PALETTE_ENTRY_START+3)
#define OSDLD_PALETTE_ENTRY_REGION_CHAPTER_INFO         (OSDLD_PALETTE_ENTRY_START+4)
#define OSDLD_PALETTE_ENTRY_REGION_TIME                 (OSDLD_PALETTE_ENTRY_START+5)
#define OSDLD_PALETTE_ENTRY_REGION_FOLDER_ITEM          (OSDLD_PALETTE_ENTRY_START+6)
#define OSDLD_PALETTE_ENTRY_REGION_FOLDER_INFO          (OSDLD_PALETTE_ENTRY_START+7)

//define the palette color
#define OSDLD_PALETTE_COLOR_GENERAL_BACKGROUND          0x202020     
#define OSDLD_PALETTE_COLOR_REGION_TITLE_ITEM           0xFFFFFF
#define OSDLD_PALETTE_COLOR_REGION_TITLE_INFO           0xFFCC00
#define OSDLD_PALETTE_COLOR_REGION_CHAPTER_ITEM         0xFFFFFF
#define OSDLD_PALETTE_COLOR_REGION_CHAPTER_INFO         0xFFCC00
#define OSDLD_PALETTE_COLOR_REGION_TIME                 0xFFCC00
#define OSDLD_PALETTE_COLOR_REGION_FOLDER_ITEM          OSDLD_PALETTE_COLOR_REGION_TITLE_ITEM
#define OSDLD_PALETTE_COLOR_REGION_FOLDER_INFO          OSDLD_PALETTE_COLOR_REGION_TITLE_INFO
#endif //GDI_4_BIT_OSD

//define the starting position and the size of the virtual panel
#define OSDLD_START_H                           0 //16 //CoCo1.24, for OSD's horizontal position move
#ifdef SAMLL_DISPLAY_MODE_2 //CoCo.230, show small display mode.
#define OSDLD_START_V                           32
#else
#define OSDLD_START_V                           54//40
#endif
#define OSDLD_WIDTH                             592//520
#define OSDLD_HEIGHT                            32

//define the number of regions          
#define OSDLD_TOTAL_REGIONS                     5

//define the regions for one-line display
#define OSDLD_REGION_TITLE                      0
#define OSDLD_REGION_CHAPTER                    1
#define OSDLD_REGION_TIME                       2
#define OSDLD_REGION_FOLDER                     3
#define OSDLD_REGION_TRACK                      4
#define OSDLD_REGION_PROGRAM					5 //CoCo1.07, add program icon
#define OSDLD_REGION_TITLE_MENU                 6 
#define OSDLD_REGION_ALL                        0xFF

#define OSDLD_DISTANCE_REGION_START_TITLE       8
//Region2: display the "Title" for DVD
//#define OSDLD_REGION_TITLE_START_H              (OSDLD_REGION_PLAYSTATE_START_H+OSDLD_REGION_PLAYSTATE_WIDTH+OSDLD_DISTANCE_REGION_PLAYSTATE_TITLE)
#define OSDLD_REGION_TITLE_START_H              (OSDLD_START_H+OSDLD_DISTANCE_REGION_START_TITLE)
#define OSDLD_REGION_TITLE_WIDTH                160
#define OSDLD_REGION_TITLE_ITEM_COLOR           OSDLD_PALETTE_ENTRY_REGION_TITLE_ITEM
#define OSDLD_REGION_TITLE_INFO_COLOR           OSDLD_PALETTE_ENTRY_REGION_TITLE_INFO
#define OSDLD_REGION_TITLE_NUMBER_INDEX         1

//define the distance between region 2 and region 3.
#define OSDLD_DISTANCE_REGION_TITLE_CHAPTER     8

//Region3: display "Chapter" for DVD
#define OSDLD_REGION_CHAPTER_START_H            (OSDLD_REGION_TITLE_START_H+OSDLD_REGION_TITLE_WIDTH+OSDLD_DISTANCE_REGION_TITLE_CHAPTER)
#define OSDLD_REGION_CHAPTER_WIDTH              184
#define OSDLD_REGION_CHAPTER_ITEM_COLOR         OSDLD_PALETTE_ENTRY_REGION_CHAPTER_ITEM
#define OSDLD_REGION_CHAPTER_INFO_COLOR         OSDLD_PALETTE_ENTRY_REGION_CHAPTER_INFO
#define OSDLD_REGION_CHAPTER_NUMBER_INDEX       1

//CoCo2.37
#define OSDLD_REGION_TITLE_MENU_START_H         OSDLD_REGION_TITLE_START_H
#define OSDLD_REGION_TITLE_MENU_WIDTH           (OSDLD_REGION_TITLE_WIDTH+OSDLD_DISTANCE_REGION_TITLE_CHAPTER+OSDLD_REGION_CHAPTER_WIDTH)
#define OSDLD_REGION_TITLE_MENU_COLOR           OSDLD_PALETTE_ENTRY_REGION_TITLE_MENU

//define the distance between region 3 and region 4.
#define OSDLD_DISTANCE_REGION_CHAPTER_TIME      16

//Region4: display the time
#define OSDLD_REGION_TIME_START_H               (OSDLD_START_H+424)
#define OSDLD_REGION_TIME_WIDTH                 128
#define OSDLD_REGION_TIME_COLOR                 OSDLD_PALETTE_ENTRY_REGION_TIME
#define OSDLD_REGION_TIME_NUMBER_INDEX          1

//CoCo1.07, add program icon 
//define the distance between "Time" and "Program" status.
#define OSDLD_DISTANCE_REGION_TIME_PROGRAM      8

//CoCo1.07, add program icon 
//Display the "Program" status.
#define OSDLD_REGION_PROGRAM_START_H			(OSDLD_REGION_TIME_START_H+OSDLD_REGION_TIME_WIDTH+OSDLD_DISTANCE_REGION_TIME_PROGRAM)
#define OSDLD_REGION_PROGRAM_WIDTH				(OSDLD_START_H+OSDLD_WIDTH-OSDLD_REGION_PROGRAM_START_H)
#define OSDLD_REGION_PROGRAM_COLOR				OSDLD_PALETTE_ENTRY_REGION_PROGRAM

//define the distance between the starting position
#define OSDLD_DISTANCE_REGION_START_TRACK       8

//define the track region
#define OSDLD_REGION_TRACK_START_H              (OSDLD_START_H+OSDLD_DISTANCE_REGION_START_TRACK)
#define OSDLD_REGION_TRACK_WIDTH                216
#define OSDLD_REGION_TRACK_ITEM_COLOR           OSDLD_PALETTE_ENTRY_REGION_TITLE_ITEM
#define OSDLD_REGION_TRACK_INFO_COLOR           OSDLD_PALETTE_ENTRY_REGION_TITLE_INFO
#define OSDLD_REGION_TRACK_NUMBER_INDEX         1

//define the distance between the title and folder.
#define OSDLD_DISTANCE_REGION_TRACK_FOLDER      0

//For JPEG title only
#define OSDLD_REGION_FOLDER_START_H             (OSDLD_REGION_TRACK_START_H+OSDLD_REGION_TRACK_WIDTH+OSDLD_DISTANCE_REGION_TRACK_FOLDER)
#define OSDLD_REGION_FOLDER_WIDTH               200
#define OSDLD_REGION_FOLDER_ITEM_COLOR          OSDLD_PALETTE_ENTRY_REGION_FOLDER_ITEM
#define OSDLD_REGION_FOLDER_INFO_COLOR          OSDLD_PALETTE_ENTRY_REGION_FOLDER_INFO
#define OSDLD_REGION_FOLDER_FONT_INDEX          0

//Exported API for OSD control module.
BYTE OSDLD_Update(BYTE bMessage, WORD wParam);

//internal functions for one-line display
void _OSDLD_InitializeGDI(void);
void _OSDLD_ClearRegion(BYTE bClearRegion, BYTE bPos);
void _OSDLD_ShowTitleInfo(void);
void _OSDLD_ShowTitleMenu(void); //CoCo2.37
void _OSDLD_ShowChapterInfo(void);
void _OSDLD_ShowTrackInfo(void);
void _OSDLD_ShowFolderInfo(void);
void _OSDLD_DrawRegion(BYTE bRegion, BYTE bType, BYTE bPos);
void _OSDLD_GetInfoPos(BYTE bMessage);
void _OSDLD_ShowTime(void);
void _OSDLD_Initial(void);
void _OSDLD_OutputString(BYTE bMessage);
void _OSDLD_ShowItem(BYTE bMessage);
void _OSDLD_ShowInfo(BYTE bMessage);
void _OSDLD_ShowUnknownTime(void);
void _OSDLD_UpdateUnknownRegions(void);
void _OSDLD_ShowUnknownTrack(void);
void _OSDLD_ShowUnknownTitle(void);
void _OSDLD_ShowUnknownChapter(void);

#endif //__OSDLD_H__

⌨️ 快捷键说明

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