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

📄 osdvp.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
📖 第 1 页 / 共 2 页
字号:
//**************************************************************************
//         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 virtual panel and one-line display.
//	Sources	: OSDVP.c
//***************************************************************************
#ifndef __OSDVP_H__
#define __OSDVP_H__

#include "osdnd.h"
#include "osdld.h"

//define the type that we want to update for item/info
#define OSDVP_UPDATE_ITEM                               0
#define OSDVP_UPDATE_INFO                               1

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

#ifdef GDI_4_BIT_OSD
//define the palette entry
#define OSDVP_PALETTE_ENTRY_GENERAL_BACKGROUND          GDI_ENTRY_4B_COLOR_GENERAL_BG_BLACK
#define OSDVP_PALETTE_ENTRY_REGION_DISCTYPE             GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_TITLE_ITEM           GDI_ENTRY_4B_COLOR_WHITE
#define OSDVP_PALETTE_ENTRY_REGION_CHAPTER_ITEM         GDI_ENTRY_4B_COLOR_WHITE
#define OSDVP_PALETTE_ENTRY_REGION_SUBTITLE_ITEM        GDI_ENTRY_4B_COLOR_WHITE
#define OSDVP_PALETTE_ENTRY_REGION_SUBTITLE_INFO        GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_AST_ITEM             GDI_ENTRY_4B_COLOR_WHITE
#define OSDVP_PALETTE_ENTRY_REGION_AST_INFO             GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_PLAY                 GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_TITLE_INFO           GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_CHAPTER_INFO         GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_TIME                 GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_KEY                  GDI_ENTRY_4B_COLOR_ORANGE
#define OSDVP_PALETTE_ENTRY_REGION_AUDIO                GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_EQUALIZER            GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_TVMODE_ITEM          GDI_ENTRY_4B_COLOR_WHITE
#define OSDVP_PALETTE_ENTRY_REGION_TVMODE_INFO          GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_TV                   GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_ANGLE_ITEM           GDI_ENTRY_4B_COLOR_WHITE
#define OSDVP_PALETTE_ENTRY_REGION_ANGLE_INFO           GDI_ENTRY_4B_COLOR_YELLOW
#define OSDVP_PALETTE_ENTRY_REGION_STATUS               GDI_ENTRY_4B_COLOR_ORANGE
#define OSDVP_PALETTE_ENTRY_REGION_REPEAT               GDI_ENTRY_4B_COLOR_ORANGE
#define OSDVP_PALETTE_ENTRY_REGION_PROGRAM              GDI_ENTRY_4B_COLOR_ORANGE
#define OSDVP_PALETTE_ENTRY_REGION_MENU                 GDI_ENTRY_4B_COLOR_WHITE
#else
//define the starting entry for color palette
#define OSDVP_PALETTE_ENTRY_START                       214

//define the palette entry
#define OSDVP_PALETTE_ENTRY_GENERAL_BACKGROUND          OSDVP_PALETTE_ENTRY_START
#define OSDVP_PALETTE_ENTRY_REGION_TITLE_ITEM           (OSDVP_PALETTE_ENTRY_START+1)
#define OSDVP_PALETTE_ENTRY_REGION_CHAPTER_ITEM         (OSDVP_PALETTE_ENTRY_START+2)
#define OSDVP_PALETTE_ENTRY_REGION_SUBTITLE_ITEM        (OSDVP_PALETTE_ENTRY_START+3)
#define OSDVP_PALETTE_ENTRY_REGION_SUBTITLE_INFO        (OSDVP_PALETTE_ENTRY_START+4)
#define OSDVP_PALETTE_ENTRY_REGION_AST_ITEM             (OSDVP_PALETTE_ENTRY_START+5)
#define OSDVP_PALETTE_ENTRY_REGION_AST_INFO             (OSDVP_PALETTE_ENTRY_START+6)
#define OSDVP_PALETTE_ENTRY_REGION_TITLE_INFO           (OSDVP_PALETTE_ENTRY_START+7)
#define OSDVP_PALETTE_ENTRY_REGION_CHAPTER_INFO         (OSDVP_PALETTE_ENTRY_START+8)
#define OSDVP_PALETTE_ENTRY_REGION_TIME                 (OSDVP_PALETTE_ENTRY_START+9)
#define OSDVP_PALETTE_ENTRY_REGION_KEY                  (OSDVP_PALETTE_ENTRY_START+10)
#define OSDVP_PALETTE_ENTRY_REGION_AUDIO                (OSDVP_PALETTE_ENTRY_START+11)
#define OSDVP_PALETTE_ENTRY_REGION_TV                   (OSDVP_PALETTE_ENTRY_START+12)
#define OSDVP_PALETTE_ENTRY_REGION_EQUALIZER            (OSDVP_PALETTE_ENTRY_START+13)
#define OSDVP_PALETTE_ENTRY_REGION_ANGLE_ITEM           (OSDVP_PALETTE_ENTRY_START+14)
#define OSDVP_PALETTE_ENTRY_REGION_ANGLE_INFO           (OSDVP_PALETTE_ENTRY_START+15)

//define the palette color
#define OSDVP_PALETTE_COLOR_GENERAL_BACKGROUND          0x202020 //0x404040                    
#define OSDVP_PALETTE_COLOR_REGION_TITLE_ITEM           0xC8C8C8  
#define OSDVP_PALETTE_COLOR_REGION_CHAPTER_ITEM         0xC8C8C8  
#define OSDVP_PALETTE_COLOR_REGION_SUBTITLE_ITEM        0xC8C8C8
#define OSDVP_PALETTE_COLOR_REGION_SUBTITLE_INFO        0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_AST_ITEM             0xC8C8C8
#define OSDVP_PALETTE_COLOR_REGION_AST_INFO             0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_TITLE_INFO           0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_CHAPTER_INFO         0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_TIME                 0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_KEY                  0xFFA928
#define OSDVP_PALETTE_COLOR_REGION_AUDIO                0xE5DD0D                    
#define OSDVP_PALETTE_COLOR_REGION_TV                   0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_EQUALIZER            0xE5DD0D
#define OSDVP_PALETTE_COLOR_REGION_ANGLE_ITEM           0xC8C8C8
#define OSDVP_PALETTE_COLOR_REGION_ANGLE_INFO           0xE5DD0D
#endif //GDI_4_BIT_OSD

//define the number of regions          
#define OSDVP_TOTAL_REGIONS                         14

//define the regions
#define OSDVP_REGION_TITLE                          0
#define OSDVP_REGION_CHAPTER                        1
#define OSDVP_REGION_SUBTITLE                       2
#define OSDVP_REGION_AST                            3
#define OSDVP_REGION_PLAY                           4
#define OSDVP_REGION_TIME                           5
#define OSDVP_REGION_KEY                            6
#define OSDVP_REGION_AUDIO                          7
#define OSDVP_REGION_EQUALIZER                      8
#define OSDVP_REGION_ANGLE                          9
#define OSDVP_REGION_TV                             10
#define OSDVP_REGION_STATUS                         11
#define OSDVP_REGION_REPEAT                         12
#define OSDVP_REGION_PROGRAM                        13
#define OSDVP_REGION_TVMODE                         14
#define OSDVP_REGION_MENU                           15
#define OSDVP_REGION_ALL                            0xFE
#define OSDVP_REGION_NONE                           0xFF

#ifdef SAMLL_DISPLAY_MODE_2 //CoCo.230, show small display mode.
//define the starting position and the size of the virtual panel
#define OSDVP_START_H                               0 
#define OSDVP_START_V                               32
#define OSDVP_WIDTH                                 608 //592
#define OSDVP_HEIGHT                                32

//subtitle region
#define OSDVP_REGION_SUBTITLE_START_H               OSDVP_START_H
#define OSDVP_REGION_SUBTITLE_START_V               OSDVP_START_V
#define OSDVP_REGION_SUBTITLE_WIDTH                 200//168
#define OSDVP_REGION_SUBTITLE_HEIGHT                OSDVP_HEIGHT
#define OSDVP_REGION_SUBTITLE_ITEM_COLOR            OSDVP_PALETTE_ENTRY_REGION_SUBTITLE_ITEM
#define OSDVP_REGION_SUBTITLE_INFO_COLOR            OSDVP_PALETTE_ENTRY_REGION_SUBTITLE_INFO
#define OSDVP_REGION_SUBTITLE_INFO_NUMBER_INDEX     0

#define OSDVP_DISTANCE_REGION_SUBTITLE_AST          0

//AST region
#define OSDVP_REGION_AST_START_H                    (OSDVP_REGION_SUBTITLE_START_H+OSDVP_REGION_SUBTITLE_WIDTH+OSDVP_DISTANCE_REGION_SUBTITLE_AST)
#define OSDVP_REGION_AST_START_V                    OSDVP_START_V
#define OSDVP_REGION_AST_WIDTH                      168
#define OSDVP_REGION_AST_HEIGHT                     OSDVP_HEIGHT
#define OSDVP_REGION_AST_ITEM_COLOR                 OSDVP_PALETTE_ENTRY_REGION_AST_ITEM
#define OSDVP_REGION_AST_INFO_COLOR                 OSDVP_PALETTE_ENTRY_REGION_AST_INFO
#define OSDVP_REGION_AST_INFO_NUMBER_INDEX          0

//define the distance between region 5 and region 10
#define OSDVP_DISTANCE_REGION_AST_AUDIO             0

//display audio (type+info)
#define OSDVP_REGION_AUDIO_START_H                  (OSDVP_REGION_AST_START_H+OSDVP_REGION_AST_WIDTH+OSDVP_DISTANCE_REGION_AST_AUDIO)
#define OSDVP_REGION_AUDIO_START_V                  OSDVP_START_V
#define OSDVP_REGION_AUDIO_WIDTH                    152
#define OSDVP_REGION_AUDIO_HEIGHT                   OSDVP_HEIGHT
#define OSDVP_REGION_AUDIO_COLOR                    OSDVP_PALETTE_ENTRY_REGION_AUDIO
#define OSDVP_REGION_AUDIO_LETTER_INDEX             0

//define the distance between TV amd angle
#define OSDVP_DISTANCE_REGION_AUDIO_ANGLE           0

//display angle
#define OSDVP_REGION_ANGLE_START_H                  (OSDVP_REGION_AUDIO_START_H+OSDVP_REGION_AUDIO_WIDTH+OSDVP_DISTANCE_REGION_AUDIO_ANGLE)
#define OSDVP_REGION_ANGLE_START_V                  OSDVP_START_V
#define OSDVP_REGION_ANGLE_WIDTH                    88//96
#define OSDVP_REGION_ANGLE_HEIGHT                   OSDVP_HEIGHT
#define OSDVP_REGION_ANGLE_ITEM_COLOR               OSDVP_PALETTE_ENTRY_REGION_ANGLE_ITEM
#define OSDVP_REGION_ANGLE_INFO_COLOR               OSDVP_PALETTE_ENTRY_REGION_ANGLE_INFO
#define OSDVP_REGION_ANGLE_NUMBER_INDEX             0

//define the height of each line.
#define OSDVP_REGION_LINE_0_HEIGHT                  32
#define OSDVP_REGION_LINE_1_HEIGHT                  32
#define OSDVP_REGION_LINE_2_HEIGHT                  32

//define the distance between each line
#define OSDVP_DISTANCE_LINE_0_1                     5
#define OSDVP_DISTANCE_LINE_1_2                     5

//define the vertical string position for each line
#define OSDVP_REGION_LINE_0_START_V                 OSDVP_START_V
#define OSDVP_REGION_LINE_1_START_V                 (OSDVP_REGION_LINE_0_START_V+OSDVP_REGION_LINE_0_HEIGHT+OSDVP_DISTANCE_LINE_0_1)
#define OSDVP_REGION_LINE_2_START_V                 (OSDVP_REGION_LINE_1_START_V+OSDVP_REGION_LINE_1_HEIGHT+OSDVP_DISTANCE_LINE_1_2)
            
//Region1: display the title for DVD
#define OSDVP_REGION_TITLE_START_H                  (OSDVP_START_H+8)
#define OSDVP_REGION_TITLE_START_V                  OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_TITLE_WIDTH                    152
#define OSDVP_REGION_TITLE_HEIGHT                   OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_TITLE_ITEM_COLOR               OSDVP_PALETTE_ENTRY_REGION_TITLE_ITEM
#define OSDVP_REGION_TITLE_INFO_COLOR               OSDVP_PALETTE_ENTRY_REGION_TITLE_INFO
#define OSDVP_REGION_TITLE_INFO_NUMBER_INDEX        0

//define the distance between region 1 and region 2.
#define OSDVP_DISTANCE_REGION_TITLE_CHAPTER         0

//Region2: display the chapter for DVD
#define OSDVP_REGION_CHAPTER_START_H                (OSDVP_REGION_TITLE_START_H+OSDVP_REGION_TITLE_WIDTH+OSDVP_DISTANCE_REGION_TITLE_CHAPTER)                    
#define OSDVP_REGION_CHAPTER_START_V                OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_CHAPTER_WIDTH                  184
#define OSDVP_REGION_CHAPTER_HEIGHT                 OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_CHAPTER_ITEM_COLOR             OSDVP_PALETTE_ENTRY_REGION_CHAPTER_ITEM
#define OSDVP_REGION_CHAPTER_INFO_COLOR             OSDVP_PALETTE_ENTRY_REGION_CHAPTER_INFO
#define OSDVP_REGION_CHAPTER_INFO_NUMBER_INDEX      0

//Region: a special title+chapter region (for DVD menu, title menu)
#define OSDVP_REGION_MENU_START_H                   (OSDVP_START_H+8)
#define OSDVP_REGION_MENU_START_V                   OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_MENU_WIDTH                     (OSDVP_REGION_TITLE_WIDTH+OSDVP_DISTANCE_REGION_TITLE_CHAPTER+OSDVP_REGION_CHAPTER_WIDTH)
#define OSDVP_REGION_MENU_HEIGHT                    OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_MENU_COLOR                     OSDVP_PALETTE_ENTRY_REGION_MENU

//define the distance between region 1 and region 2.
#define OSDVP_DISTANCE_REGION_CHAPTER_TIME          8

//Region8: display the time
#define OSDVP_REGION_TIME_START_H                   (OSDVP_REGION_CHAPTER_START_H+OSDVP_REGION_CHAPTER_WIDTH+OSDVP_DISTANCE_REGION_CHAPTER_TIME)
#define OSDVP_REGION_TIME_START_V                   OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_TIME_WIDTH                     128
#define OSDVP_REGION_TIME_HEIGHT                    OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_TIME_COLOR                     OSDVP_PALETTE_ENTRY_REGION_TIME
#define OSDVP_REGION_TIME_NUMBER_INDEX              1

//#define OSDVP_DISTANCE_REGION_TIME_STATUS           40
#define OSDVP_DISTANCE_REGION_STATUS_BACKGROUND     8

//define the region to display playing mode.
//#define OSDVP_REGION_STATUS_START_H                  (OSDVP_REGION_TIME_START_H+OSDVP_REGION_TIME_WIDTH+OSDVP_DISTANCE_REGION_TIME_STATUS)
#define OSDVP_REGION_STATUS_WIDTH                   32
#define OSDVP_REGION_STATUS_START_H                 (OSDVP_START_H+OSDVP_WIDTH-OSDVP_DISTANCE_REGION_STATUS_BACKGROUND-OSDVP_REGION_STATUS_WIDTH)
#define OSDVP_REGION_STATUS_START_V                 OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_STATUS_HEIGHT                  OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_STATUS_COLOR                   OSDVP_PALETTE_ENTRY_REGION_STATUS

//Show other Repeat Status
#define OSDVP_REGION_REPEAT_WIDTH                   32
#define OSDVP_REGION_REPEAT_START_H                 (OSDVP_REGION_STATUS_START_H - OSDVP_REGION_REPEAT_WIDTH)
#define OSDVP_REGION_REPEAT_START_V                 OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_REPEAT_HEIGHT                  OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_REPEAT_COLOR                   OSDVP_PALETTE_ENTRY_REGION_REPEAT

//Show other Program status
#define OSDVP_REGION_PROGRAM_WIDTH                  32
#define OSDVP_REGION_PROGRAM_START_H                (OSDVP_REGION_REPEAT_START_H - OSDVP_REGION_PROGRAM_WIDTH)
#define OSDVP_REGION_PROGRAM_START_V                OSDVP_REGION_LINE_0_START_V
#define OSDVP_REGION_PROGRAM_HEIGHT                 OSDVP_REGION_LINE_0_HEIGHT
#define OSDVP_REGION_PROGRAM_COLOR                  OSDVP_PALETTE_ENTRY_REGION_PROGRAM

//define the distance between region 4 and region 9
#define OSDVP_DISTANCE_REGION_AST_KEY               0

//define the distance between region 9 and region 10
#define OSDVP_DISTANCE_REGION_TIME_KEY              24

//Region9: display the key
#define OSDVP_REGION_KEY_START_H                    (OSDVP_REGION_TIME_START_H+OSDVP_REGION_TIME_WIDTH+OSDVP_DISTANCE_REGION_TIME_KEY)
#define OSDVP_REGION_KEY_START_V                    OSDVP_REGION_LINE_0_START_V
//#define OSDVP_REGION_KEY_WIDTH                      176
#define OSDVP_REGION_KEY_WIDTH                      (OSDVP_START_H+OSDVP_WIDTH-OSDVP_REGION_KEY_START_H-1)
#define OSDVP_REGION_KEY_HEIGHT                     OSDVP_REGION_LINE_0_HEIGHT

⌨️ 快捷键说明

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