?? vremote.c
字號:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 07/04/09 11:49a $ ****************/
/*************** $Revision:: 2 $ ****************/
/*************** ****************/
/*************** Description : Virtual Remote ****************/
/*************** Control ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Chi-hung Chen ****************/
/**********************************************************************/
#include "general.h"
#define VRMT_NOMENU_ITEM
#ifdef PLAYER_VRMT
#pragma NOAREGS
typedef struct structVremote
{
/* Byte 1 */
BYTE bState:4;
BYTE bPosition:4;
/* Byte 2 */
BYTE bMenuType;
#if 0
/* BYTE 1 */
BYTE bType:4; /* digest type */
BYTE bState:3; /* input state */
BYTE fgResume:1; /* from stop or from play? */
/* BYTE 2 */
BYTE bPageItemMax:4; /* current display item max, for display */
BYTE bCurItem:4; /* current item for input state */
/* BYTE 3 */
BYTE bSelNoMax; /* selection number max, max 99, for menu */
/* BYTE 4 */
BYTE bTypeParm; /* parameter for digest type */
/* BYTE 5 */
BYTE bPageNo:5; /* page number, from 0 to 16 */
BYTE fgPrevValid:1; /* is exist previous page? */
BYTE fgNextValid:1; /* is exist next page? */
BYTE fgDispValid:1; /* is digest display finished? */
#endif
} strucVremote;
typedef struct structFocusItem
{
BYTE bIRKey;
BYTE bUpLink;
BYTE bDownLink;
BYTE bLeftLink;
BYTE bRightLink;
WORD wStartX;
WORD wStartY;
WORD wEndX;
WORD wEndY;
} strucFocusItem;
#ifdef VRMT_NOMENU_ITEM
#else
static code WORD _wVrmtMenuItemMsgId[3]={
OSD_MSG_AUDIO_SETTING, OSD_MSG_SUBTITLE_SETTING, OSD_MSG_ANGLE_SETTING};
#endif
//atic code BYTE _bVrmtMenuItemBmpId[3]={
// BMP_VRMT_AUDIO,BMP_VRMT_SUBTITLE,BMP_VRMT_ANGLE};
static xdata strucVremote _rVremote;
// Define each focus item according to their position.
// Positions are as below:
//
// ( 9 ) -> 12
// ( 10 ) -> 13
// ( 11 ) -> 14
// 0 | 1 | 2
// --+--+--
// 3 | 4 | 5
// --+--+--
// 6 | 7 | 8
//
#define VRMT_SMALL_DISH
#ifdef VRMT_SMALL_DISH
#define OFSX0 4
#define OFSW0 0
#define OFSY0 12
#define OFSH0 4
#define OFSX1 (-8)
#define OFSW1 24
#define OFSY1 0
#define OFSH1 0
#define OFSX2 (-4)
#define OFSW2 0
#define OFSY2 16
#define OFSH2 0
#define OFSX3 0
#define OFSW3 0
#define OFSY3 0
#define OFSH3 0
#define OFSX4 8
#define OFSW4 (-8)
#define OFSY4 (-6)
#define OFSH4 0
#define OFSX5 0
#define OFSW5 0
#define OFSY5 (-4)
#define OFSH5 0
#define OFSX6 8
#define OFSW6 0
#define OFSY6 (-16)
#define OFSH6 0
#define OFSX7 (-4)
#define OFSW7 14
#define OFSY7 (-4)
#define OFSH7 0
#define OFSX8 (-8)
#define OFSW8 0
#define OFSY8 (-20)
#define OFSH8 (-4)
#else
#define OFSX0 4
#define OFSW0 0
#define OFSY0 16
#define OFSH0 0
#define OFSX1 (-8)
#define OFSW1 24
#define OFSY1 0
#define OFSH1 0
#define OFSX2 (-4)
#define OFSW2 0
#define OFSY2 16
#define OFSH2 0
#define OFSX3 0
#define OFSW3 0
#define OFSY3 0
#define OFSH3 0
#define OFSX4 8
#define OFSW4 (-8)
#define OFSY4 (-6)
#define OFSH4 0
#define OFSX5 0
#define OFSW5 0
#define OFSY5 (-4)
#define OFSH5 0
#define OFSX6 8
#define OFSW6 0
#define OFSY6 (-16)
#define OFSH6 0
#define OFSX7 (-4)
#define OFSW7 8
#define OFSY7 0
#define OFSH7 0
#define OFSX8 (-8)
#define OFSW8 0
#define OFSY8 (-24)
#define OFSH8 0
#endif
#ifdef VRMT_SMALL_DISH
#define DISH_BLOCK_WIDTH 50
#define DISH_BLOCK_HEIGHT 43
#else
#define DISH_BLOCK_WIDTH 60
#define DISH_BLOCK_HEIGHT 50
#endif
code strucFocusItem _rFocusItem[VRMT_MAX_NO_OF_FOCUS_ITEM]=
{
// for a round dash board.
// sample {up_link_0,down_link_0,left_link_0,right_link_0,DISH_START_X+DISH_X_OFFSET_0,DISH_START_Y+DISH_Y_OFFSET_0}
//if T player style
//{IR_SR, 1, 3, 3, 1,VRMT_DISH_STARTX+OFSX0,VRMT_DISH_STARTY+OFSY0,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX0+OFSW0,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY0+OFSH0},//pos 0
//{IR_PAUSE_STEP, 10, 4, 0, 2,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX1,VRMT_DISH_STARTY+OFSY1,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX1+OFSW1,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY1+OFSH1},//pos 1
//{IR_SF, 1, 5, 1, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX2,VRMT_DISH_STARTY+OFSY2,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX2+OFSW2,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY2+OFSH2},//pos 2
//{IR_PREV, 0, 6, 3, 4,VRMT_DISH_STARTX+OFSX3,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY3,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX3+OFSW3,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY3+OFSH3},//pos 3
//{IR_PLAY_RESUME, 1, 7, 3, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX4,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY4,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX4+OFSW4,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY4+OFSH4},//pos 4
//{IR_NEXT, 2, 8, 4, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX5,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX5+OFSW5,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY5+OFSH5},//pos 5
//{IR_FR, 3, 7, 3, 7,VRMT_DISH_STARTX+OFSX6,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY6,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX6+OFSW6,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY6+OFSH6},//pos 6
//{IR_GOTO, 4, 7, 6, 8,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX7,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY7,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX7+OFSW7,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY7+OFSH7},//pos 7
//{IR_FF, 5, 7, 7, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX8,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY8,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX8+OFSW8,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY8+OFSH8},//pos 8
//if mtk player style
//{IR_SR, 1, 3, 11, 1,150+VRMT_DISH_STARTX+OFSX0,VRMT_DISH_STARTY+OFSY0,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX0+OFSW0,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY0+OFSH0},//pos 0
//{IR_PAUSE_STEP, 1, 4, 0, 2,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX1,VRMT_DISH_STARTY+OFSY1,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX1+OFSW1,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY1+OFSH1},//pos 1
//{IR_SF, 1, 5, 1, 5,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX2,VRMT_DISH_STARTY+OFSY2,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX2+OFSW2,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY2+OFSH2},//pos 2
//{IR_PREV, 0, 6, 11, 4,150+VRMT_DISH_STARTX+OFSX3,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY3,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX3+OFSW3,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY3+OFSH3},//pos 3
//{IR_PLAY_RESUME, 1, 7, 3, 5,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX4,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY4,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX4+OFSW4,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY4+OFSH4},//pos 4
//{IR_NEXT, 2, 8, 4, 5,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX5,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY5,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX5+OFSW5,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY5+OFSH5},//pos 5
//{IR_FR, 3, 7, 11, 7,150+VRMT_DISH_STARTX+OFSX6,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY6,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX6+OFSW6,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY6+OFSH6},//pos 6
//{IR_GOTO, 4, 7, 6, 8,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX7,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY7,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX7+OFSW7,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY7+OFSH7},//pos 7
//{IR_FF, 5, 7, 7, 5,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX8,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY8,150+VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX8+OFSW8,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY8+OFSH8},//pos 8
//if mtk player style blue system
{IR_SR, 1, 3, 3, 1,VRMT_DISH_STARTX+OFSX0,VRMT_DISH_STARTY+OFSY0,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX0+OFSW0,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY0+OFSH0},//pos 0
{IR_STEP, 1, 4, 0, 2,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX1,VRMT_DISH_STARTY+OFSY1,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX1+OFSW1,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY1+OFSH1},//pos 1
{IR_SF, 1, 5, 1, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX2,VRMT_DISH_STARTY+OFSY2,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX2+OFSW2,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY2+OFSH2},//pos 2
{IR_PREV, 0, 6, 3, 4,VRMT_DISH_STARTX+OFSX3,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY3,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX3+OFSW3,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY3+OFSH3},//pos 3
{IR_PLAY_RESUME, 1, 7, 3, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX4,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY4,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX4+OFSW4,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY4+OFSH4},//pos 4
{IR_NEXT, 2, 8, 4, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX5,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT+OFSY5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX5+OFSW5,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY5+OFSH5},//pos 5
{IR_FR, 3, 9, 3, 7,VRMT_DISH_STARTX+OFSX6,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY6,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX6+OFSW6,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY6+OFSH6},//pos 6
{IR_PAUSE, 4, 10, 6, 8,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH+OFSX7,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY7,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX7+OFSW7,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY7+OFSH7},//pos 7
{IR_FF, 5, 11, 7, 5,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*2+OFSX8,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*2+OFSY8,VRMT_DISH_STARTX+DISH_BLOCK_WIDTH*3+OFSX8+OFSW8,VRMT_DISH_STARTY+DISH_BLOCK_HEIGHT*3+OFSY8+OFSH8},//pos 8
#if 0 //this setting divided the whole dash as 9 parts equally.
{IR_SR, 11, 3, 0, 1,VRMT_DISH_STARTX,VRMT_DISH_STARTY,VRMT_DISH_STARTX+60,VRMT_DISH_STARTY+50},//pos 0 {up_link_0,down_link_0,left_link_0,right_link_0,DISH_START_X+DISH_X_OFFSET_0,DISH_START_Y+DISH_Y_OFFSET_0}
{IR_PAUSE, 11, 4, 0, 2,VRMT_DISH_STARTX+60,VRMT_DISH_STARTY,VRMT_DISH_STARTX+120,VRMT_DISH_STARTY+50},//pos 1
{IR_SF, 11, 5, 1, 2,VRMT_DISH_STARTX+120,VRMT_DISH_STARTY,VRMT_DISH_STARTX+180,VRMT_DISH_STARTY+50},//pos 2
{IR_PREV, 0, 6, 3, 4,VRMT_DISH_STARTX,VRMT_DISH_STARTY+50,VRMT_DISH_STARTX+60,VRMT_DISH_STARTY+100},//pos 3
{IR_PLAY_RESUME, 1, 7, 3, 5,VRMT_DISH_STARTX+60,VRMT_DISH_STARTY+50,VRMT_DISH_STARTX+120,VRMT_DISH_STARTY+100},//pos 4
{IR_NEXT, 2, 8, 4, 5,VRMT_DISH_STARTX+120,VRMT_DISH_STARTY+50,VRMT_DISH_STARTX+180,VRMT_DISH_STARTY+100},//pos 5
{IR_FR, 3, 6, 6, 7,VRMT_DISH_STARTX,VRMT_DISH_STARTY+100,VRMT_DISH_STARTX+60,VRMT_DISH_STARTY+150},//pos 6
{IR_GOTO, 4, 7, 6, 8,VRMT_DISH_STARTX+60,VRMT_DISH_STARTY+100,VRMT_DISH_STARTX+120,VRMT_DISH_STARTY+150},//pos 7
{IR_FF, 5, 8, 7, 8,VRMT_DISH_STARTX+120,VRMT_DISH_STARTY+100,VRMT_DISH_STARTX+180,VRMT_DISH_STARTY+150},//pos 8
#endif
#ifdef VRMT_NOMENU_ITEM
// T player style
//{IR_AUDIO, 9,1, 9,10,VRMT_MENU_ITEM1_STARTX+10,VRMT_DISH_STARTY-44,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT,VRMT_DISH_STARTY-44+DISH_BLOCK_HEIGHT+6},//pos 9
//{IR_SUB_TITLE, 10,1,9,11,VRMT_MENU_ITEM1_STARTX+DISH_BLOCK_HEIGHT+6+10,VRMT_DISH_STARTY-44,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT*2+2,VRMT_DISH_STARTY-44+DISH_BLOCK_HEIGHT+6},//pos 10
//{IR_ANGLE, 11, 1,10,11,VRMT_MENU_ITEM1_STARTX+DISH_BLOCK_HEIGHT*2+12+10,VRMT_DISH_STARTY-44,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT*3+4,VRMT_DISH_STARTY-44+DISH_BLOCK_HEIGHT+6},//pos 11
// MTK player style
//{IR_AUDIO, 9,9, 9,10,VRMT_MENU_ITEM1_STARTX+10,VRMT_DISH_ENDY-44-6,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT,VRMT_DISH_ENDY-44-6+DISH_BLOCK_HEIGHT+6},//pos 9
//{IR_SUB_TITLE, 10,10,9,11,VRMT_MENU_ITEM1_STARTX+DISH_BLOCK_HEIGHT+6+10,VRMT_DISH_ENDY-44-6,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT*2+2,VRMT_DISH_ENDY-44-6+DISH_BLOCK_HEIGHT+6},//pos 10
//{IR_ANGLE, 11, 11,10,3,VRMT_MENU_ITEM1_STARTX+DISH_BLOCK_HEIGHT*2+12+10,VRMT_DISH_ENDY-44-6,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT*3+4,VRMT_DISH_ENDY-44-6+DISH_BLOCK_HEIGHT+6},//pos 11
// MTK player style 2
//{IR_AUDIO, 9,10, 9,0,VRMT_DISH_STARTX+6, VRMT_DISH_STARTY+2, VRMT_DISH_STARTX+50, VRMT_DISH_STARTY+44},//pos 9
//{IR_SUB_TITLE, 9,11,10,3,VRMT_DISH_STARTX+6, VRMT_DISH_STARTY+44, VRMT_DISH_STARTX+50, VRMT_DISH_STARTY+86},//pos 10
//{IR_ANGLE, 10, 11,11,6,VRMT_DISH_STARTX+6, VRMT_DISH_STARTY+86, VRMT_DISH_STARTX+50, VRMT_DISH_STARTY+128},//pos 11
//MTK player style Mickey
//{IR_AUDIO, 9,10, 9,0,VRMT_DISH_STARTX+36, VRMT_DISH_STARTY-2, VRMT_DISH_STARTX+80, VRMT_DISH_STARTY+44},//pos 9
//{IR_SUB_TITLE, 9,11,10,3,VRMT_DISH_STARTX+6, VRMT_DISH_STARTY+44, VRMT_DISH_STARTX+50, VRMT_DISH_STARTY+86},//pos 10
//{IR_ANGLE, 10, 11,11,6,VRMT_DISH_STARTX+6, VRMT_DISH_STARTY+86, VRMT_DISH_STARTX+50, VRMT_DISH_STARTY+128},//pos 11
// NUI blue system
{IR_AUDIO, 6,9, 9,10,VRMT_MENU_ITEM1_STARTX+16,VRMT_DISH_ENDY+2,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT+6,VRMT_DISH_ENDY+6+DISH_BLOCK_HEIGHT+6},//pos 9
{IR_SUB_TITLE, 7,10,9,11,VRMT_MENU_ITEM1_STARTX+DISH_BLOCK_HEIGHT+6+10,VRMT_DISH_ENDY+12,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT*2+2,VRMT_DISH_ENDY+6+DISH_BLOCK_HEIGHT+6},//pos 10
{IR_ANGLE, 8, 11,10,11,VRMT_MENU_ITEM1_STARTX+DISH_BLOCK_HEIGHT*2+12+4,VRMT_DISH_ENDY+2,VRMT_MENU_ITEM1_STARTX+16+DISH_BLOCK_HEIGHT*3-2,VRMT_DISH_ENDY+6+DISH_BLOCK_HEIGHT+6},//pos 11
#else
{IR_AUDIO, 9,10, 9,9,VRMT_MENU_ITEM1_STARTX,VRMT_MENU_ITEM1_STARTY,VRMT_MENU_ITEM1_STARTX+180+8,VRMT_MENU_ITEM1_STARTY+LINE_HEIGHT},//pos 9
{IR_SUB_TITLE, 9,11,10,10,VRMT_MENU_ITEM1_STARTX,VRMT_MENU_ITEM1_STARTY+LINE_HEIGHT+2,VRMT_MENU_ITEM1_STARTX+180+8,VRMT_MENU_ITEM1_STARTY+2*LINE_HEIGHT+2},//pos 10
{IR_ANGLE, 10, 1,11,11,VRMT_MENU_ITEM1_STARTX,VRMT_MENU_ITEM1_STARTY+2*LINE_HEIGHT+4,VRMT_MENU_ITEM1_STARTX+180+8,VRMT_MENU_ITEM1_STARTY+3*LINE_HEIGHT+4},//pos 11
#endif
//{IR_AUDIO, 12,12, 9,12,VRMT_MENU_ITEM1_STARTX+180,VRMT_MENU_ITEM1_STARTY,VRMT_MENU_ITEM1_STARTX+180+320,VRMT_MENU_ITEM1_STARTY+LINE_HEIGHT},//pos 12
//{IR_SUB_TITLE, 13,13,10,13,VRMT_MENU_ITEM1_STARTX+180,VRMT_MENU_ITEM1_STARTY+LINE_HEIGHT,VRMT_MENU_ITEM1_STARTX+180+320,VRMT_MENU_ITEM1_STARTY+2*LINE_HEIGHT},//pos 13
//{IR_ANGLE, 14,14,11,14,VRMT_MENU_ITEM1_STARTX+180,VRMT_MENU_ITEM1_STARTY+2*LINE_HEIGHT,VRMT_MENU_ITEM1_STARTX+180+320,VRMT_MENU_ITEM1_STARTY+3*LINE_HEIGHT}//pos 14
};
//code strucFocusItem _rVcdMenuItem[1]=
//{
// {IR_AUDIO, 11, 1,11,11,VRMT_MENU_ITEM1_STARTX,VRMT_MENU_ITEM1_STARTY+2*LINE_HEIGHT+4,VRMT_MENU_ITEM1_STARTX+180+8,VRMT_MENU_ITEM1_STARTY+3*LINE_HEIGHT+4} //pos 11
//};
enum {
VRMT_POS_0,
VRMT_POS_1,
VRMT_POS_2,
VRMT_POS_3
};
enum {
VRMT_MENU_TYPE_DVD,
VRMT_MENU_TYPE_NONE
};
enum {
#if 0
VRMT_STATE_PLAY_KEYS,
VRMT_STATE_MENU_ITEM,
VRMT_STATE_MENU_OPTION
#endif
VRMT_STATE_INIT,
VRMT_STATE_WAIT_TIMEOUT,
VRMT_STATE_NORMAL
};
/*********************************************************************
Function : void vVRMTRedrawAll()
Description : completely redraw whole V-Remote. WB_VRMT_ITEM
Parameter : none
Return : none
**********************************************************************/
void vVRMTRedrawAll() large
{
BYTE bTmp;
//Clean WB , Draw Background
#ifdef VRMT_SMALL_DISH
_wStartX=0+10;
_wStartY=0+48;
_wEndX=160;
_wEndY=250-100;
#else
_wStartX=0+10;
_wStartY=0+48;
_wEndX=200-10;
_wEndY=250-100;
#endif
// vRectangle(WB_VRMT_ITEM, 0, 0, 1, 1); //it should be 0, 0, TRUE, VRMT_COLOR_BACKGROUND
#if 0
//Draw Menu item and highlight if necessary.
if((_rVremote.bMenuType == VRMT_MENU_TYPE_NONE))
{
vSetMsgCol4(WB_VRMT_ITEM, 0, 9, 1, 9);
}
else
{
vSetMsgCol4(WB_VRMT_ITEM, 0, 9, 8, 3);
}
for(bTmp=9;bTmp<12;bTmp++)
{
_wStartX=_rFocusItem[bTmp].wStartX;
_wStartY=_rFocusItem[bTmp].wStartY;
if(_rVremote.bPosition == bTmp) // highligt
{
#ifdef VRMT_NOMENU_ITEM
vPasteBmp(WB_VRMT_ITEM,_bVrmtMenuItemBmpId[bTmp-9]);
// change color for it...
// to be done honnow...
_wStartX = _rFocusItem[_rVremote.bPosition].wStartX;
_wStartY = _rFocusItem[_rVremote.bPosition].wStartY;
_wEndX = _rFocusItem[_rVremote.bPosition].wStartX+42; //EndX-8;
_wEndY = _rFocusItem[_rVremote.bPosition].wStartY+42; //EndY-8;
vChgColRep(WB_VRMT_ITEM, 2, 3);
#else
vPasteBmp(WB_VRMT_ITEM,BMP_VRMT_BARSEL);
vSetMsgCol4(WB_VRMT_ITEM, 0, 11, 8, 3);
vOsdPasteMsgXY(_wStartX+20,VRMT_MENU_ITEM1_STARTY+(bTmp-9)*(LINE_HEIGHT+2),WB_VRMT_ITEM,_wVrmtMenuItemMsgId[bTmp-9]);//OSD_NO_DISAPPEAR);
vSetMsgCol4(WB_VRMT_ITEM, 0, 9, 8, 3);
#endif
}
else // draw
{
#ifdef VRMT_NOMENU_ITEM
vPasteBmp(WB_VRMT_ITEM,_bVrmtMenuItemBmpId[bTmp-9]);
#else
vPasteBmp(WB_VRMT_ITEM,BMP_VRMT_BAR);
vOsdPasteMsgXY(_wStartX+20,VRMT_MENU_ITEM1_STARTY+(bTmp-9)*(LINE_HEIGHT+2),WB_VRMT_ITEM,_wVrmtMenuItemMsgId[bTmp-9]);//,OSD_NO_DISAPPEAR);
#endif
}
}
#endif
//Draw play key
_wStartX=VRMT_DISH_STARTX+4; //10;
_wStartY=VRMT_DISH_STARTY; //100
vPasteBmp(WB_VRMT_ITEM, BMP_VRMT);
// if bPosition is < 9
if(_rVremote.bPosition < 9) //in key dish
{
// highlight (change color)
#ifdef VRMT_WB_USE_TRUECOLOR
_wStartX = _rFocusItem[_rVremote.bPosition].wStartX+8;
_wStartY = _rFocusItem[_rVremote.bPosition].wStartY+8;
_wEndX = _rFocusItem[_rVremote.bPosition].wEndX-8;
_wEndY = _rFocusItem[_rVremote.bPosition].wEndY-8;
// vRectangle(WB_VRMT_ITEM,2,15,FALSE,0); //test
vChgColRep(WB_VRMT_ITEM, 15, 3); // hi light a button
#else
vVRMTSelectFocus(_rVremote.bPosition);
#endif
}
//Draw Menu item and highlight if necessary.
if((_rVremote.bMenuType == VRMT_MENU_TYPE_NONE))
{
vSetMsgCol4(WB_VRMT_ITEM, 0, 9, 1, 9);
}
else
{
vSetMsgCol4(WB_VRMT_ITEM, 0, 9, 8, 3);
}
for(bTmp=9;bTmp<12;bTmp++)
{
_wStartX=_rFocusItem[bTmp].wStartX;
_wStartY=_rFocusItem[bTmp].wStartY;
if(_rVremote.bPosition == bTmp) // highligt
{
#ifdef VRMT_NOMENU_ITEM
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -