📄 flcomm.h
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 05/10/06 2:45p $ ****************/
/*************** $Revision:: 5 $ ****************/
/*************** ****************/
/*************** Description : File List ****************/
/*************** Macro & Constants ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Jacob Lin ****************/
/**********************************************************************/
/**
* $(PROJ_HOME)/8032/custom/demo/fslist/flcomm.h
*
* Define the common stuffs of this sub-module
*/
#ifndef __FLCOMM_H__
#define __FLCOMM_H__
#include "fslist.h"
#include "flcmd.h"
#ifdef RS232_LOG_UI
#define FLLogB(x, y, z, w) DBGLogB(x, y, z, w)
#define FLLogS(x) DBGLogS(x)
#define FLLogW(x, y) DBGLogB(bHiByte(x), bLoByte(x), bHiByte(y), bLoByte(y))
#else
#define FLLogS(x)
#define FLLogB(x, y, z, w)
#endif
#define FLMN_DEF_FFAC (0xffff & ~FLPARM_FF_DIR) /* include all file but dir */
#define FL_AUDIO_FILE (FLPARM_FF_MP3 | FLPARM_FF_WMA | FLPARM_FF_AAC | FLPARM_FF_MLP | FLPARM_FF_WAV)
#define JPG_BUFFER_NTSC
// COMMON STUFF OF THIS SUB MODULE
// COMMAND
#define FL_ACK(parm) (wSIItemPos(bHiByte(wHiWord((DWRD)parm)),\
(bLoByte(wHiWord((DWRD)parm))+1)))
#define FL_PARM1(parm) (bHiByte(wLoWord((DWRD)parm)))
#define FL_PARM2(parm) (bLoByte(wLoWord((DWRD)parm)))
// the visual object of the sub-module "file player"
#define FLCTRL_OBJ_MENU 0x1 // - file menu
#define FLCTRL_OBJ_JVIEW 0x2 // - JPEG view
#define FLCTRL_OBJ_INFO 0x3 // - info display region
#define FL_CMD_TARGET_NONE 0x00
#define FL_CMD_TARGET_MENU 0x01
#define FL_CMD_TARGET_JPEG 0x02
#define FL_CMD_TARGET_MPEG 0x03
#define FL_CMD_TARGET_HELP 0x04
#define FL_CMD_TARGET_INFO 0x05
// CONSTANCE
#define FL_MAX_ITEM_NS 14
#define FL_MAX_LIST_NS 4
#define FL_ITEM_DES_SZ 16
#define FL_LIST_DES_SZ 32
#define FL_LIST_NS 4
// DESCRIPTOR
#define FL_ITEM_FIELD(id) (wSIItemPos(SI_FL_ITEM_0, 1) + id * FL_ITEM_DES_SZ)
#define FL_LIST_FIELD(id) (wSIItemPos(SI_FL_LIST_0, 1) + id * FL_LIST_DES_SZ)
#define FL_LIST_TYPE(id) (bSharedInfo(FL_LIST_FIELD(id)))
#define FL_MP3_ITEM_IDX (bSharedInfo(SI_MP3_ITEM_IDX_HI)*256 + bSharedInfo(SI_MP3_ITEM_IDX_LO))
#define FL_JPG_ITEM_IDX (bSharedInfo(SI_JPG_ITEM_IDX_HI)*256 + bSharedInfo(SI_JPG_ITEM_IDX_LO))
#define FL_MPG_ITEM_IDX (bSharedInfo(SI_MPG_ITEM_IDX_HI)*256 + bSharedInfo(SI_MPG_ITEM_IDX_LO))
// UTILIT
#define FL_MIN(arg1, arg2) ((arg1 > arg2) ? arg2 : arg1)
// CONSTANCE
#define FILE_NAME_LEN 20
#define FL_MSG_TIMEOUT OSD_TIMEOUT_SHORT
#define FL_WA_SZ 128 // - working area size
// UI COMPONENT
#define FL_MENU_WB FSMENU_OSD_WBIDX_BASIC
#define FL_DGTMN_WB FSMENU_OSD_WBIDX_SEC
#define FL_ICON_W 40
#define FL_INFO_WB FSMENU_INFO
#define FL_HELP_WB WB_SETUP_ITEM
// MODULE CONTROL
#define FLMD_MP3_PLAYER SV_DDISC_MODULE_MP3
#define FLMD_JPEG_DECODER SV_DDISC_MODULE_JPG
#define FLMD_MPEG_PLAYER SV_DDISC_MODULE_MPG
enum
{
IP_STATE_PANEL_1,
IP_STATE_PANEL_2,
IP_STATE_PANEL_3,
IP_STATE_NORMAL,
IP_STATE_ENTERING,
IP_STATE_LEAVING,
IP_STATE_HIDE
};
enum
{
UOP_RET_PL_RM,
UOP_RET_PL_RM_LAST,
UOP_RET_CHG_CMDTGT,
UOP_RET_RPLC_CMDTGT,
UOP_RET_SETUP
};
enum
{
FTYPE_NONE,
FTYPE_FOLDER,
FTYPE_AUDIO,
FTYPE_STILL,
FTYPE_AV
};
#ifdef __FLMAIN_C_
#define FL_EXTERN
#else
#define FL_EXTERN extern
#endif
//extern xdata BYTE _bFlMnCurItemIdx;
FL_EXTERN xdata struct
{
// Byte 0
BYTE bCmdTarget:3;
BYTE bIpState:2;
BYTE fgIsAutoPlay:1;
BYTE fgWaitStop:1;
BYTE bUnused:1;
// Byte 1
BYTE bPbMode:5;
BYTE bMnTimeType:3;
// Byte 2
BYTE bMpTimeType:3;
BYTE bItemNs:4; // - itme num on current pages
BYTE fgMdChg:1;
// Byte 3
BYTE bCurItemIdx:3;
BYTE bVdoPbcStt:5;
}
_rFlSysCtrl;
#define _bFlCmdTarget (_rFlSysCtrl.bCmdTarget)
#define _bFlPbMode (_rFlSysCtrl.bPbMode)
#define _bFlMnItemNs (_rFlSysCtrl.bItemNs)
#define _bFlMnTimeType (_rFlSysCtrl.bMnTimeType)
#define _bFlIpState (_rFlSysCtrl.bIpState)
#define _bFlMnCurItemIdx (_rFlSysCtrl.bCurItemIdx)
#define _bFlVdoPbcStt (_rFlSysCtrl.bVdoPbcStt)
#define _fgFlMdChg (_rFlSysCtrl.fgMdChg)
#define _fgFlIsAutoPlay (_rFlSysCtrl.fgIsAutoPlay)
#define _fgFlWaitStop (_rFlSysCtrl.fgWaitStop)
FL_EXTERN xdata BYTE _bFlMnListId;
FL_EXTERN xdata BYTE _bFlRefListId;
FL_EXTERN xdata WORD _wFlMnListLen;
FL_EXTERN xdata BYTE _bFlUopRetJob;
FL_EXTERN xdata BYTE _bFlWaitUopRet;
FL_EXTERN xdata WORD _wCurrItem;
FL_EXTERN xdata WORD _wFlCurAdoDir;
FL_EXTERN xdata WORD _wFlCurAdoIdx;
FL_EXTERN xdata WORD _wFlAtplyIdx;
FL_EXTERN xdata WORD _wFlPlIdx;
FL_EXTERN xdata WORD _wFlFlIdx;
FL_EXTERN xdata WORD _wFlFdIdx;
////////////////////////////////////////////////////////////////////////////////
// Interface Between Each Objects
// for upper layer controller in "flmain.c"
extern void vFlCtrlSetFg(BYTE bMd) large;
extern void vFlSetCmdTarget(BYTE bTarget) large;
extern void vFlShowError(WORD wPos, WORD wMsg, BYTE bTime) large;
//extern void vFlMnSetUopRetJob(BYTE bUopId, BYTE bJob) large;
extern void vFlSendUopCmd(BYTE bCmd, BYTE bParam, BYTE bRetJob) large;
// for utility function
extern WORD wFlGetSubFldrNs(BYTE bListId) large;
extern BYTE bFlGetItemType(BYTE bItemIdx) large;
extern void vFlUpdateVfd(BOOL fgInit) large;
extern WORD wFlGetItemIdx(BYTE bItemIdx) large;
// for object "FILE LIST MENU" in "flmenu.c"
extern BOOL fgFlOnInit(void);
extern BOOL fgFlOnMn(void) large;
extern BOOL fgFlMnInit(void) large;
extern WORD wFlMnLeave(BOOL bSuicide) large;
extern void vFlMnEnter(WORD wItemIdx) large;
extern void vFlMnRecover(void) large;
extern void vFlMnShowError(WORD wPos, WORD wMsg, BYTE bTime) large;
extern void vFlMnChgLang(BYTE bLang) large;
extern void vFlMnHandleUopRet(BYTE bUopId) large;
// for object "JPEG VIEW" in "fljview.c"
extern BOOL fgFlOnJv(void) large;
extern BOOL fgFlJvInit(void) large;
extern WORD wFlJvLeave(BOOL bSuicide) large;
extern void vFlJvEnter(WORD wItemIdx) large;
extern void vFlJvChgLang(BYTE bLang) large;
extern void vFlJvHandleUopRet(BYTE bUopId) large;
extern void vFlJvRecover(void) large;
#ifdef DDISC_FTYPE_MPG_SUPPORT
// for object "MPEG PLAYER" in "flmpeg.c"
extern BOOL fgFlOnMp(void) large;
extern BOOL fgFlMpInit(void) large;
extern WORD wFlMpLeave(BOOL bSuicide) large;
extern void vFlMpEnter(WORD wItemIdx) large;
extern void vFlMpRecover(void) large;
#endif
#ifdef JPEG_DDISC_DIGEST_ENABLE
// for object "HELP PAGE" in "flhelp.c"
extern BOOL fgFlOnHp(void) large;
extern void vFlHpEnter(WORD wItemIdx) large;
extern WORD wFlHpLeave(BOOL bSuicide) large;
extern void vFlHpRecover(BOOL bDrawAll) large;
#endif
// for object "Info Panel" in "flipshow.c"
extern void vFlIpClearInfoArea(BYTE bArea) large;
#ifdef MPEG4_TXT_SP
void vFlSetMp4SpParam(BYTE bWbIdx, BYTE bAlign, BYTE bCfg, BYTE bSpace) large;
#endif
#ifdef RS232_LOG_UI
extern void DRS232LogS(char *pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif
#endif //__FLCOMM_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -