📄 posi.h
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 07/04/09 11:58a $ ****************/
/*************** $Revision:: 2 $ ****************/
/*************** ****************/
/*************** Description : ****************/
/*************** ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#ifndef _POS_H_
#define _POS_H_
// *********************************************************************
// For position NTSC/PAL video/OSD offset
// *********************************************************************
#define OSD_NTSC_H_OFST (NTSC_ADJUST_H * 2 - OSD_NTSC_ADJUST_H * 2 + 4)
#define OSD_PAL_H_OFST (PAL_ADJUST_H * 2 - OSD_PAL_ADJUST_H * 2 + 10)
// *********************************************************************
// For position table number
// *********************************************************************
#define OSD_POS_TBL_LAYER1 0
#define OSD_POS_TBL_LAYER2 1
#define OSD_POS_TBL_PROG 2
#define OSD_POS_TBL_MARK 3
#define OSD_POS_TBL_DGST 4
#define OSD_POS_TBL_UPG 5
#define OSD_POS_TBL_AIN 6
#define OSD_POS_TBL_FLMENU 7
#define OSD_POS_TBL_GOTO 8
#ifdef SUPPORT_USB_COPY //yan 070409
#define OSD_POS_TBL_USB 9
#define OSD_POS_TBL_MAX 10
#else
#define OSD_POS_TBL_MAX 9
#endif
// *********************************************************************
// Macros
// *********************************************************************
#define wOsdPos(tbl,idx) ((WORD)(((tbl) << 8) | (idx)))
#define bOsdPosTbl(pos) ((BYTE)((pos) >> 8))
#define bOsdPosIdx(pos) ((BYTE)((pos) & 0x00ff))
#define OSD_POS_NULL ((WORD)(0xffff))
// *********************************************************************
// For Status Layer
// *********************************************************************
#define OSD_POS_REMAIN_MSG wOsdPos(OSD_POS_TBL_LAYER1, 0)
#define OSD_POS_INIT wOsdPos(OSD_POS_TBL_LAYER1, 1)
#define OSD_POS_PBC wOsdPos(OSD_POS_TBL_LAYER1, 2)
#define OSD_POS_PLAY_STATUS wOsdPos(OSD_POS_TBL_LAYER1, 3)
#define OSD_POS_TIME_LEFT wOsdPos(OSD_POS_TBL_LAYER1, 4)
#define OSD_POS_TIME_RIGHT wOsdPos(OSD_POS_TBL_LAYER1, 5)
#define OSD_POS_REPEAT wOsdPos(OSD_POS_TBL_LAYER1, 6)
#define OSD_POS_REPEAT_LEFT wOsdPos(OSD_POS_TBL_LAYER1, 7)
#define OSD_POS_ZOOM wOsdPos(OSD_POS_TBL_LAYER1, 8)
#define OSD_POS_ANGLE wOsdPos(OSD_POS_TBL_LAYER1, 9)
#define OSD_POS_PLAY_INFO wOsdPos(OSD_POS_TBL_LAYER1, 10)
#define OSD_POS_SUBTITLE wOsdPos(OSD_POS_TBL_LAYER1, 11)
#define OSD_POS_AUDIO wOsdPos(OSD_POS_TBL_LAYER1, 12)
#define OSD_POS_AUD_CTRL wOsdPos(OSD_POS_TBL_LAYER1, 13)
#define OSD_POS_AUD_CTRL1 wOsdPos(OSD_POS_TBL_LAYER1, 14)
#define OSD_POS_SHIFT_MARK wOsdPos(OSD_POS_TBL_LAYER1, 15)
#define OSD_POS_PCD_AUD_CTRL wOsdPos(OSD_POS_TBL_LAYER1, 16)
#define OSD_POS_ISO_TIME_LEFT wOsdPos(OSD_POS_TBL_LAYER1, 17)
#define OSD_POS_ISO_TIME_RIGHT wOsdPos(OSD_POS_TBL_LAYER1, 18)
#define OSD_POS_ISO_REPEAT wOsdPos(OSD_POS_TBL_LAYER1, 19)
#define OSD_POS_ISO_REPEAT_LEFT wOsdPos(OSD_POS_TBL_LAYER1, 20)
#define OSD_POS_ISO_ZOOM wOsdPos(OSD_POS_TBL_LAYER1, 21)
#define OSD_POS_KSCORE wOsdPos(OSD_POS_TBL_LAYER1, 22)
#define OSD_POS_KSINFO wOsdPos(OSD_POS_TBL_LAYER1, 23)
#define OSD_POS_DIVX6_STRM_INFO wOsdPos(OSD_POS_TBL_LAYER1, 24)
//alfonso
#if (defined( DDISC_SUPPORT_QT_CHAPTER) || defined(DIVXMENU_INFO))
#define OSD_POS_MP4_CHAP wOsdPos(OSD_POS_TBL_LAYER1, 25)
#define OSD_POS_LAYER1_MAX 26
#else /*!(DDISC_SUPPORT_QT_CHAPTER||DIVXMENU_INFO)*/
#define OSD_POS_LAYER1_MAX 25
#endif /* DDISC_SUPPORT_QT_CHAPTER||DIVXMENU_INFO */
#define fgIsLayer1(bPosIdx) (bOsdPosTbl(bPosIdx) == OSD_POS_TBL_LAYER1)
// *********************************************************************
// For Message Layer
// *********************************************************************
#define OSD_POS_LAYER2_LINE1 wOsdPos(OSD_POS_TBL_LAYER2, 0)
#define OSD_POS_LAYER2_LINE2 wOsdPos(OSD_POS_TBL_LAYER2, 1)
#define OSD_POS_LAYER2_LINE3 wOsdPos(OSD_POS_TBL_LAYER2, 2)
#define OSD_POS_LAYER2_LINE4 wOsdPos(OSD_POS_TBL_LAYER2, 3)
#define OSD_POS_LAYER2_MAX 4
#ifdef PLAYER_FLMENU
#define fgIsLayer2(bPosIdx) ((bOsdPosTbl(bPosIdx) == OSD_POS_TBL_LAYER2) && \
(!(fgIsIsoPlay() && fgFlCheckStatus(FL_STATUS_IN_MENU))))
#else
#define fgIsLayer2(bPosIdx) (bOsdPosTbl(bPosIdx) == OSD_POS_TBL_LAYER2)
#endif
// *********************************************************************
// Postion Alias
// *********************************************************************
#define OSD_POS_STOP_MSG1 OSD_POS_LAYER2_LINE4
#define OSD_POS_STOP_MSG2 OSD_POS_LAYER2_LINE2
#define OSD_POS_EMD_ATTACH OSD_POS_LAYER2_LINE2
#define OSD_POS_NORMAL OSD_POS_LAYER2_LINE1
#define OSD_POS_SELECT OSD_POS_LAYER2_LINE1
#define OSD_POS_ERROR OSD_POS_LAYER2_LINE1
#define OSD_POS_VCD_SEARCH OSD_POS_LAYER2_LINE3
#define OSD_POS_DVD_SEARCH OSD_POS_LAYER2_LINE3
#define OSD_POS_ISO_SEARCH OSD_POS_LAYER2_LINE1
/* for disc start play information */
#define OSD_POS_DISC_TYPE OSD_POS_LAYER2_LINE1
#define OSD_POS_PBC_2 OSD_POS_LAYER2_LINE2
#define OSD_POS_LAST_MEM OSD_POS_LAYER2_LINE3
#define OSD_POS_ISO_INFO OSD_POS_PLAY_INFO
/* for temp parental level password */
#define OSD_POS_PTL_PWD OSD_POS_LAYER2_LINE2
/* for JPEG zoom percent show */
#define OSD_POS_ZOOM_PCT OSD_POS_LAYER2_LINE2
// *********************************************************************
// Postion common definition
// *********************************************************************
#define OSD_POS_CLEAR 0xff
#endif /* _POS_H_ */
#define VOL_POS_X1 364 //(VOL_POS_X + 8*EFONT_WIDTH)
// *********************************************************************
// only for osdshow.c
// *********************************************************************
#ifdef _OSDSHOW_MAIN_C_
// *********************************************************************
// Position Table Type Define
// *********************************************************************
typedef struct
{
BYTE bWB;
WORD wX;
WORD wY;
WORD wWidth;
WORD wHeight;
}
strucOsdPos;
// *********************************************************************
// For Status Layer
// *********************************************************************
#define PBC_POS_Y 0
#define PBC_POS_Y2 (1 * LINE_HEIGHT)
#define SELECT_POS_X 0
#define ANGLE_POS_X ((LINE_WIDTH - 5) * EFONT_WIDTH)
#define ZOOM_POS_X (ANGLE_POS_X - 5 * EFONT_WIDTH)
#define PLAY_STATUS_POS_X ((LINE_WIDTH - 6) * EFONT_WIDTH) /* SF1/16: 6 chars */
#define PBC_POS_X ((LINE_WIDTH - 13) * EFONT_WIDTH) /* PBC OFF: 7 chars */
#define REPEAT_POS_X (7 * EFONT_WIDTH)
#define REPEAT_LEFT_POS_X (0)
#define INIT_POS_X 40
#define INIT_POS_Y 0
#define TIME_POS_X 0
#define TIME_POS_Y 0
#define TIME_POS_Y2 (1 * LINE_HEIGHT)
#define TIME_POS_X2 (20 * EFONT_WIDTH)
#define TIME_WIDTH (7 * EFONT_WIDTH)
#define T_TIME_WIDTH (8 * EFONT_WIDTH)
#ifdef TIME_INFO_SAME_LINE
#ifdef DVD_CHAP_3_DIGITS
#define PLAY_INFO_WIDTH (19 * EFONT_WIDTH)
#else
#define PLAY_INFO_WIDTH (18 * EFONT_WIDTH)
#endif
#else
#define PLAY_INFO_WIDTH DISP_WIDTH
#endif
//alfonso
#if (defined( DDISC_SUPPORT_QT_CHAPTER) || defined(DIVXMENU_INFO))
#define MP4_CHAP_WIDTH (19 * EFONT_WIDTH)
#endif /* DDISC_SUPPORT_QT_CHAPTER||DIVXMENU_INFO */
#define HEAD_POS_X 0
#define HEAD_POS_Y 0
#define HEAD_POS_Y2 (1 * LINE_HEIGHT)
#define VOL_POS_X 0
#define VOL_POS_Y 0
#define SHIFT_MARK_POS_X ((LINE_WIDTH - 2) * EFONT_WIDTH)
#define KSCORE_POS_X (HEAD_POS_X + 20 * EFONT_WIDTH)
#define KSINFO_POS_X (HEAD_POS_X + 7 * EFONT_WIDTH)
// *********************************************************************
// For Status Layer
// *********************************************************************
static code strucOsdPos pwPosLayer1[OSD_POS_LAYER1_MAX] = {
{WB_NORMAL_HEAD1, TIME_POS_X, TIME_POS_Y, /* 00 OSD_POS_REMAIN_MSG */
PBC_POS_X - TIME_POS_X},
{WB_NORMAL_HEAD1, INIT_POS_X, INIT_POS_Y, /* 01 OSD_POS_INIT */
PBC_POS_X - INIT_POS_X},
{WB_NORMAL_HEAD1, PBC_POS_X, HEAD_POS_Y, /* 02 OSD_POS_PBC */
PLAY_STATUS_POS_X - PBC_POS_X},
{WB_NORMAL_HEAD1, PLAY_STATUS_POS_X, HEAD_POS_Y, /* 03 OSD_POS_PLAY_STATUS */
DISP_WIDTH - PLAY_STATUS_POS_X},
#ifdef OSD_SWAP_LINE_23
{WB_NORMAL_PBC1, TIME_POS_X, TIME_POS_Y, /* 04 OSD_POS_TIME_LEFT */
TIME_WIDTH},
{WB_NORMAL_HEAD2, TIME_POS_X2, TIME_POS_Y, /* 05 OSD_POS_TIME_RIGHT */
T_TIME_WIDTH},
{WB_NORMAL_PBC1, REPEAT_POS_X, PBC_POS_Y, /* 06 OSD_POS_REPEAT */
ZOOM_POS_X - REPEAT_POS_X},
{WB_NORMAL_PBC1, REPEAT_LEFT_POS_X, PBC_POS_Y, /* 07 OSD_POS_REPEAT_LEFT */
ZOOM_POS_X - REPEAT_LEFT_POS_X},
{WB_NORMAL_PBC1, ZOOM_POS_X, PBC_POS_Y, /* 08 OSD_POS_ZOOM */
ANGLE_POS_X - ZOOM_POS_X},
{WB_NORMAL_PBC1, ANGLE_POS_X, PBC_POS_Y, /* 09 OSD_POS_ANGLE */
DISP_WIDTH - ANGLE_POS_X},
{WB_NORMAL_HEAD2, HEAD_POS_X, HEAD_POS_Y, /* 10 OSD_POS_PLAY_INFO */
PLAY_INFO_WIDTH},
#else /* original position */
{WB_NORMAL_HEAD2, TIME_POS_X, TIME_POS_Y, /* 04 OSD_POS_TIME_LEFT */
TIME_WIDTH},
{WB_NORMAL_PBC1, TIME_POS_X2, TIME_POS_Y, /* 05 OSD_POS_TIME_RIGHT */
T_TIME_WIDTH},
{WB_NORMAL_HEAD2, REPEAT_POS_X, PBC_POS_Y, /* 06 OSD_POS_REPEAT */
ZOOM_POS_X - REPEAT_POS_X},
{WB_NORMAL_HEAD2, REPEAT_LEFT_POS_X, PBC_POS_Y, /* 07 OSD_POS_REPEAT_LEFT */
ZOOM_POS_X - REPEAT_LEFT_POS_X},
{WB_NORMAL_HEAD2, ZOOM_POS_X, PBC_POS_Y, /* 08 OSD_POS_ZOOM */
ANGLE_POS_X - ZOOM_POS_X},
{WB_NORMAL_HEAD2, ANGLE_POS_X, PBC_POS_Y, /* 09 OSD_POS_ANGLE */
DISP_WIDTH - ANGLE_POS_X},
{WB_NORMAL_PBC1, HEAD_POS_X, HEAD_POS_Y, /* 10 OSD_POS_PLAY_INFO */
PLAY_INFO_WIDTH},
#endif /* original position */
{WB_NORMAL_PBC2, HEAD_POS_X, PBC_POS_Y, /* 11 OSD_POS_SUBTITLE */
DISP_WIDTH - HEAD_POS_X},
{WB_NORMAL_PBC2, HEAD_POS_X, PBC_POS_Y, /* 12 OSD_POS_AUDIO */
DISP_WIDTH - HEAD_POS_X},
{WB_NORMAL_VOL, VOL_POS_X, VOL_POS_Y, /* 13 OSD_POS_AUD_CTRL */
DISP_WIDTH - VOL_POS_X},
{WB_NORMAL_VOL, VOL_POS_X1, VOL_POS_Y, /* 14 OSD_POS_AUD_CTRL1 */
DISP_WIDTH - VOL_POS_X1},
{WB_NORMAL_VOL, SHIFT_MARK_POS_X, VOL_POS_Y, /* 15 OSD_POS_SHIFT_MARK */
2*EFONT_WIDTH},
{WB_NORMAL_HEAD2, VOL_POS_X, VOL_POS_Y, /* 16 OSD_POS_PCD_AUD_CTRL */
DISP_WIDTH - VOL_POS_X},
{WB_NORMAL_HEAD2, TIME_POS_X, TIME_POS_Y, /* 17 OSD_POS_ISO_TIME_LEFT */
TIME_WIDTH},
{WB_NORMAL_PBC1, TIME_POS_X2, TIME_POS_Y, /* 18 OSD_POS_ISO_TIME_RIGHT */
T_TIME_WIDTH},
{WB_NORMAL_HEAD2, REPEAT_POS_X, PBC_POS_Y, /* 19 OSD_POS_ISO_REPEAT */
ZOOM_POS_X - REPEAT_POS_X},
{WB_NORMAL_HEAD2, REPEAT_LEFT_POS_X, PBC_POS_Y, /* 20 OSD_POS_ISO_REPEAT_LEFT */
ZOOM_POS_X - REPEAT_LEFT_POS_X},
{WB_NORMAL_HEAD2, ZOOM_POS_X, PBC_POS_Y, /* 21 OSD_POS_ISO_ZOOM */
ANGLE_POS_X - ZOOM_POS_X},
{WB_NORMAL_HEAD1, KSCORE_POS_X, INIT_POS_Y, /* 22 OSD_POS_KSCORE */
DISP_WIDTH - KSCORE_POS_X},
{WB_NORMAL_HEAD1, KSINFO_POS_X, INIT_POS_Y, /* 23 OSD_POS_KSINFO */
DISP_WIDTH - KSINFO_POS_X},
{WB_NORMAL_PBC2, HEAD_POS_X, PBC_POS_Y2, /* 24 OSD_POS_DIVX6_STRM_INFO */
DISP_WIDTH - HEAD_POS_X},
//alfonso
#if (defined( DDISC_SUPPORT_QT_CHAPTER) || defined(DIVXMENU_INFO))
{WB_NORMAL_PBC1, HEAD_POS_X, HEAD_POS_Y, /* 24 OSD_POS_MP4_CHAP */
MP4_CHAP_WIDTH},
#endif /* DDISC_SUPPORT_QT_CHAPTER||DIVXMENU_INFO */
};
// *********************************************************************
// For Message Layer
// *********************************************************************
static code strucOsdPos pwPosLayer2[OSD_POS_LAYER2_MAX] = {
{WB_OVERLAY_MSG1, HEAD_POS_X, HEAD_POS_Y, /* 00 OSD_POS_LAYER2_LINE1 */
DISP_WIDTH - HEAD_POS_X},
{WB_OVERLAY_MSG2, HEAD_POS_X, HEAD_POS_Y, /* 01 OSD_POS_LAYER2_LINE2 */
DISP_WIDTH - HEAD_POS_X},
{WB_OVERLAY_MSG3, HEAD_POS_X, HEAD_POS_Y, /* 02 OSD_POS_LAYER2_LINE3 */
DISP_WIDTH - HEAD_POS_X},
{WB_OVERLAY_MSG4, HEAD_POS_X, HEAD_POS_Y, /* 03 OSD_POS_LAYER2_LINE4 */
DISP_WIDTH - HEAD_POS_X}
};
#ifdef SUPPORT_USB_COPY //yan 070409
#define OSD_POS_USB_PERCENT wOsdPos(OSD_POS_TBL_USB, 0)
#define OSD_POS_USB_MAX 1
static code strucOsdPos pwPosUSB[OSD_POS_USB_MAX] = {
{WB_USB_MENU, USB_ITEM_BEGIN_X+10,
USB_ITEM_BEGIN_Y+LINE_HEIGHT,
LINE_HEIGHT}
};
#endif
#endif /* _OSDSHOW_MAIN_C_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -