📄 sltmenu.h
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 05/10/12 09:19a $ ****************/
/*************** $Revision: 2.0 $ ****************/
/*************** ****************/
/*************** Description : ****************/
/*************** ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : shangbo lin ****************/
/**********************************************************************/
#ifndef _SLTMENU_H_
#define _SLTMENU_H_
// *********************************************************************
// selector position define
// *********************************************************************
#define SLT_RECT_WIDTH WB_SELECTOR_WIDTH
#define SLT_RECT_HEIGHT WB_SELECTOR_HEIGHT
#define SLT_RECT_START_X 0
#define SLT_RECT_START_Y 0
#define SLT_RECT_END_X (SLT_RECT_START_X + WB_SELECTOR_WIDTH)
#define SLT_RECT_END_Y (SLT_RECT_START_X + WB_SELECTOR_WIDTH)
#define SLT_MSG_LINE1_START_X 24
#define SLT_MSG_LINE1_START_Y 4
#define SLT_MSG_LINE2_START_X SLT_RECT_START_X
#define SLT_MSG_LINE2_END_X SLT_RECT_END_X
#define SLT_MSG_LINE2_START_Y 40
#define SLT_MSG_LINE2_END_Y 69
#define SLT_ITEM_START_Y 38
#define SLT_ITEM_END_Y 72
#define SLT_CORNER_BMP_WIDTH 12
#define SLT_CORNER_BMP_HEIGHT 12
// *********************************************************************
// selector palette define
// *********************************************************************
enum
{
SLT_COL_GRAY41,
SLT_COL_BLACK2,
SLT_COL_BLACK1,
SLT_COL_RED,
SLT_COL_RED1,
SLT_COL_WHITE,
SLT_COL_WHITE1,
SLT_COL_WHITE41,
SLT_COL_WHITE42,
SLT_COL_WHITE43,
SLT_COL_RED41,
SLT_COL_RED43,
SLT_COL_BLACK41,
SLT_COL_BLACK42,
SLT_COL_BLACK43,
SLT_COL_WHITE0,
SLT_COL_NS,
SLT_COL_MAX = SLT_COL_NS - 1,
SLT_COL_BG = SLT_COL_GRAY41
};
#define SLT_FOCUS_COLOR SLT_COL_RED43
#define SLT_UNFOCUS_COLOR SLT_COL_BLACK42
#define SLT_COLOR_BLEND BLEND_2
// *********************************************************************
// selector menu structure define
// *********************************************************************
#define OSD_SHOW_MENU_UP 0xA0
#define OSD_SHOW_MENU_DOWN 0xA1
typedef enum
{
SLT_STATE_INIT,
SLT_STATE_WAIT_TIMEOUT,
SLT_STATE_NORMAL
}E_SLT_STATE;
typedef struct
{
BYTE bItemCmd;
WORD pwItemMsg;
WORD wStartX;
WORD wEndX;
}S_SLT_ITEM_INDEX;
typedef struct
{
WORD pwMenuMsg;
S_SLT_ITEM_INDEX *prItem;
BYTE bItemCnt;
void (code *vMenuInit)(void) large;
BOOL (code *vMenuState)(void) large;
void (code *vMenuExit)(void) large;
}S_SLT_MENU_INDEX;
typedef struct
{
E_SLT_STATE eState;
BYTE eError;
BYTE bPosition;
}S_SELECTOR;
code S_SLT_ITEM_INDEX _rSltRepeatItemDvd[] = {
{SV_REPEAT_NONE, OSD_MSG_SLT_OFF, 8, 106},
{SV_REPEAT_AB, OSD_MSG_SLT_AB, 107, 191},
{SV_REPEAT_CHAPTER, OSD_MSG_SLT_CHAPTER, 192, 321},
{SV_REPEAT_TITLE, OSD_MSG_SLT_TITLE, 322, 459},
{SV_REPEAT_ALL, OSD_MSG_SLT_ALL, 460, 548}
};
code S_SLT_ITEM_INDEX _rSltRepeatItemVcd[] = {
{SV_REPEAT_NONE, OSD_MSG_SLT_OFF, 8, 106},
{SV_REPEAT_AB, OSD_MSG_SLT_AB, 107, 201},
{SV_REPEAT_TRACK, OSD_MSG_SLT_TRACK, 202, 313},
{SV_REPEAT_ALL, OSD_MSG_SLT_ALL, 314, 459}
};
code S_SLT_MENU_INDEX _rSltRepeatDvd[] ={
OSD_MSG_SLT_REPEAT,
_rSltRepeatItemDvd,
TBL_SIZE(_rSltRepeatItemDvd),
vRepeatMenuInit,
vRepeatMenuState,
vRepeatMenuExit
};
code S_SLT_MENU_INDEX _rSltRepeatVcd[] ={
OSD_MSG_SLT_REPEAT,
_rSltRepeatItemVcd,
TBL_SIZE(_rSltRepeatItemVcd),
vRepeatMenuInit,
vRepeatMenuState,
vRepeatMenuExit
};
code S_SLT_MENU_INDEX _rSltRepeatCdda[] ={
OSD_MSG_SLT_REPEAT,
_rSltRepeatItemVcd,
TBL_SIZE(_rSltRepeatItemVcd),
vRepeatMenuInit,
vRepeatMenuState,
vRepeatMenuExit
};
code S_SLT_MENU_INDEX *_rSltMenu[SLT_MENU_NS] ={
&_rSltRepeatDvd,
&_rSltRepeatVcd,
&_rSltRepeatCdda
};
#define bSltItemCmd(bMenu, bItem) ((_rSltMenu[bMenu]->prItem)[bItem].bItemCmd)
#define wSltItemMsg(bMenu, bItem) ((_rSltMenu[bMenu]->prItem)[bItem].pwItemMsg)
#define wSltItemStartX(bMenu, bItem) ((_rSltMenu[bMenu]->prItem)[bItem].wStartX)
#define wSltItemEndY(bMenu, bItem) ((_rSltMenu[bMenu]->prItem)[bItem].wEndX)
//*********************************************************************
// function relate define
//**********************************************************************
#define SLT_FUN_NULL 0x00
#define SLT_RET_FALSE 0x00
#define SLT_RET_SUCCESS 0x01
#define SLT_ERR_NONE 0x00
#define SLT_ERR_INVALID_OPERATION 0x01
#define SLT_ERR_REPEAT_OPERATION 0x02
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -