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

📄 flcomm.h

📁 MTK 1389E SOURCE CODE
💻 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 + -