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

📄 flipshow.c

📁 MTK portableDVD 采用mtk1389方案的代码
💻 C
📖 第 1 页 / 共 2 页
字号:
       break;
     case JPEG_FILE:
       wMsg = OSD_MSG_PLAY_JPEG_ONLY;
       break;
     case MOVIE_FILE:
       wMsg = OSD_MSG_PLAY_MP4_ONLY;
       break;
     case AU_MO_FILE:
       wMsg = OSD_MSG_PLAY_AU_MO_FILE;
       break;
     case AU_JP_FILE:
       wMsg = OSD_MSG_PLAY_AU_JP_FILE;
       break;
     case MO_JP_FILE:
       wMsg = OSD_MSG_PLAY_MO_JP_FILE;
       break;
     case ALL_FILE:
       wMsg = OSD_MSG_PLAY_ALL_TYPE;
       break;
   }
   vFlIpDrawInfo(IP_INFO_FILE_TYPE, wMsg, 0);
 }
 
 #ifdef RUSSIAN_BUYER_REQUEST2			//songchen 061213
  static void  vFlIpShowPlayList(BYTE bType) large
 {
   vFlIpDrawInfo(IP_INFO_PLAYLIST, OSD_MSG_FL_SEL_PLAYLIST, 0);  
 }
#else
 static void  vFlIpShowPlayList(BYTE bType) large
 {
   WORD  wMsg;
   switch(bType)
   {
    case FLPARM_LIST_FOLDER:
     wMsg = OSD_MSG_FL_SEL_PLAYLIST;
     break;
    case FLPARM_LIST_DISC:
     wMsg = OSD_MSG_FL_SEL_PLAYLIST;
     break; 
    case FLPARM_LIST_PLAYLIST:
     wMsg = OSD_MSG_FL_SEL_PLAYLIST;
     break; 
   }
   vFlIpDrawInfo(IP_INFO_PLAYLIST, wMsg, 0);  

	 if(_bFlCanAddToList)
   {  	
     _wStartX = FS_BMP_PLAYLIST_X;
     _wStartY = FS_BMP_PLAYLIST_Y;
     _wEndX = FS_BMP_PLAYLIST_X + PLAYLIST_BMP_WIDE - 1 ;
     _wEndY = FS_BMP_PLAYLIST_Y + PLAYLIST_BMP_HIGH -1;
     vOsdPasteBmpXY(_wStartX, _wStartY, FL_MENU_WB, BMP_ADD_PLAYLIST);
   }
 }
#endif
 

#ifdef SUPPORT_EMD
#define USB_EXIST   0x3F

#ifdef FLMN_EMD_INFO_REFRESH
//add 042605   bg
#define FONT_W_C   16
#define FONT_W_F   16

#define EMD_MSG_POS_USB   FS_EMD_ATTACH_X
#define EMD_MSG_D_SIZE   (FONT_W_D + FONT_W_SPACE)
#define EMD_MSG_U_SIZE   (FONT_W_U + FONT_W_SPACE)
#define EMD_MSG_1_SIZE   (FONT_W_NUM + FONT_W_SPACE)
#define EMD_MSG_2_SIZE   (FONT_W_NUM + FONT_W_SPACE)
#define EMD_MSG_3_SIZE   (FONT_W_NUM + FONT_W_SPACE)
#define EMD_MSG_4_SIZE   (FONT_W_NUM + FONT_W_SPACE)
#define EMD_MSG_5_SIZE   (FONT_W_NUM + FONT_W_SPACE)
#define EMD_MSG_6_SIZE   (FONT_W_NUM + FONT_W_SPACE)

static code BYTE _pbUsbDevMsg[6] =
{
  '1',
  '2',
  '3',
  '4',
  '5',
  '6'
};

static code WORD _pwFlUsbMsgSize[6] =
{
  EMD_MSG_1_SIZE,
  EMD_MSG_2_SIZE,
  EMD_MSG_3_SIZE,
  EMD_MSG_4_SIZE,
  EMD_MSG_5_SIZE,
  EMD_MSG_6_SIZE
};

#define EMD_MSG_POS_MCR   FS_EMD_ATTACH_X
#define EMD_MSG_MS_SIZE   (FONT_W_M + FONT_W_S + FONT_W_SPACE)
#define EMD_MSG_SD_SIZE   (FONT_W_S + FONT_W_D + FONT_W_SPACE)
#define EMD_MSG_SM_SIZE   (FONT_W_S + FONT_W_M + FONT_W_SPACE)
#define EMD_MSG_CF_SIZE   (FONT_W_C + FONT_W_F + FONT_W_SPACE)
//add 042605   end
static code WORD _pwFlMcrCardMsg[4] =
{
  OSD_MSG_MS,
  OSD_MSG_SD,
  OSD_MSG_SM,
  OSD_MSG_CF
};
//add 042605   bg

static code WORD _pwFlMcrCardMsgSize[4] =
{
  EMD_MSG_MS_SIZE,
  EMD_MSG_SD_SIZE,
  EMD_MSG_SM_SIZE,
  EMD_MSG_CF_SIZE
};
//add 042605   end

void vFlIpDrawEmdInfo(BYTE bType) large
{
  BYTE  bDevSt, bCurDev, i;
  BYTE  pbStr[18], bIdx;

  BOOL fgMCRUsed = FALSE;
  BYTE bUsbAttachCount = 0;

  vOsdPosClear(OSD_POS_EMD_INFO);
  bCurDev = bSharedInfo(SI_DEVICE_ID);
  for (bIdx = 1; bIdx < 18; bIdx++)   
    pbStr[bIdx] = 0;
  _wStartY = FS_EMD_ATTACH_Y;
  _wEndY = _wStartY + FS_EMD_ATTACH_H;

  switch (bType)
  {
  case EMD_INFO_USB:
    bDevSt = bSharedInfo(SI_EMD_ATTACH);
  
    _wStartX = EMD_MSG_POS_USB + FONT_W_SPACE;
    _wEndX = _wStartX;
    //prepare attached USB devices display string
//    pbStr[1] = ' ';
    pbStr[1] = 'D';
    pbStr[2] = ' ';

    if (bDevSt & USB_EXIST)
    {
      pbStr[3] = 'U';
      pbStr[4] = ' ';
      bIdx = 5;
      bUsbAttachCount = 1;
      for (i = 0; i < 6; i++)
      {
        if (bDevSt & (0x01 << i))
        {
          pbStr[bIdx++] = _pbUsbDevMsg[i];
          pbStr[bIdx++] = ' ';
          bUsbAttachCount++;
        }
      }
    }
    pbStr[0] = 2 + (2 * bUsbAttachCount);
    //show string
    vOsdShowStr(FL_MENU_WB, pbStr);
    if (bCurDev == SV_DEVID_CDVDROM)
    {
      //highlight D
      _wEndX = _wStartX + EMD_MSG_D_SIZE;
      vChgColRep(FL_MENU_WB, FLCOLOR_WHITE1, FLCOLOR_YELLOW);
    }
    else if ((bDevSt & USB_EXIST) && 
             ((bCurDev <= SV_DEVID_USB_SLOT_6) && 
              (bCurDev >= SV_DEVID_USB_SLOT_1)))
    {
      //highlight U
      _wStartX += EMD_MSG_D_SIZE;
      _wEndX = _wStartX + EMD_MSG_U_SIZE;
      vChgColRep(FL_MENU_WB, FLCOLOR_WHITE1, FLCOLOR_YELLOW);
      _wStartX += EMD_MSG_U_SIZE;

      for (i = 0; i < 6; i++)
      {
        if (bDevSt & (0x01 << i))
        {
          if (i == bCurDev)
          {
            _wEndX = _wStartX + _pwFlUsbMsgSize[i];
            vChgColRep(FL_MENU_WB, FLCOLOR_WHITE1, FLCOLOR_YELLOW);
            break;
          }
          else
          {
            _wStartX += _pwFlUsbMsgSize[i];
            _wEndX = _wStartX;
          }
        }
      }
    }
    break;

  case EMD_INFO_MCR:
    bDevSt = bSharedInfo(SI_MCR_ATTACH);
    _wStartX = EMD_MSG_POS_MCR;
    _wEndX = _wStartX;
    //prepare attached MCR devices display string
    pbStr[0] = 8;
    bIdx = 1;

    for (i = 0; i < 4; i++)
    {
      if (bDevSt & (0x01 << i))
      {
        pbStr[bIdx++] = _pwFlMcrCardMsg[i] & 0xFF;
        pbStr[bIdx++] = _pwFlMcrCardMsg[i] >> 8;
        if (!fgMCRUsed)
        {
          if (bCurDev == (i + SV_DEVID_MS_CARD))
          {
            _wEndX = _wStartX + _pwFlMcrCardMsgSize[i];
            fgMCRUsed = TRUE;
          }
          else
          {
            _wStartX += _pwFlMcrCardMsgSize[i];
            _wEndX = _wStartX;
          }
        }
      }
    }
    //show string
    vOsdPosShowArg(OSD_POS_EMD_INFO, OSD_MSG_1_CARD_INSERT + ((bIdx - 2) / 2), OSD_NO_DISAPPEAR, pbStr);
    if (fgMCRUsed)
    {
        vChgColRep(FL_MENU_WB, FLCOLOR_WHITE1, FLCOLOR_YELLOW);
    }
    break;
  }
}

#else  // -FLMN_EMD_INFO_REFRESH

void vFlIpDrawEmdInfo(void) large
{
  BYTE  bUsbSt, bCurDev,bCarSt;

  bUsbSt = bSharedInfo(SI_EMD_ATTACH);
  bCarSt = bSharedInfo(SI_MCR_ATTACH);
  bCurDev = bSharedInfo(SI_DEVICE_ID);

  vSetMsgCol4(FL_MENU_WB, 0, 0, 0, FLCOL_YELLOW);
  if((bUsbSt) && (bCurDev == 0) )
  {
       #if defined(RUSSIAN_BUYER_REQUEST2)&&defined(SUPPORT_EMD)
	vFlIpDrawInfo(IP_INFO_ADD_TO_PLAY_LIST, OSD_MSG_IS_FLASH_DISK, 0);
	#else
    vOsdPosShow(OSD_POS_EMD_INFO,OSD_MSG_IS_FLASH_DISK, OSD_TIMEOUT);
	#endif
  }
  if((bCarSt) && (bCurDev>=SV_DEVID_MS_CARD&&bCurDev<=SV_DEVID_CF_CARD ))
  {
       #if defined(RUSSIAN_BUYER_REQUEST2)&&defined(SUPPORT_EMD)
	vFlIpDrawInfo(IP_INFO_ADD_TO_PLAY_LIST, OSD_MSG_IS_CARD, 0);
	#else
    vOsdPosShow(OSD_POS_EMD_INFO, OSD_MSG_IS_CARD, OSD_TIMEOUT);
	#endif
  } 

  vSetMsgCol4(FL_MENU_WB, 0, 0, 0, FLCOL_WHITE);
}

#endif  // FLMN_EMD_INFO_REFRESH

#endif  // SUPPORT_EMD


void vFlIpShowInfo(BYTE bInfo, BYTE bParam, WORD wParam) large
{
  BYTE  bType;
  BYTE  pbStr[3];//leguo

  switch (bInfo)
  {
    case IP_INFO_ADD_TO_PLAY_LIST:
      vFlIpShowAddToPlayList(bParam);
      break;
    case IP_INFO_RPT_TYPE:
      vFlIpShowRptType(bParam);
      break;
    case IP_INFO_LIST_TYPE:
      vFlIpShowListType(bParam);
      break;
    case IP_INFO_ALBUM:
      vFlIpDrawInfo(IP_INFO_ALBUM, OSD_MSG_FL_ALBUM, 0);
      break;
    case IP_INFO_GENRE:
      vFlIpDrawInfo(IP_INFO_GENRE, OSD_MSG_FL_GENRE, 0);
      break;
#ifdef SHUFFLEMODE_DISPLAY
    case IP_INFO_SHUFFLEMODE:			//songchen 061031
      vFlIpDrawInfo(IP_INFO_SHUFFLEMODE, OSD_MSG_SHUFFLEMODE, 0);
      break;
#endif
    case IP_INFO_ITEM_INFO:
      vFlIpShowItemInfo();
      break;
    case IP_INFO_PLAYLIST:
      vFlIpShowPlayList(bParam);
      break;
    case IP_INFO_FILE_TYPE:
      vFlIpShowFileType(bParam);
      break;
    case IP_INFO_SLIDE:
      vFlIpShowSlideTime(bParam);
      break;

	#ifdef GUI_DC_SELECT
    case IP_INFO_EMD_ATTACH:
      vFlIpDrawEmdInfo();
      break;
    #endif

    default:
      break;
  }
}




#else  // #if (defined(FSMENU_INFO_PANEL) && defined(PLAYER_FLMENU))

static code BYTE pbISOFastDispTbl[] = { 0 };
static code BYTE pbISOSlowDispTbl[] = { 0 };

typedef struct sInfoPanelArea
{
  WORD  wPanelPos[2];
  BYTE  bTimeout[2];
};

static code struct sInfoPanelArea _rInfoPanelArea[1] =
{
  {0, 0, 0, 0}
};


#endif  // #if (defined(FSMENU_INFO_PANEL) && defined(PLAYER_FLMENU))

⌨️ 快捷键说明

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