⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vremote.c

📁 mtkDVD源代码程序4*16 很好玩的内置5.1环绕音效 大家可以玩一下
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/08/27 9:40a    $       ****************/
/***************  $Revision:: 1                $       ****************/
/***************                                       ****************/
/***************   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
    {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -