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

📄 fslist.h

📁 MTK portableDVD 采用mtk1389方案的代码
💻 H
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 05/04/29 10:24a   $       ****************/
/***************  $Revision: 2.0 $       ****************/
/***************                                       ****************/
/***************   Description : File Menu             ****************/
/***************                 Interface to other    ****************/
/***************                 play module           ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Jacob Lin             ****************/
/**********************************************************************/

/**
 *          $(PROJ_HOME)/8032/custom/demo/fslist/fslist.h
 *
 *          For external interface of the data disc menu based on "FS LIST"
 */

#ifndef __FSLIST_H__
#define __FSLIST_H__


#define FLIP_VOLUME_UP       0x01
#define FLIP_VOLUME_DOWN     0x02
#define FLIP_VOLUME_REDRAW   0x04
#define FLIP_VOLUME_MUTE_ON  0x10
#define FLIP_VOLUME_MUTE_OFF 0x20
#define FLIP_VOLUME_HINT     0x80

enum
{
  IP_INFO_PLAYTIME,
  IP_INFO_TOTALTIME,
  IP_INFO_TOTALTIME2,
  IP_INFO_OPTION,
  IP_INFO_FILE_TYPE,
  IP_INFO_SLIDE,
  IP_INFO_LIST_TYPE,
  IP_INFO_RPT_TYPE,
  IP_INFO_PLAYLIST,
  IP_INFO_ITEM_INFO,
  IP_INFO_AUTHOR,
  IP_INFO_TITLE,
  IP_INFO_ALBUM,
  IP_INFO_GENRE,
  IP_INFO_BITRATE,
  IP_INFO_ID3_TEXT,
  #ifdef SHUFFLEMODE_DISPLAY		//songchen 061031
  IP_INFO_SHUFFLEMODE,
  #endif
  IP_INFO_ADD_TO_PLAY_LIST,
  IP_INFO_EQ,
  IP_INFO_MAX,
  #ifdef GUI_DC_SELECT
  IP_INFO_EMD_ATTACH,
  #endif
  //option below need to confirm
  IP_INFO_USR_AUX_CTRL,
  OSD_POS_FS_INFO_BAR,
  IP_INFO_VOLUME,
  IP_INFO_KEY_SHIFT,
  IP_INFO_SURROUND,
  IP_INFO_REVERB,
  IP_INFO_FILE_INDEX
};


enum
{
  FL_STATUS_BUSY,
  FL_STATUS_OCCUPIED,
  FL_STATUS_IN_MENU,
  FL_STATUS_IN_HELP,
  FL_STATUS_IN_JPEG,
  FL_STATUS_IN_JPGDGST,
  FL_STATUS_IN_MPEG,
  FL_STATUS_JPEG_DECODING
};

// - interface to this sub-module
extern void vFsMenuInit(BOOL fgInit) large;
extern BOOL fgFsMenuState(void) large;
extern BYTE bFlGetRepeatType(void) large;
extern BYTE bFlNextRepeatType(void) large;
extern void vFlSetRepeatType(BYTE bRptType) large;

extern void vFlRecover(void) large;
extern void vFlChgLang(BYTE bLang) large;

// File List Meun
extern void vFlMnOnTimer(void) large;

// Info Panel
void vFlIpShowInfo(BYTE bArea, BYTE bParam, WORD wParam) large;

extern void BBKRefresh(BOOL fgShow) large;

// Handle Uop Ret
extern void vFlHandleUopRet(BYTE bUopId, BYTE bUopRet) large;

// - for compatible issue
extern void vFsMenuExit(void);
extern BOOL fgFlCheckStatus(BYTE bStatus) large;
extern BYTE bFlGetFgPbcState(void) large;

// - utility function for play module
#if (!defined(NO_ADD10_KEY) && defined(ISO_SELECT_USE_ADD10_KEY))
#else
extern WORD wFlGetListLen(void) large;
#endif

#ifdef SUPPORT_SACD
extern void vSwitchSacdDir(void) large;
#endif
///////////////////////////////////////////////////////////////////////////////
// - Position Table
//basic info
#define OSD_POS_FS_PLAYTIME        wOsdPos(OSD_POS_TBL_FLMENU,  0)
#define OSD_POS_FS_TOTALTIME       wOsdPos(OSD_POS_TBL_FLMENU,  1)
#define OSD_POS_FS_PATH            wOsdPos(OSD_POS_TBL_FLMENU,  2)
//option info
#define OSD_POS_FS_OPTION          wOsdPos(OSD_POS_TBL_FLMENU,  3)
#define OSD_POS_FS_ZOOM            wOsdPos(OSD_POS_TBL_FLMENU,  4)
#define OSD_POS_FS_SLIDE           wOsdPos(OSD_POS_TBL_FLMENU,  5)
#define OSD_POS_FS_LIST_TYPE       wOsdPos(OSD_POS_TBL_FLMENU,  6)
#define OSD_POS_FS_RPT_TYPE        wOsdPos(OSD_POS_TBL_FLMENU,  7)
#define OSD_POS_FS_PLAYLIST        wOsdPos(OSD_POS_TBL_FLMENU,  8)
#define OSD_POS_FS_ITEM_INFO       wOsdPos(OSD_POS_TBL_FLMENU,  9)
//mp3 id3 info
#define OSD_POS_AUTHOR             wOsdPos(OSD_POS_TBL_FLMENU, 10)
#define OSD_POS_TITLE                 wOsdPos(OSD_POS_TBL_FLMENU, 11)
#define OSD_POS_ALBUM                wOsdPos(OSD_POS_TBL_FLMENU, 12)
#define OSD_POS_GENRE                wOsdPos(OSD_POS_TBL_FLMENU, 13)
#define OSD_POS_BITRATE             wOsdPos(OSD_POS_TBL_FLMENU, 14)
#define OSD_POS_ID3_TEXT           wOsdPos(OSD_POS_TBL_FLMENU, 15)
#ifdef SHUFFLEMODE_DISPLAY		//SHUFFLEMODE_DISPLAY
#define OSD_POS_SHUFFLEMODE	wOsdPos(OSD_POS_TBL_FLMENU, 16)
#define OSD_POS_JPG_RES             wOsdPos(OSD_POS_TBL_FLMENU, 17)
#define OSD_POS_FS_ADD_TO_PLAYLIST wOsdPos(OSD_POS_TBL_FLMENU, 18)
#define OSD_POS_FS_TOTALTIME2      wOsdPos(OSD_POS_TBL_FLMENU, 19)
#define OSD_POS_FS_INFO_BAR	     wOsdPos(OSD_POS_TBL_FLMENU, 20)		//songchen 060410
#ifdef GUI_DC_SELECT
#define OSD_POS_EMD_INFO          wOsdPos(OSD_POS_TBL_FLMENU, 21)
#endif
#ifdef PORTABLEDVD
#define OSD_POS_FS_AUD_CTRL            wOsdPos(OSD_POS_TBL_FLMENU, 22)
#define OSD_POS_DIRKEY           wOsdPos(OSD_POS_TBL_FLMENU, 23) //billy[070401]
#define OSD_POS_FS_MAX          24
#else
#define OSD_POS_FS_MAX          22
#endif
#else//SHUFFLEMODE_DISPLAY
#define OSD_POS_JPG_RES             wOsdPos(OSD_POS_TBL_FLMENU, 16)
#define OSD_POS_FS_ADD_TO_PLAYLIST wOsdPos(OSD_POS_TBL_FLMENU, 17)
#define OSD_POS_FS_TOTALTIME2      wOsdPos(OSD_POS_TBL_FLMENU, 18)
#define OSD_POS_FS_INFO_BAR	     wOsdPos(OSD_POS_TBL_FLMENU, 19)		//songchen 060410
#ifdef GUI_DC_SELECT
#define OSD_POS_EMD_INFO          wOsdPos(OSD_POS_TBL_FLMENU, 20)
#endif
#ifdef PORTABLEDVD
#define OSD_POS_DIRKEY           OSD_POS_EMD_INFO
#define OSD_POS_FS_AUD_CTRL            wOsdPos(OSD_POS_TBL_FLMENU, 21)
#define OSD_POS_FS_MAX          22
#else
#define OSD_POS_FS_MAX          21
#endif

#endif//SHUFFLEMODE_DISPLAY






#define CORNER_BMP_WIDE      12
#define CORNER_BMP_HIGH      12
#define PLAYLIST_BMP_WIDE    16
#define PLAYLIST_BMP_HIGH    16

#define FS_EQ_X              370//330->370 BillDen
#define FS_PLAY_TIME_W       200
#define FS_TOTAL_TIME_W      100
#define FS_PATH_W            FSMENU_BASIC_WB_WIDTH - 34
#define FS_EQ_W              170
#define FS_ITEM_START_X      30
#define FS_ITEM_START_Y      74
#define FS_OPTION_START_X    408//436
#ifdef RUSSIAN_BUYER_REQUEST2		//songchen 061213
#define FS_OPTION_START_Y    50
#else
#define FS_OPTION_START_Y    54
#endif
#define FS_OPTION_X          FS_OPTION_START_X //+ 24
#define FS_OPTION_Y          FS_OPTION_START_Y - 42
#define FS_OPTION_W          200
#define FS_LIST_TYPE_W       (FS_OPTION_W + 20)
#define FS_LIST_TYPE_X       FS_OPTION_START_X
#define FS_LIST_TYPE_Y       FS_OPTION_START_Y
#define FS_SLIDE_X           FS_OPTION_START_X 
#define FS_SLIDE_Y           FS_OPTION_START_Y + FS_OPTION_GAP
#define FS_SLIDE_W           100
#define FS_FILE_TYPE_X       FS_OPTION_START_X
#define FS_FILE_TYPE_Y       FS_OPTION_START_Y + 2 * FS_OPTION_GAP
#define FS_FILE_TYPE_W       FS_OPTION_W
#define FS_RPT_TYPE_X        FS_OPTION_START_X
#define FS_RPT_TYPE_Y        FS_OPTION_START_Y + 3 * FS_OPTION_GAP
#define FS_RPT_TYPE_W        FS_OPTION_W
#define FS_PLAYLIST_X        FS_OPTION_START_X
#define FS_PLAYLIST_Y        FS_OPTION_START_Y + 4 * FS_OPTION_GAP 
#define FS_PLAYLIST_W        FS_OPTION_W
#define FS_BMP_PLAYLIST_X    FS_PLAYLIST_X + 142
#define FS_BMP_PLAYLIST_Y    FS_PLAYLIST_Y + 8
#define FS_ITEM_INFO_X       FS_OPTION_START_X
#define FS_ITEM_INFO_Y       FS_OPTION_START_Y + 5 * FS_OPTION_GAP
#define FS_ITEM_INFO_W       FS_OPTION_W
#define FS_OPTION_GAP        36
//The next four definition are only for 8032. The definition for RISC is in Flspec.h
#define FS_JPG_PREVIEW_X     FS_OPTION_START_X
#define FS_JPG_PREWIEW_Y     FS_ITEM_INFO_Y + FS_OPTION_GAP
#define FS_JPG_PREWIEW_W     FS_OPTION_W
#define FS_JPG_PREWIEW_H     132
#define FS_JPG_RES_X         416
#define FS_JPG_RES_Y         380
#define FS_JPG_RES_W         144
#define FS_ADD_TO_PLAYLIST_X 60
#define FS_ADD_TO_PLAYLIST_Y 412
#define FS_ADD_TO_PLAYLIST_W 100
#define FS_INFO_BAR_X        20 //(8 + 20) // FLMN_BTN_3_X + 20
#define FS_INFO_BAR_Y        404 //(276 + 2) // FLMN_BTN_3_Y + 2
#define FS_INFO_PATH_X       56
#define FS_INFO_PATH_Y       34
#define FS_INFO_FILE_NAME_X  FS_INFO_PATH_X
#define FS_INFO_FILE_NAME_Y  FS_INFO_PATH_Y  + FS_INFO_ITEM_GAP + 30
#define FS_INFO_REC0_X       26
#define FS_INFO_REC0_Y       54
#define FS_INFO_REC0_WIDE    580
#define FS_INFO_REC0_HEIGH   368
#define FS_INFO_REC1_X       FS_INFO_PATH_X
#define FS_INFO_REC1_Y       FS_INFO_PATH_Y  + FS_INFO_ITEM_GAP*2  + 26  + 30*2
#define FS_INFO_REC1_WIDE    520
#define FS_INFO_REC1_HEIGH   70
#define FS_INFO_REC2_X       FS_INFO_REC1_X + 24 + 10 + 4
#define FS_INFO_REC2_Y       FS_INFO_REC1_Y + 16
#define FS_INFO_REC2_WIDE    FS_INFO_REC1_WIDE - 74 
#define FS_INFO_REC2_HEIGH   12
#define FS_AUTHOR_X          FS_INFO_PATH_X
#define FS_AUTHOR_Y          FS_INFO_REC0_Y + FS_INFO_ITEM_GAP
#define FS_AUTHOR_W          400
#define FS_TITLE_X           FS_INFO_PATH_X
#define FS_TITLE_Y           FS_AUTHOR_Y + FS_INFO_ITEM_GAP + 30
#define FS_TITLE_W           400
#define FS_ALBUM_X           FS_INFO_PATH_X
#define FS_ALBUM_Y           FS_INFO_REC1_Y + FS_INFO_REC1_HEIGH + FS_INFO_ITEM_GAP
#define FS_ALBUM_W           400
#define FS_GENRE_X           FS_INFO_PATH_X
#define FS_GENRE_Y           FS_ALBUM_Y + FS_INFO_ITEM_GAP +30
#define FS_GENRE_W           400
#define FS_BITRATE_X         FS_INFO_PATH_X
#define FS_BITRATE_Y         FS_GENRE_Y + FS_INFO_ITEM_GAP +30
#define FS_BITRATE_W         200
#define FS_ID3_TEXT_X        FS_INFO_PATH_X
#define FS_ID3_TEXT_Y        FS_BITRATE_Y + FS_INFO_ITEM_GAP +30
#define FS_ID3_TEXT_W        200
#ifdef SHUFFLEMODE_DISPLAY		//songchen add for shuffle display.061031
#define FS_SHUFFLEMODE_X	FS_INFO_PATH_X
#define FS_SHUFFLEMODE_Y        FS_BITRATE_Y + FS_INFO_ITEM_GAP +30
#define FS_SHUFFLEMODE_W        200
#endif
#define FS_INFO_TIME_BAR_WIDE  4
#define FS_INFO_TIME_BAR_HIGH  12
#define FS_INFO_TIME_ELASP_X   FS_INFO_PATH_X + 20
#define FS_INFO_TIME_ELASP_Y   FS_INFO_REC2_Y + FS_INFO_REC2_HEIGH + 8
#define FS_INFO_TIME_TOTAL_X   FS_INFO_REC1_X + FS_INFO_REC1_WIDE - 120
#define FS_INFO_TIME_TOTAL_Y   FS_INFO_TIME_ELASP_Y
#define FS_INFO_ITEM_GAP       5
#define FS_PATH_X              30 
#define FS_PATH_Y              20
#define FS_INFO_STR_EXTRA      128

#define FS_EMD_ATTACH_X        60
#define FS_EMD_ATTACH_Y        380
#define FS_EMD_ATTACH_W        200
#define FS_EMD_ATTACH_H        30

// megaa patch begin
#define vResetIsoItemType(bItem)  if (fgFlCheckStatus(FL_STATUS_IN_JPEG) || \
                                      fgFlCheckStatus(FL_STATUS_IN_JPGDGST)) \
                                    bItem = SV_ISO_JPG
// megaa patch end

#endif //__FSLIST_H__

#ifdef _OSDSHOW_MAIN_C_
static code strucOsdPos pwPosFsInfo[OSD_POS_FS_MAX] = {
  // basic info
  { FSMENU_OSD_WBIDX_BASIC, FS_INFO_TIME_ELASP_X, FS_INFO_TIME_ELASP_Y, FS_PLAY_TIME_W },    // OSD_POS_FS_PLAYTIME
  { FSMENU_OSD_WBIDX_BASIC, FS_INFO_TIME_TOTAL_X, FS_INFO_TIME_TOTAL_Y, FS_TOTAL_TIME_W },   // OSD_POS_FS_TOTALTIME
  { FSMENU_OSD_WBIDX_BASIC, FS_PATH_X,            FS_PATH_Y,            FS_PATH_W },           // OSD_POS_FS_PATH
  // option info
  { FSMENU_OSD_WBIDX_BASIC, FS_OPTION_X,          FS_OPTION_Y,          FS_OPTION_W },    // OSD_POS_OPTION
  { FSMENU_OSD_WBIDX_BASIC, FS_LIST_TYPE_X,       FS_LIST_TYPE_Y,       FS_LIST_TYPE_W },    // OSD_POS_FILE_TYPE
  { FSMENU_OSD_WBIDX_BASIC, FS_SLIDE_X,           FS_SLIDE_Y,           FS_SLIDE_W },     // OSD_POS_SLIDE
  { FSMENU_OSD_WBIDX_BASIC, FS_FILE_TYPE_X,       FS_FILE_TYPE_Y,       FS_FILE_TYPE_W },     // OSD_POS_FS_LIST_TYPE
  { FSMENU_OSD_WBIDX_BASIC, FS_RPT_TYPE_X,        FS_RPT_TYPE_Y,        FS_RPT_TYPE_W },     // OSD_POS_FS_RPT_TYPE
  { FSMENU_OSD_WBIDX_BASIC, FS_PLAYLIST_X,        FS_PLAYLIST_Y,        FS_PLAYLIST_W },     // OSD_POS_PLAYLIST
  { FSMENU_OSD_WBIDX_BASIC, FS_ITEM_INFO_X,       FS_ITEM_INFO_Y,       FS_ITEM_INFO_W },  //OSD_POS_ITEM_INFO
  //mp3 id3 info  
  { FSMENU_OSD_WBIDX_BASIC, FS_AUTHOR_X,          FS_AUTHOR_Y,          FS_AUTHOR_W },   //OSD_POS_AUTHOR
  { FSMENU_OSD_WBIDX_BASIC, FS_TITLE_X,           FS_TITLE_Y,           FS_TITLE_W },   //OSD_POS_TITLE
  { FSMENU_OSD_WBIDX_BASIC, FS_ALBUM_X,           FS_ALBUM_Y,           FS_ALBUM_W },   //OSD_POS_ALBUM
  { FSMENU_OSD_WBIDX_BASIC, FS_GENRE_X,           FS_GENRE_Y,           FS_GENRE_W },     //OSD_POS_GENRE
  { FSMENU_OSD_WBIDX_BASIC, FS_BITRATE_X,         FS_BITRATE_Y,         FS_BITRATE_W },   //OSD_POS_BITRATE
  { FSMENU_OSD_WBIDX_BASIC, FS_ID3_TEXT_X,        FS_ID3_TEXT_Y,        FS_ID3_TEXT_W },    //OSD_POS_ID3_TEXT
#ifdef SHUFFLEMODE_DISPLAY		//songchen 061031
  { FSMENU_OSD_WBIDX_BASIC, FS_SHUFFLEMODE_X,FS_SHUFFLEMODE_Y,        FS_SHUFFLEMODE_W},    //OSD_POS_ID3_TEXT
#endif
  { FSMENU_OSD_WBIDX_BASIC, FS_JPG_RES_X,         FS_JPG_RES_Y,         FS_JPG_RES_W },     // OSD_POS_RESOLUTION
  { FSMENU_OSD_WBIDX_BASIC, FS_ADD_TO_PLAYLIST_X, FS_ADD_TO_PLAYLIST_Y, FS_ADD_TO_PLAYLIST_W },     // OSD_POS_PLAYLIST
  { FSMENU_OSD_WBIDX_BASIC, FS_INFO_TIME_TOTAL_X - 24, FS_INFO_TIME_TOTAL_Y, FS_TOTAL_TIME_W },   // OSD_POS_FS_TOTALTIME2
  { FSMENU_OSD_WBIDX_BASIC, FS_INFO_BAR_X, FS_INFO_BAR_Y, FSMENU_BASIC_WB_WIDTH}       // OSD_POS_FS_INFO_BAR 060410
  #ifdef GUI_DC_SELECT
  ,{ FSMENU_OSD_WBIDX_BASIC, VOL_POS_X, FS_EMD_ATTACH_Y, 260 } 							// OSD_POS_EMD_INFO
  #endif  
  #ifdef PORTABLEDVD
    , 
  { FSMENU_OSD_WBIDX_BASIC, VOL_POS_X,  FS_JPG_RES_Y+0,      DISP_WIDTH - VOL_POS_X }   //OSD_POS_FS_AUD_CTRL
  #ifdef RUSSIAN_BUYER_REQUEST2
  ,{ FSMENU_OSD_WBIDX_BASIC, 430, 415, 180 }// OSD_POS_DIRKEY
  #endif
  #endif
};

#endif  // _OSDSHOW_MAIN_C_



⌨️ 快捷键说明

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