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

📄 flspec.h

📁 手机8032的完整代码。吐血推荐。小做改动就可以生产。
💻 H
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 08-05-22 13:39    $       ****************/
/***************  $Revision:: 1                $       ****************/
/***************                                       ****************/
/***************   Description : File Menu             ****************/
/***************                 Position & other def  ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Jacob Lin             ****************/
/**********************************************************************/

/**
 *      SPECIFIC FILES TO INDICATE THE POSITITION AND ALL SIZE USED TO
 *      DRAW THE FSMENU
 */
#ifndef __FSLISTSP_H__
#define __FSLISTSP_H__

#include "general.h"

#define FL_USE_LOGO // - use logo as menu

// MACRO FOR CONSTANTS
//  File Menu
#define FLMN_MENU_BORDER        4
#define FLMN_MENU_LINE_H        4
#define FLMN_MENU_GAP           6
#ifdef MP3_LYRICS_V2_SUPPORT
#define FLMP3LRCMN_ITEM_N       5
#ifdef MP3_LYRICS_PL_15_SONGS
#define FLMP3LRCPLLIST_MAX_N     15
#endif
#endif
#define FLMN_ITEM_N             6
#define FLMN_PAGE_SZ            FLMN_ITEM_N

#define FLMN_BTN_0_X            0
#define FLMN_BTN_0_Y            0
#define FLMN_BTN_0_W            FSMENU_BASIC_WB_WIDTH
#define FLMN_BTN_0_H            FSMENU_BASIC_WB_HEIGHT + 12

#define FLMN_BTN_1_X            (FLMN_MENU_BORDER + FLMN_MENU_GAP)
#define FLMN_BTN_1_Y            0 //(FLMN_MENU_BORDER + FLMN_MENU_GAP)
#define FLMN_BTN_1_W            (FSMENU_BASIC_WB_WIDTH - (FLMN_MENU_BORDER + FLMN_MENU_GAP) * 2)
#define FLMN_BTN_1_H            (32 + FLMN_MENU_BORDER * 2)  // 40

#define FLMN_BTN_2_X            (FLMN_MENU_BORDER + FLMN_MENU_GAP)
#define FLMN_BTN_2_Y            (FLMN_BTN_1_Y + FLMN_BTN_1_H + FLMN_MENU_GAP)  // 46
#define FLMN_BTN_2_W            (FSMENU_BASIC_WB_WIDTH - (FLMN_MENU_BORDER + FLMN_MENU_GAP) * 2)
#define FLMN_BTN_2_H            (FLMN_MENU_BORDER * 2 + 32 * FLMN_ITEM_N + 24)  // 8 + 32 * 6 + 24 = 224

#define FLMN_BTN_3_X            (FLMN_MENU_BORDER + FLMN_MENU_GAP)
#define FLMN_BTN_3_Y            (FLMN_BTN_2_Y + FLMN_BTN_2_H + FLMN_MENU_GAP) // 46 + 224 + 6
#define FLMN_BTN_3_W            (FSMENU_BASIC_WB_WIDTH - (FLMN_MENU_BORDER + FLMN_MENU_GAP) * 2)
#define FLMN_BTN_3_H            (32 + FLMN_MENU_BORDER * 2 + 4)

// Client Area 2
#define FLMN_DISPLAY_X          FLMN_BTN_2_X + FLMN_MENU_BORDER + FLMN_MENU_GAP
#define FLMN_DISPLAY_Y          FLMN_BTN_2_Y + FLMN_MENU_BORDER + FLMN_MENU_GAP
#define FLMN_DISPLAY_W          (FSMENU_BASIC_WB_WIDTH - FLMN_MENU_BORDER * 4 - FLMN_MENU_GAP * 4)


#define FLMN_PREVIEW_X          (FSMENU_BASIC_WB_LEFT + FLMN_DISPLAY_X + FLMN_DISPLAY_W * 0.6 + FLMN_MENU_GAP * 2)
#define FLMN_PREVIEW_Y          ((WORD) FSMENU_BASIC_WB_TOP + 20 + FLMN_DISPLAY_Y + FLMN_MENU_GAP + 4)
#define FLMN_PREVIEW_W          (FLMN_DISPLAY_W * 0.35)
#define FLMN_PREVIEW_H          (32 * FLMN_ITEM_N)

#ifdef MP3_LYRICS_V2_SUPPORT
#define FLMP3LRCMN_HEAD_H             46
#define FLMP3LRCMN_UP_H               16
#define FLMP3LRCMN_DOWN_H             16
#define FLMP3LRCMN_FRAME              8
#define FLMP3LRCMN_ITEM_T             (FLMP3LRCMN_HEAD_H + FLMP3LRCMN_UP_H + FLMP3LRCMN_FRAME)
#define FLMP3LRCMN_ITEM_ICON_W        266
#define FLMP3LRCMN_ITEM_ICON_H        (FLMP3LRCMN_ITEM_H + FLMP3LRCMN_FRAME * 2)
#define FLMP3LRCMN_ITEM_ICON_L        36
#define FLMP3LRCMN_ITEM_ICON_INT      8
#define FLMP3LRCMN_ITEM_H             30
#define FLMP3LRCMN_ITEM_W             (FLMP3LRCMN_ITEM_ICON_W - FLMP3LRCMN_FRAME * 2)
#define FLMP3LRCMN_ITEM_L             (FLMP3LRCMN_ITEM_ICON_L + FLMP3LRCMN_FRAME)
#define FLMP3LRCMN_ITEM_INT           (FLMP3LRCMN_ITEM_ICON_INT + FLMP3LRCMN_FRAME * 2)

// Added by Hiker Hauk, September 28, 2007, for CQ(PL00108454)
#define FLMP3_FOLDER_LEN         36
#endif

// 20050511, if support JPEG preview, hilight should be shorter
#if (defined (JPG_PREVIEW_SUPPORT) ||defined(UNICODE_SUPPORT_COPY))
#ifdef UNICODE_SUPPORT_COPY
#define FLMN_ITEM_W             (FLMN_DISPLAY_W * 0.6)   // 20050524, PL00001022, make hilight longer
#else
#define FLMN_ITEM_W             (FLMN_DISPLAY_W * 0.55)   // 20050524, PL00001022, make hilight longer
#endif
#else
#define FLMN_ITEM_W             (FLMN_DISPLAY_W - 60)
#endif
#define FLMN_ITEM_H             30
#define FLMN_ITEM_INT           2       // - item vertical interval
#define FLMN_ITEM_Y             20
#define FLMN_ITEM_L             (FLMN_DISPLAY_X + FLMN_MENU_GAP)
#define FLMN_ITEM_T             (FLMN_DISPLAY_Y + FLMN_MENU_GAP)

//  HILIT
#define FLMN_HILIT              HL_1    // - menu hilit
//#define FLMN_HILIT_COL          0x33f0  // - color setting for hilit
#define FLMN_HILIT_COL          0x0  // - color setting for hilit
#define FLDGTMN_HILIT           HL_2
//#define FLDGTMN_HILIT_COL       0x7369
#define FLDGTMN_HILIT_COL       0x3a77

#define FLMN_MAX_STR_LEN        14      // - max string len of item name
#define FLMN_FILENANE_LEN       20  // Modify from 35 to 20 by Bright_liu 2005/12/02, for CQ(PL00101357)
#ifdef  MP3_LYRICS_V2_SUPPORT
#define FLLRC_FILENAME_LEN      28
#endif

/*
Add and Modify by Bright_liu 2005/08/31, for CQ(PL00101357)
when show the long file folder, the OSD will overflow.
*/
#define FLMN_FOLDER_LEN         42

//  DIGEST MENU
//      HARDWARE CONFIG.
#define HW_DGT_SX               (DIGEST_START_X_DIV_4*4)
#define HW_DGT_SY               (DIGEST_START_Y_NTSC_DIV_5*5)
#define HW_DGT_H_GAP            (DIGEST_H_GAP_DIV_4*4)
#define HW_DGT_V_GAP            (DIGEST_V_GAP_NTSC_DIV_5*5)
#define HW_DGT_W                (DIGEST_WIDTH_DIV_4*4)
#define HW_DGT_H                (DIGEST_HEIGHT_DIV_5*5)


//      BUTTON SIZE
#define DGT_BTN_SS_W            96
#define DGT_BTN_SS_H            32
#define DGT_BTN_HP_W            68
#define DGT_BTN_HP_H            32
#define DGT_BTN_PV_W            64
#define DGT_BTN_PV_H            32
#define DGT_BTN_NT_W            64
#define DGT_BTN_NT_H            32

//      BUTTON POS.
#define DGT_BTN_T               4
#define DGT_BTN_L               208
#define DGT_BTN_H_GAP           8
#define DGT_BTN_HL_LB           0
#define DGT_BTN_HL_RB           2

#define DGT_BTN_SS_L            (DGT_BTN_L)
#define DGT_BTN_HP_L            (DGT_BTN_SS_L + DGT_BTN_SS_W + \
                                 DGT_BTN_H_GAP)
#define DGT_BTN_PV_L            (DGT_BTN_HP_L + DGT_BTN_HP_W + DGT_BTN_H_GAP)
#define DGT_BTN_NT_L            (DGT_BTN_PV_L + DGT_BTN_PV_W  + DGT_BTN_H_GAP)

//      MENU SIZE
#define DGT_MN_X_DIM_NS         4       // - item numbers on x-dim
#define DGT_MN_Y_DIM_NS         3       // - item numbers on y-dim
#define DGT_MN_NS              12

//      MENU OFFSET AND SCALE FACTORS
#define DGT_XOFST               6
#define DGT_YOFST               1
#define DGT_YSUP                1
#define DGT_YSDOWN              1

//      MENU ITEM SIZE
#define DGT_ITEM_W              HW_DGT_W
#define DGT_ITEM_H              HW_DGT_H
#define DGT_ITEM_H_GAP          HW_DGT_H_GAP
#define DGT_ITEM_V_GAP          (((HW_DGT_V_GAP+HW_DGT_H)*DGT_YSUP)/DGT_YSDOWN)

//  MENU ITEM POS.
#define DGT_ITEM_SX             (HW_DGT_SX - DGT_XOFST)
#define DGT_ITEM_SY             ((HW_DGT_SY*DGT_YSUP)/DGT_YSDOWN - DGT_YOFST)

//  MENU HILIT
#define HL_XB_SZ                4       // - hilit x border size under NTSC
#define HL_YB_SZ                4       // - hilit y border size under NTSC
#define HL_PN_XOFST             2
#define HL_PN_YOFST             0
#define HL_PN_YSUP              6       // - NTSC HL plane to PAL HL plane y scale up factor
#define HL_PN_YSDOWN            5       // - NTSC HL plane to PAL HL plane y scale down factor

// Font Width
#define FONT_W_NUM              16
#define FONT_W_SPACE            16
#define FONT_W_D                16
#define FONT_W_U                14
#define FONT_W_M                21
#define FONT_W_S                13


// ITEM SPEC DES
typedef struct _FLMN_ITEM
{
  WORD wLeft;
  WORD wTop;
  WORD wRight;
  WORD wBottom;
} FLMN_ITEM;

#ifdef MP3_LYRICS_V2_SUPPORT
#define FLMP3LRCMN_MENU_ITEM1 {\
  FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_FRAME,\
  FLMP3LRCMN_ITEM_L + FLMP3LRCMN_ITEM_W,\
  FLMP3LRCMN_FRAME + FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_ITEM2 {\
  FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 0 * FLMP3LRCMN_ITEM_INT + 0 * FLMP3LRCMN_ITEM_H,\
  FLMP3LRCMN_ITEM_L + FLMP3LRCMN_ITEM_W,\
  FLMP3LRCMN_ITEM_T + 0 * FLMP3LRCMN_ITEM_INT + 1 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_ITEM3 {\
  FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 1 * FLMP3LRCMN_ITEM_INT + 1 * FLMP3LRCMN_ITEM_H,\
  FLMP3LRCMN_ITEM_L + FLMP3LRCMN_ITEM_W,\
  FLMP3LRCMN_ITEM_T + 1 * FLMP3LRCMN_ITEM_INT + 2 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_ITEM4 {\
  FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 2 * FLMP3LRCMN_ITEM_INT + 2 * FLMP3LRCMN_ITEM_H,\
  FLMP3LRCMN_ITEM_L + FLMP3LRCMN_ITEM_W,\
  FLMP3LRCMN_ITEM_T + 2 * FLMP3LRCMN_ITEM_INT + 3 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_ITEM5 {\
  FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 3 * FLMP3LRCMN_ITEM_INT + 3 * FLMP3LRCMN_ITEM_H,\
  FLMP3LRCMN_ITEM_L + FLMP3LRCMN_ITEM_W,\
  FLMP3LRCMN_ITEM_T + 3 * FLMP3LRCMN_ITEM_INT + 4 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_ITEM6 {\
  FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 4 * FLMP3LRCMN_ITEM_INT + 4 * FLMP3LRCMN_ITEM_H,\
  FLMP3LRCMN_ITEM_L + FLMP3LRCMN_ITEM_W,\
  FLMP3LRCMN_ITEM_T + 4 * FLMP3LRCMN_ITEM_INT + 5 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_LIST2 {\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_W - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 0 * FLMP3LRCMN_ITEM_INT + 0 * FLMP3LRCMN_ITEM_H,\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 0 * FLMP3LRCMN_ITEM_INT + 1 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_LIST3 {\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_W - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 1 * FLMP3LRCMN_ITEM_INT + 1 * FLMP3LRCMN_ITEM_H,\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 1 * FLMP3LRCMN_ITEM_INT + 2 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_LIST4 {\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_W - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 2 * FLMP3LRCMN_ITEM_INT + 2 * FLMP3LRCMN_ITEM_H,\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 2 * FLMP3LRCMN_ITEM_INT + 3 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_LIST5 {\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_W - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 3 * FLMP3LRCMN_ITEM_INT + 3 * FLMP3LRCMN_ITEM_H,\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 3 * FLMP3LRCMN_ITEM_INT + 4 * FLMP3LRCMN_ITEM_H\
}

#define FLMP3LRCMN_MENU_LIST6 {\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_W - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 4 * FLMP3LRCMN_ITEM_INT + 4 * FLMP3LRCMN_ITEM_H,\
  MP3_LRC_MENU_WIDTH - FLMP3LRCMN_ITEM_L,\
  FLMP3LRCMN_ITEM_T + 4 * FLMP3LRCMN_ITEM_INT + 5 * FLMP3LRCMN_ITEM_H\
}
#endif

#define FLMN_MENU_ITEM1 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + FLMN_ITEM_H\
}

#define FLMN_MENU_ITEM2 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + FLMN_ITEM_H + FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 2*FLMN_ITEM_H + FLMN_ITEM_INT\
}

#define FLMN_MENU_ITEM3 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + 2*FLMN_ITEM_H + 2*FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 3*FLMN_ITEM_H + 2*FLMN_ITEM_INT\
}

#define FLMN_MENU_ITEM4 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + 3*FLMN_ITEM_H + 3*FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 4*FLMN_ITEM_H + 3*FLMN_ITEM_INT\
}

#define FLMN_MENU_ITEM5 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + 4*FLMN_ITEM_H + 4*FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 5*FLMN_ITEM_H + 4*FLMN_ITEM_INT\
}

#define FLMN_MENU_ITEM6 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + 5*FLMN_ITEM_H + 5*FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 6*FLMN_ITEM_H + 5*FLMN_ITEM_INT\
}

#define FLMN_MENU_ITEM7 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + 6*FLMN_ITEM_H + 6*FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 7*FLMN_ITEM_H + 6*FLMN_ITEM_INT\
}

#define FLMN_MENU_ITEM8 {\
  FLMN_ITEM_L,\
  FLMN_ITEM_T + 7*FLMN_ITEM_H + 7*FLMN_ITEM_INT,\
  FLMN_ITEM_L + FLMN_ITEM_W,\
  FLMN_ITEM_T + 8*FLMN_ITEM_H + 7*FLMN_ITEM_INT\
}

#ifdef __FLMENU_C_
// GLOBAL FOR ITEM SPEC DES
static code const FLMN_ITEM _prFlMnItemTbl[FLMN_PAGE_SZ] = {
  FLMN_MENU_ITEM1,
  FLMN_MENU_ITEM2,
  FLMN_MENU_ITEM3,
  FLMN_MENU_ITEM4,
  FLMN_MENU_ITEM5,
  FLMN_MENU_ITEM6
//  FLMN_MENU_ITEM7
};
#endif //__FLMENU_C__

#ifdef MP3_LYRICS_V2_SUPPORT
#ifdef __FLLRC_C_
static code const FLMN_ITEM _prFlMp3LrcMnItemTbl[FLMP3LRCMN_ITEM_N] = {
  FLMP3LRCMN_MENU_ITEM2,
  FLMP3LRCMN_MENU_ITEM3,
  FLMP3LRCMN_MENU_ITEM4,
  FLMP3LRCMN_MENU_ITEM5,
  FLMP3LRCMN_MENU_ITEM6
};

static code const FLMN_ITEM _prFlMp3LrcMnListTbl[FLMP3LRCMN_ITEM_N] = {
  FLMP3LRCMN_MENU_LIST2,
  FLMP3LRCMN_MENU_LIST3,
  FLMP3LRCMN_MENU_LIST4,
  FLMP3LRCMN_MENU_LIST5,
  FLMP3LRCMN_MENU_LIST6
};
#endif
#endif

///////////////////////////////////////////////////////////////////////////////
// FsMenu Information Panel

// - Color Index 
enum
{
  FLCOLOR_GREENBLUE, 
  FLCOLOR_WHITE,
  FLCOLOR_WHITE1,// FLCOLOR_BLACK,
  FLCOLOR_BLACK, //FLCOLOR_CYAN,
  FLCOLOR_BLUE,
  FLCOLOR_DARK_GREEN,
  FLCOLOR_LIGHT_BLUE,
#ifdef MP3_LYRICS_V2_SUPPORT
  FLCOLOR_LIGHT_YELLOW,
#else
  FLCOLOR_LIGHT_GREEN,
#endif
  FLCOLOR_GRAY,
  FLCOLOR_DARK_RED,
  FLCOLOR_PURLE,
  FLCOLOR_BROWN,
  FLCOLOR_RED,
  FLCOLOR_PINK,
  FLCOLOR_ORANGE,
  FLCOLOR_YELLOW
};

#define FLMN_CLR_BG    FLCOLOR_GREENBLUE
#define FLMN_CLR_SEL   FLCOLOR_YELLOW
#define FLMN_CLR_PLAY  FLCOLOR_WHITE1//FLCOLOR_BLUE

//extern void vFlMnOnTimer(void) large;
extern void vFlMnHideInfo(void) large;

#endif //__FLSPEC_H__

⌨️ 快捷键说明

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