www.pudn.com > 6027_HD65.rar > flcomm.h


/**********************************************************************/ 
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/ 
/***************                                       ****************/ 
/***************  $Modtime:: 04/04/28 10:23a   $       ****************/ 
/***************  $Revision:: 4                $       ****************/ 
/***************                                       ****************/ 
/***************   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  bUnused:2;   
  // 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) 
 
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__