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

📄 fsgui_pub.c

📁 dvd里面的一个文件系统的代码
💻 C
📖 第 1 页 / 共 5 页
字号:
#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 + -