📄 osdvp.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 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 + -