?? fsgui_pub.c
字號:
#endif
UINT16 CountSpecifyFile(int iDir);
//int PrepareForChangeFilePage(UINT16 iPage, UINT16 iSpecialTrk,UINT16 iDirect);
//void CalcDirNow(UINT16 *iDir);
///////////for MP3_Lyrics_Drawed////////////////////
#ifdef MP3_TXT_DISPLAY
extern UINT16 MP3TotalNo;
extern BYTE MP3_Lyrics_Drawed;
extern void ShowLyricsWhileHL(void);
#endif
///////////////////////////////////////////////////////////////////////
#if defined(NEW_MP3_GUI) || defined(INDIGO_STYLE_FSGUI)
void DrawArrow(int xStart, int yStart, BYTE updown);
void FSGUI_CalcuteDirFileScrollLen();
void ShowPlayFrame(int x, int y,int len,int high);
void ShowCurrentDirPlaying();
void ShowCurrentFilePlaying();
#elif defined (FS_BMP_GUI)//zhaoyanhua 2004-6-8 10:15
//temp has the same function with NEW_MP3_GUI.
//we will modify the functions later.
void ShowPlayFrame(int x, int y,int len,int high);
void ShowCurrentDirPlaying();
void ShowCurrentFilePlaying();
#endif
///////////////////////////////////////////////////////////////////////
#ifdef APEX_MP3_ICON
void DrawMp3ApexIcon(int x, int y);
#endif//#ifdef APEX_MP3_ICON
//======================================================================
#ifdef FSGUI_NO_BLINK_SCROLL
void MoveScroll(UINT16 , INT8);
#else
#if (defined(NEW_MP3_GUI)||defined(INDIGO_STYLE_FSGUI))
void MoveScroll(UINT16, UINT8);
#else
void MoveScroll(UINT16);
#endif
#endif
#ifdef HANYANG_LR_CHANGE_PAGE
//When enter in DIR area, right to file area
void FSGUI_Dir2FileArea(void);
void FSGUI_File2DirArea(void);
#endif
#ifdef GPS_MP3_UI//suxin 050923
void FSGUI_DisplayState();
void FSGUI_Displaytime();
#endif
#ifdef AUDIO_SHOW_SAVER
BYTE bDisableGUI = 0;
#endif
//David add 2004-01-05
#ifdef FSGUI_NO_BLINK_SCROLL
BYTE up_down_done=0;
char tempbuf[22];
#define SCROLLBAR_UP 1
#define SCROLLBAR_REFRESH 0
#define SCROLLBAR_DOWN -1
#endif
extern BYTE jpg_break_up_down; //Maoyong 2004.04.19
//===================================================================
//zhaoyanhua new add 3-7-25 15:16
//for HL
#if defined (NEW_MP3_GUI) || defined (FS_BMP_GUI) || defined(INDIGO_STYLE_FSGUI)
int fsnav_dir_HL =0; //save the current playing dir
int fsnav_file_HL=0; //save the current playing file
int HL_Width =0, HL_Heighth = HL_RECT_HEIGHTH;//HL width and heighth.
int old_ControlArea=0; //record last ControlArea.
int HL_show=0;//record HL .
//
// a flag to avoid blinkling when show JPEG.
// when show the first JPEG , need draw the whole rectangle.
// But the following JPEG will only clear the part of the rectangle.
BYTE JPEG_Preview_drawed = DIR_LIST_IN_DIR_AREA;
BYTE flagRefresh;
#endif
//===================================================================
#if defined (SUPPORT_ID3) && defined( SUPPORT_ID3_NEWGUI ) // in FSGUI dir area 2007-1-31 13:57
extern void DrawID3_GUI(void);
#endif
//2006-06-02, mimitsai add for HD ui.
int is_show_path_info_string;
#ifndef JPG_OLD_PARSER_FLOW
void FSNav_JPEGInit()
{
//20061023, AudPic_cowork_joshua
#ifdef MP3_JPEG_COWORK
feed_ptr=0;//wuxiaofeng 2004-04-20
read_ptr=0;
//back_sign=0;//clear the sign in every entry time
#else
//dsp3_stop();
#ifdef SUPPORT_JPEG_MIC
chg_dsp_codec_addr(1);
#endif
#endif//#ifdef MP3_JPEG_COWORK
cd_subtype = CDROM_JPEG;
pFsJpeg->gifsFuncBtn = FS_FUNC_JPEG;
#if !defined(MP3_JPEG_COWORK) && defined(DVD_SERVO)
hostx_servo_buf_init();
#endif // DVD_SERVO
#if (defined(MP3_PLAY_LONG_ESP) || defined(MP4_PLAY_LONG_ESP)) && defined(DVD_SERVO) && defined(SUPPORT_HD_RESOLUTION)
extern UINT8 old_cd_type;
old_cd_type = 0xff;
hostx_servo_buf_init();//muwei add for HD Memery correct with MP3 Esp buffer
#endif
/*
pFsJpeg->gbfsSlide = 0;
pFsJpeg->g_nJpegMode = JPEG_NORMAL_MODE; // Robert 20020508. Default mode is normal mode.
disp_time = 0;
show_time();
resumeMSF = 0;
*/
#ifdef FS_FILE_POWER_RESUME //qinhua,2006-6-13 02:23下午
if(IsTheSameDisc())
{
printf_w("-----JPEG Resume-----\n");
PrintOsdMsg ( STR_OS_RESUME , REGION1 , 1 , 0 ) ;
pFsJpeg->fsnav_dir_will = resume_fsnav_dir;
pFsJpeg->gbfsSlide = 1;
pFsJpeg->gifsbPreview = 1;
resume_fsnav_dir=0;
}
else
#endif
pFsJpeg->fsnav_dir_will = 0;
pFsJpeg->file_current = pFsJpeg->file_will = 0; //Robert 031020
FSGUI_JpgUpdateOSD();
FSGUI_PreChangeDir(&(pFsJpeg->fsnav_dir_will), 0);
pFsJpeg->fsnav_dir_now = pFsJpeg->fsnav_dir_will;
#ifndef SUPPORT_DPF_UI
#if defined (NEW_MP3_GUI) || defined (FS_BMP_GUI) || defined(INDIGO_STYLE_FSGUI)
FSGUI_Refresh();
#endif
#endif
}
#endif//#ifndef JPG_OLD_PARSER_FLOW
#ifdef SUPPORT_FILE_SYSTEM_MODE
extern UINT16 IsOtherStatePlayMode(void);
#endif
void DrawRect(int x, int y, int xSize, int ySize, UINT16 selected, UINT16 color_Y, UINT16 color_CrCb)
{
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
FSGUI_FillFrameBuf(x, y, xSize, ySize, color_Y, color_CrCb);
if (selected == 1)
{
// rect selected
FSGUI_FillFrameBuf(x, y, xSize, DEMENSION_SIZE, BLACK_Y, BLACK_CRCB);
FSGUI_FillFrameBuf(x, y, DEMENSION_SIZE, ySize, BLACK_Y, BLACK_CRCB);
FSGUI_FillFrameBuf(x + xSize - DEMENSION_SIZE, y + DEMENSION_SIZE, DEMENSION_SIZE, ySize - DEMENSION_SIZE, WHITE_Y, WHITE_CRCB);
FSGUI_FillFrameBuf(x + DEMENSION_SIZE, y + ySize - DEMENSION_SIZE, xSize - DEMENSION_SIZE, DEMENSION_SIZE ,WHITE_Y, WHITE_CRCB);
}
else
{
// rect release
FSGUI_FillFrameBuf(x, y, xSize, DEMENSION_SIZE, WHITE_Y, WHITE_CRCB);
FSGUI_FillFrameBuf(x, y, DEMENSION_SIZE, ySize, WHITE_Y, WHITE_CRCB);
FSGUI_FillFrameBuf(x + xSize - DEMENSION_SIZE, y, DEMENSION_SIZE, ySize, BLACK_Y, BLACK_CRCB);
FSGUI_FillFrameBuf(x, y + ySize - DEMENSION_SIZE, xSize ,DEMENSION_SIZE ,BLACK_Y, BLACK_CRCB);
}
}
#ifdef INDIGO_STYLE_FSGUI
extern void DrawBottomOutLine(UINT16 x, UINT16 y, UINT16 wid, UINT16 hei, UINT8 color_y, UINT16 color_cbcr);
extern void DrawSelectedBottomOutLine(UINT16 x, UINT16 y, UINT16 wid, UINT16 hei);
void DrawButton(void)
{
//printf_w("finish draw file icon bottom\n\n");
DrawFileIcon(fsArea[FS_AREA_MP3_BUTTON].xStart +BTN_XOFFSET_FROM_OUTLINE,
fsArea[FS_AREA_MP3_BUTTON].yStart +BTN_YOFFSET_FROM_OUTLINE,
CNT_TAB_MP3BUTTON - 2);
DrawFileIcon(fsArea[FS_AREA_JPG_BUTTON].xStart +BTN_XOFFSET_FROM_OUTLINE,
fsArea[FS_AREA_JPG_BUTTON].yStart +BTN_YOFFSET_FROM_OUTLINE,
CNT_TAB_JPEGBUTTON - 2);
DrawFileIcon(fsArea[FS_AREA_OTHER_BUTTON].xStart+BTN_XOFFSET_FROM_OUTLINE,
fsArea[FS_AREA_OTHER_BUTTON].yStart+BTN_YOFFSET_FROM_OUTLINE,
CNT_TAB_OTHERBUTTON - 2);
#if defined(SUPPORT_NESGAME)||defined(SUPPORT_SPG_GAME)
DrawFileIcon(fsArea[FS_AREA_GAME_BUTTON].xStart +BTN_XOFFSET_FROM_OUTLINE,
fsArea[FS_AREA_GAME_BUTTON].yStart +BTN_YOFFSET_FROM_OUTLINE,
CNT_TAB_GAMEBUTTON - 2);
#endif
int iconType;
if(pFsJpeg->gifsFuncBtn == FS_FUNC_MP3) iconType = FS_AREA_MP3_BUTTON;
else if(pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG) iconType = FS_AREA_JPG_BUTTON;
#ifdef SUPPORT_FILE_SYSTEM_MODE //Jack 06/11/06 added for compile
else if(pFsJpeg->gifsFuncBtn == FS_FUNC_OTHER) iconType = FS_AREA_OTHER_BUTTON;
else if(pFsJpeg->gifsFuncBtn == FS_FUNC_OTHER) iconType = FS_AREA_OTHER_BUTTON;
#endif
if(pFsJpeg->gifsFuncBtn == FS_FUNC_MP3)
DrawSelectedBottomOutLine(fsArea[FS_AREA_MP3_BUTTON].xStart,
fsArea[FS_AREA_MP3_BUTTON].yStart,
fsArea[FS_AREA_MP3_BUTTON].xSize,
fsArea[FS_AREA_MP3_BUTTON].ySize);
else
DrawBottomOutLine( fsArea[FS_AREA_MP3_BUTTON].xStart,
fsArea[FS_AREA_MP3_BUTTON].yStart,
fsArea[FS_AREA_MP3_BUTTON].xSize,
fsArea[FS_AREA_MP3_BUTTON].ySize,
HIGHLIGHT_BG_COLOR_Y, HIGHLIGHT_BG_COLOR_CbCr);
if(pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG)
DrawSelectedBottomOutLine(fsArea[FS_AREA_JPG_BUTTON].xStart,
fsArea[FS_AREA_JPG_BUTTON].yStart,
fsArea[FS_AREA_JPG_BUTTON].xSize,
fsArea[FS_AREA_JPG_BUTTON].ySize);
else
DrawBottomOutLine( fsArea[FS_AREA_JPG_BUTTON].xStart,
fsArea[FS_AREA_JPG_BUTTON].yStart,
fsArea[FS_AREA_JPG_BUTTON].xSize,
fsArea[FS_AREA_JPG_BUTTON].ySize,
HIGHLIGHT_BG_COLOR_Y, HIGHLIGHT_BG_COLOR_CbCr);
#ifdef SUPPORT_FILE_SYSTEM_MODE //Jack 06/11/06 added for compile
if(pFsJpeg->gifsFuncBtn == FS_FUNC_OTHER)
DrawSelectedBottomOutLine(fsArea[FS_AREA_OTHER_BUTTON].xStart,
fsArea[FS_AREA_OTHER_BUTTON].yStart,
fsArea[FS_AREA_OTHER_BUTTON].xSize,
fsArea[FS_AREA_OTHER_BUTTON].ySize);
else
DrawBottomOutLine( fsArea[FS_AREA_OTHER_BUTTON].xStart,
fsArea[FS_AREA_OTHER_BUTTON].yStart,
fsArea[FS_AREA_OTHER_BUTTON].xSize,
fsArea[FS_AREA_OTHER_BUTTON].ySize,
HIGHLIGHT_BG_COLOR_Y, HIGHLIGHT_BG_COLOR_CbCr);
#endif
#if defined(SUPPORT_NESGAME)||defined(SUPPORT_SPG_GAME)
if(pFsJpeg->gifsFuncBtn == FS_FUNC_GAME)
DrawSelectedBottomOutLine(fsArea[FS_AREA_GAME_BUTTON].xStart,
fsArea[FS_AREA_GAME_BUTTON].yStart,
fsArea[FS_AREA_GAME_BUTTON].xSize,
fsArea[FS_AREA_GAME_BUTTON].ySize);
else
DrawBottomOutLine( fsArea[FS_AREA_GAME_BUTTON].xStart,
fsArea[FS_AREA_GAME_BUTTON].yStart,
fsArea[FS_AREA_GAME_BUTTON].xSize,
fsArea[FS_AREA_GAME_BUTTON].ySize,
HIGHLIGHT_BG_COLOR_Y, HIGHLIGHT_BG_COLOR_CbCr);
#endif
}
#else
#if !defined(FS_BMP_GUI)&& !defined(MP3_LARGE_GUI)
void DrawButton(void)
{
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
#ifdef APEX_MP3_ICON
DrawMp3ApexIcon(fsArea[FS_AREA_BUTTON].xStart -90, fsArea[FS_AREA_BUTTON].yStart );
#endif
//draw MP3 icon
if (pFsJpeg->gifsMP3Count)
{
#ifdef MP3_NOICON //caohui 2004-4-23 06:36
DrawRect(fsArea[FS_AREA_BUTTON].xStart+40, fsArea[FS_AREA_BUTTON].yStart-205,
50, 17,
pFsJpeg->gifsFuncBtn == FS_FUNC_MP3 ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
#elif !defined(SUPPORT_DPF_UI)
DrawRect(fsArea[FS_AREA_BUTTON].xStart, fsArea[FS_AREA_BUTTON].yStart,
25, 25,
pFsJpeg->gifsFuncBtn == FS_FUNC_MP3 ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
#endif
}
else
{
#ifdef MP3_NOICON //caohui 2004-4-23 06:36
FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart+48, fsArea[FS_AREA_BUTTON].yStart-205,
50, 17,
BK_GROUNDY, BK_GROUNDCRCB);
#elif !defined(SUPPORT_DPF_UI)
FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart, fsArea[FS_AREA_BUTTON].yStart,
25, 25,
BK_GROUNDY, BK_GROUNDCRCB);
#endif
}
#ifdef MP3_NOICON //2004-4-17 01:05張宇P
strcpy(linebuf, "MP3");
FSGUI_ShowString(fsArea[FS_AREA_BUTTON].xStart + 50,
fsArea[FS_AREA_BUTTON].yStart -204,
linebuf, FS_FONTCOLOR_FILE_Y1, FS_FONTCOLOR_FILE_CrCb1);
#elif !defined(SUPPORT_DPF_UI)
DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 6, fsArea[FS_AREA_BUTTON].yStart + 6, CNT_AREA_MP3BUTTON - 2);
#endif
#ifdef HJ_APEX_ONLY_SHOW_MP3_ICON_WHEN_NO_JPG//nono 20031018
if (pFsJpeg->gifsJPEGCount)
{
#endif
//draw JPEG icon
if (pFsJpeg->gifsJPEGCount)
{
#ifdef MP3_NOICON //caohui 2004-4-23 06:36
{
DrawRect(fsArea[FS_AREA_BUTTON].xStart + 92, fsArea[FS_AREA_BUTTON].yStart-205, 50, 17,
pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
}
#else
{
#ifndef SUPPORT_DPF_UI
DrawRect(fsArea[FS_AREA_BUTTON].xStart + 27, fsArea[FS_AREA_BUTTON].yStart, 25, 25, pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
#endif
}
#endif
}
else
{
#ifdef MP3_NOICON //caohui 2004-4-23 06:36
{
FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart + 92, fsArea[FS_AREA_BUTTON].yStart,
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -