📄 osdnd.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 normal display.
// Sources : OSDVP.c
//***************************************************************************
#ifndef __OSDND_H__
#define __OSDND_H__
//The definitions for normal display
//define the mix ratio of the background for normal display.
#define OSDND_MIX_RATIO_BACKGROUND 28
#ifdef SUPPORT_FONT_26
#define OSDND_FONT_HEIGHT 26
#else
#define OSDND_FONT_HEIGHT 32
#endif
//define the index of the font
#define OSDND_FONT_INDEX 1
//define max "dot" when loading disc. For example, the max number of dots are 3 in "Loading..."
#define OSDND_MAX_DOT_NUM_FOR_LOADING 3
//define the regions
#define OSDND_UPPER_RIGHT_REGION 0
#define OSDND_BOTTOM_REGION 1
#define OSDND_UNKNOWN_REGION 2
//define the distance between the end of the background and the display.
#ifdef SAMLL_DISPLAY_MODE_2 //CoCo.230, show small display mode.
#define OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_H 0 //24 //CoCo1.24, for OSD's horizontal position move
#define OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_V 0 //6
#else
#define OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_H 40 //24 //CoCo1.24, for OSD's horizontal position move
#define OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_V 20 //6
#endif
//define the background region for upper right message
#define OSDND_UPPER_BACKGROUND_START_H 0
#define OSDND_UPPER_BACKGROUND_START_V 0
#ifdef SAMLL_DISPLAY_MODE_2 //CoCo.230, show small display mode.
#define OSDND_UPPER_BACKGROUND_RIGHT 592
#else
#define OSDND_UPPER_BACKGROUND_RIGHT 640
#endif
#define OSDND_UPPER_BACKGROUND_BOTTOM (OSDND_UPPER_BACKGROUND_START_V+OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_V+OSDND_FONT_HEIGHT-1)
//define the end the upper right message
#define OSDND_DISPLAY_UPPER_RIGHT_POS_H (OSDND_UPPER_BACKGROUND_RIGHT-OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_H)
#define OSDND_DISPLAY_UPPER_RIGHT_POS_V (OSDND_UPPER_BACKGROUND_START_V+OSDND_UPPER_BACKGROUND_RIGHT_DISPLAY_DISTANCE_V)
//define the background region for bottom message
#ifdef SAMLL_DISPLAY_MODE_2 //CoCo.230, show small display mode.
#define OSDND_BOTTOM_BACKGROUND_START_H 0
#define OSDND_BOTTOM_BACKGROUND_START_V 64
#define OSDND_BOTTOM_BACKGROUND_START_RIGHT 592
#define OSDND_BOTTOM_BACKGROUND_START_BOTTOM (OSDND_BOTTOM_BACKGROUND_START_V+OSDND_FONT_HEIGHT-1)
#else
#define OSDND_BOTTOM_BACKGROUND_START_H 0
#define OSDND_BOTTOM_BACKGROUND_START_V 360
#define OSDND_BOTTOM_BACKGROUND_START_RIGHT 640
#define OSDND_BOTTOM_BACKGROUND_START_BOTTOM 460
#endif
//define the distance between the background and the content for bottom message.
#define OSDND_BOTTOM_BACKGROUND_DISPLAY_DISTANCE_H 16
#define OSDND_BOTTOM_BACKGROUND_DISPLAY_DISTANCE_V 0
//define the starting position for bottom message
#define OSDND_DISPLAY_BOTTOM_START_H (OSDND_BOTTOM_BACKGROUND_START_H+OSDND_BOTTOM_BACKGROUND_DISPLAY_DISTANCE_H)
#define OSDND_DISPLAY_BOTTOM_START_V (OSDND_BOTTOM_BACKGROUND_START_V+OSDND_BOTTOM_BACKGROUND_DISPLAY_DISTANCE_V)
#ifdef GDI_4_BIT_OSD
//define the palette entry
#define OSDND_PALETTE_ENTRY_BACKGROUND GDI_ENTRY_4B_COLOR_GENERAL_BG_BLACK
#define OSDND_PALETTE_ENTRY_UPPER_RIGHT_STRING GDI_ENTRY_4B_COLOR_WHITE
#define OSDND_PALETTE_ENTRY_BOTTOM_STRING GDI_ENTRY_4B_COLOR_YELLOW
#define OSDND_PALETTE_ENTRY_BAR_FG GDI_ENTRY_4B_COLOR_GREEN
#else
//define the starting entry for color palette
#define OSDND_PALETTE_ENTRY_START 240
//define the palette entry
#define OSDND_PALETTE_ENTRY_BACKGROUND OSDND_PALETTE_ENTRY_START
#define OSDND_PALETTE_ENTRY_UPPER_RIGHT_STRING (OSDND_PALETTE_ENTRY_START+1)
#define OSDND_PALETTE_ENTRY_BOTTOM_STRING (OSDND_PALETTE_ENTRY_START+2)
#define OSDND_PALETTE_ENTRY_BAR_FG (OSDND_PALETTE_ENTRY_START+3)
//define the palette color
#define OSDND_PALETTE_COLOR_BACKGROUND 0x404040
#define OSDND_PALETTE_COLOR_UPPER_RIGHT_STRING 0xC8C8C8
#define OSDND_PALETTE_COLOR_BOTTOM_STRING 0xE5DD0D
#define OSDND_PALETTE_COLOR_BAR_FG 0x007F00
#endif //GDI_4_BIT_OSD
//define the size of the volume bar
#define OSDND_DISPLAY_VOLUME_BAR_RANGE 16
#define OSDND_DISPLAY_VOLUME_BAR_WIDTH_PER_RANGE 15
#define OSDND_DISPLAY_VOLUME_BAR_HEIGHT 20
#define OSDND_DISPLAY_VOLUME_BAR_WIDTH (OSDND_DISPLAY_VOLUME_BAR_RANGE*OSDND_DISPLAY_VOLUME_BAR_WIDTH_PER_RANGE)
//define the distance between the bar the the font
#define OSDND_DISTANCE_FONT_VOLUME_BAR 8
//define the size of the key bar
#define OSDND_DISPLAY_AUDIO_KEY_BAR_RANGE 12
#define OSDND_DISPLAY_AUDIO_KEY_BAR_WIDTH_PER_RANGE 15
#define OSDND_DISPLAY_AUDIO_KEY_BAR_HEIGHT 20
#define OSDND_DISPLAY_AUDIO_KEY_BAR_WIDTH (OSDND_DISPLAY_AUDIO_KEY_BAR_RANGE*OSDND_DISPLAY_AUDIO_KEY_BAR_WIDTH_PER_RANGE)
//define the distance between the bar the the font
#define OSDND_DISTANCE_FONT_AUDIO_KEY_BAR 10
//define the size of the Echo bar
#define OSDND_DISPLAY_ECHO_BAR_RANGE 8
#define OSDND_DISPLAY_ECHO_BAR_WIDTH_PER_RANGE 15
#define OSDND_DISPLAY_ECHO_BAR_HEIGHT 20
#define OSDND_DISPLAY_ECHO_BAR_WIDTH (OSDND_DISPLAY_ECHO_BAR_RANGE*OSDND_DISPLAY_ECHO_BAR_WIDTH_PER_RANGE)
//define the distance between the bar the the font
#define OSDND_DISTANCE_FONT_ECHO_BAR 10
//The following is for Digest module OSD
//define the palette entry
#define OSDDG_PALETTE_ENTRY_BACKGROUND GDI_ENTRY_4B_COLOR_GENERAL_BG_BLACK
#define OSDDG_PALETTE_ENTRY_STRING GDI_ENTRY_4B_COLOR_WHITE
//define the mix ratio of the background for Digest
#define OSDDG_MIX_RATIO_BACKGROUND 28
//define the index of the font
#define OSDDG_NUM_INDEX 1
//define the height of the title and page.
#define OSDDG_REGION_HEIGHT 40
//define the position of title string
#define OSDDG_DISPLAY_TITLE_START_H 16
#define OSDDG_DISPLAY_TITLE_START_V 54
//defint the position of the page
#define OSDDG_DISPLAY_PAGE_END_H 600
#define OSDDG_DISPLAY_PAGE_END_V 54
//defint the region to clear the current page
#define OSDDG_CLEAR_REGION_PAGE 48
#ifdef SHOW_POWERON_BAR //Xuli1.05 Define for poweron moving bar
#define POWERONBAR_START_V_NTSC 330//370
#define POWERONBAR_START_V_PAL 380//420
#define POWERONBAR_END_H 616
#define POWERONBAR_FILL_WIDTH 200
#define POWERONBAR_MOVING_GAP 5 //percentage
#ifdef COLOR_BAR
#define SCROLLING_SPEED 4
#define POWERONBAR_SUB_BAR_WIDTH 4
#define POWERONBAR_SUB_BAR_NO 50
#define POWERONBAR_START_H (POWERONBAR_END_H-POWERONBAR_SUB_BAR_WIDTH*POWERONBAR_SUB_BAR_NO)/2 //(0x268-POWERONBAR_SUB_BAR_WIDTH*POWERONBAR_SUB_BAR_NO)/2
#else
#define POWERONBAR_START_H (POWERONBAR_END_H-POWERONBAR_FILL_WIDTH)/2 //(0x268-POWERONBAR_SUB_BAR_WIDTH*POWERONBAR_SUB_BAR_NO)/2
#endif //#ifdef COLOR_BAR
#endif //#ifdef SHOW_POWERON_BAR
//Exported API for OSD control module.
BYTE OSDND_Update(BYTE bMessage, WORD wParam);
BYTE OSDND_GetMessagePos(BYTE bMessage);
BYTE OSDDG_Update(BYTE bMessage, WORD wParam);
//Export APIs for general usage.
void OSD_ShowHourMinSec(BYTE bNumIndex);
void OSD_OutputNumFromIndex(WORD wNum, BYTE bNumIndex);
void OSD_OutputNum(WORD wNum, BYTE bNumIndex);
WORD OSD_TransformChar(char chCode, BYTE bIndex);
//Internal functions for normal display
void _OSDND_ClearRegion(BYTE bRegion);
void _OSDND_ShowUpperRightMessage(void);
void _OSDND_ShowBottomMessage(void);
void _OSDND_ShowSlideTransitionTime(void);
void _OSDND_ShowPlayAction(void);
void _OSDND_ShowTime(void);
void _OSDND_ShowAudio(void);
void _OSDND_SetBarAttribute(void);
void _OSDND_ShowVolume(void);
void _OSDND_ShowAudioKeyControl(void);
void _OSDND_ShowEcho(void);
void _OSDND_ShowSurround(void);
void _OSDND_Show3D(void);
void _OSDND_ShowAudioOutput(void); //CoCo1.23, for MSG_AUDIO_OUTPUT_CTL
void _OSDND_ShowAngle(void);
void _OSDND_InitializeGDI(void);
void _OSDND_ShowJPEGEffect(void);
void _OSDND_DefaultState(void);
void _OSDND_OutputUpString(void);
void _OSDND_OutputBottomString(void);
void _OSDND_Show10Plus(void);
void _OSDND_OutputErrorDisc(void);
void _OSDND_CodeToLanguage(WORD wCode);
void _OSDND_ShowDiscType(void);
void _OSDND_ShowString(void);
void _OSDND_ShowDebugNum(void);
void _OSDND_OutputKeyString(void);
void _OSDND_ShowNext(void);
void _OSDND_ShowPrevious(void);
void _OSDND_ShowRepeatState(void);
void _OSDND_ShowRepeatABState(void);
void _OSDND_ShowPBC(void);
void _OSDND_ShowTVMode(void);
void _OSDND_ShowZoomState(void);
void _OSDND_ShowVideoOutput(void);
BYTE _OSDND_ShowWaitingState(void);
void _OSDND_ShowVocal(void);
void _OSDND_ShowKaraoke(void);
void _OSDND_ShowSelection(void);
void _OSDND_OutputTextEx(WORD code *pw); //CoCo1.21, Port from Brian's 4M flash code reduction.
//The common functions for all display UI
//void _OSD_CodeToLanguage(WORD wCode);
void _OSD_ShowTimeNum(BYTE bNum, BYTE bNumIndex);
void _OSD_FillTransparentRegion(void);
void _OSD_OutputAudioType(void);
void _OSD_OutputAudioChannel(void);
//The API for Digest module.
void _OSDDG_ShowTitle(void);
//OSD global variables
extern BYTE __bOSDFg;
extern BYTE __bOSDBg;
extern WORD __wOSDUpVPos;
extern WORD __wOSDUpHPos;
extern WORD __wOSDBottomVPos;
extern WORD __wOSDBottomHPos;
#endif //__OSDND_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -