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

📄 fsgui_new_large.c

📁 dvd里面的一个文件系统的代码
💻 C
📖 第 1 页 / 共 2 页
字号:

   // if (iFiles>999)
        HL_Width =216;
   // else if (iFiles>99)
   //     HL_Width = 108;
  //  else
  //    HL_Width = 100;

	//ShowHL();//move to the last of SelectHL() zhaoyanhua  2004-2-2 17:13
#ifdef MP3_TXT_DISPLAY //zhaoyanhua add 2003-9-2 9:40
	if ( ( (JPEG_Preview_drawed == DIR_LIST_IN_DIR_AREA)
	     &&(pFsJpeg->gifsFuncBtn != FS_FUNC_MP3) )
	  || ( (MP3_Lyrics_Drawed == DIR_LIST_IN_DIR_AREA)
	     &&(pFsJpeg->gifsFuncBtn == FS_FUNC_MP3)))//zhaoyanhua modify 2003-8-28 13:29
#else
    //to avoid the bug : when play JPEG, BUTTON->FILE  (RIGHT) or(UP) ,not draw DIR playing again.
    //zhaoyanhua modify 2003-12-27 11:10
    if ( ((JPEG_Preview_drawed == DIR_LIST_IN_DIR_AREA) &&(!(pFsJpeg->gifsbPreview))
      	&&(pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG))//for JPEG 
      ||((JPEG_Preview_drawed == DIR_LIST_IN_DIR_AREA) && (pFsJpeg->gifsFuncBtn != FS_FUNC_JPEG))//for MP3/OTHER 
       )
#endif
		ShowCurrentDirPlaying();
	
	ShowCurrentFilePlaying();
	ShowHL();//zhaoyanhua move here 2004-2-2 17:13
}




#ifdef MP3_TXT_DISPLAY
#define LYRECT_XSIZE      145
#define LYRECT_XSTART     25
void ClearLycArea(BTNAREA  Rect, UINT16 RectColorStep,UINT16 RegionColor_C,int ItemStart, int ItemNumber)
{
	int i =0;
	int  x0=0,y0=0;
	UINT8 RegionColor_Y[60];
	int Region[60];
	UINT8 StepCount =0;
	int  xAreaStart=0,yAreaStart = 0, xAreaSize=0,yAreaSize=0;



	// calulate the Y and Region width according to the given step.
		for ( i = 0; i < RectColorStep; i++ )
		{
			Region[i] = Rect.xStart + i*(Rect.xSize / RectColorStep);
			RegionColor_Y[i] = 0x36 + i*((0xc1 - 0x36)/RectColorStep);
			
		}
    
    xAreaStart = LYRECT_XSTART;
	yAreaStart = FS_DIRLIST_YSTART + ItemStart *FS_FILELIST_YSTEP;
	xAreaSize =  LYRECT_XSIZE ;
	yAreaSize =  ItemNumber*FS_FILELIST_YSTEP;

 	StepCount = 0;

	//printf("Region[ 1 ] = %d\n",Region[1]);

 	while(xAreaStart >= Region[StepCount])
 	{
 		StepCount++;
 	}
 	StepCount = StepCount-1;
 	//printf("xAreaStart=%d,Region[%d]=%d\n",xAreaStart,StepCount,Region[StepCount]);

 	for (x0 = xAreaStart; x0 < (xAreaStart+ xAreaSize); x0++)
	{
		if((StepCount +1) < RectColorStep)
		{
			if ((x0 >= Region[StepCount]) && (x0 < Region[StepCount + 1]))
			{
				StepCount++;

			}
 		}
 		else
 			StepCount = RectColorStep -1;

		for (y0 = yAreaStart; y0 < (yAreaStart+yAreaSize); y0++)
		{
			*Y_XY((x0),(y0)) = RegionColor_Y[StepCount];
			*C_XY((x0),(y0)) = RegionColor_C;
		}
	}

}

#endif




void ShowHL(void)
{
	#ifdef AUDIO_SHOW_SAVER
    if (bDisableGUI) return;
    #endif


	// clear last HL
	switch (old_ControlArea)
	{
		case  CNT_AREA_FILE:
				//zhaoyanhua add 2004-2-2 16:54
				//make some changes for the GUI not blink .
				if(HL_show == fsnav_file_HL)
					ShowCurrentFilePlaying();
				else
				{
					//2006-06-02, mimitsai add for HD ui.
					ClearRectArea(Rect[FILE_RECT], FILE_STEP, 0x36, 0xc1, FILE_AREA_BKGROUND_CRCB,FS_AREA_FILEITEM, HL_show);
					
					FSShowFileItem(HL_show, FS_GetFileProperty(pFsJpeg->file_array[HL_show],FILE_PROPERTY_NAME));//resume the last HL
					//FSShowFileItem(HL_show, iso9660_file[pFsJpeg->file_array[HL_show]].name);//resume the last HL
				}
				break;
		case  CNT_AREA_DIR:
				//zhaoyanhua add 2004-2-2 16:54
				//make some changes for the GUI not blink .
				if(HL_show == fsnav_dir_HL)
					ShowCurrentDirPlaying();
				else
				{
					//2006-06-02, mimitsai add for HD ui.				
					ClearRectArea(Rect[DIR_RECT], DIR_STEP, 0x36, 0xc1, DIR_AREA_BKGROUND_CRCB, FS_AREA_DIRITEM, HL_show);
					ShowDirItem(HL_show,iso9660_dir[pFsJpeg->dir_array[HL_show]].name);//resume the last HL
				}
				break;

		case  CNT_AREA_MP3BUTTON:
				{
					DrawRect(fsArea[FS_AREA_BUTTON].xStart, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_MP3 ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 12, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MP3BUTTON - 2);
				}
				break;
		case  CNT_AREA_JPEGBUTTON:
				{
                    //FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart + 3+ 27-1, fsArea[FS_AREA_BUTTON].yStart + 3, 24,24, BK_GROUNDY,BK_GROUNDCRCB);
					DrawRect(fsArea[FS_AREA_BUTTON].xStart+50, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_JPEG ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 62, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_JPEGBUTTON - 2);
				}
				break;
#if defined(SUPPORT_NESGAME)||defined(SUPPORT_SPG_GAME)
		case  CNT_AREA_GAMEBUTTON:
				{
					DrawRect(fsArea[FS_AREA_BUTTON].xStart+100, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_GAME ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 112, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_GAMEBUTTON - 2);
				}
				break;
#endif
#ifdef SUPPORT_FILE_SYSTEM_MODE
		case  CNT_AREA_OTHERBUTTON:
			  {
#if defined(SUPPORT_NESGAME)||defined(SUPPORT_SPG_GAME)
                    //FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart + 3+81, fsArea[FS_AREA_BUTTON].yStart + 3, 19,19, BK_GROUNDY,BK_GROUNDCRCB);
					DrawRect(fsArea[FS_AREA_BUTTON].xStart+150, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_GAME ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 162, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_OTHERBUTTON - 2);
#else
					DrawRect(fsArea[FS_AREA_BUTTON].xStart+100, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_OTHER ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 112, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_OTHERBUTTON - 2);
#endif
			 }
			break;


#endif

#ifdef SUPPORT_MIDI
		case  CNT_AREA_MIDIBUTTON:
			{
#ifdef SUPPORT_FILE_SYSTEM_MODE
#ifdef SUPPORT_NESGAME
            DrawRect(fsArea[FS_AREA_BUTTON].xStart+200, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_MIDI ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
            //FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart + 3+108, fsArea[FS_AREA_BUTTON].yStart + 3, 19,19, BK_GROUNDY,BK_GROUNDCRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 212, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#else //SUPPORT_NESGAME
            DrawRect(fsArea[FS_AREA_BUTTON].xStart+150, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_MIDI ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 162, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#endif //SUPPORT_NESGAME
#else //SUPPORT_FILE_SYSTEM_MODE
#ifdef SUPPORT_NESGAME
           DrawRect(fsArea[FS_AREA_BUTTON].xStart+150, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_MIDI ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 162, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#else //SUPPORT_NESGAME
            DrawRect(fsArea[FS_AREA_BUTTON].xStart+100, fsArea[FS_AREA_BUTTON].yStart,
					48, 48,
                        pFsJpeg->gifsFuncBtn == FS_FUNC_MIDI ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 112, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#endif //SUPPORT_NESGAME
#endif //SUPPORT_FILE_SYSTEM_MODE
			}
			break;
#endif
		default: break;
   }

	// draw current HL
	switch (pFsJpeg->ControlArea)
	{
		case  CNT_AREA_FILE:
				{
					HL_show = pFsJpeg->file_will;
					old_ControlArea = CNT_AREA_FILE;

					FSGUI_FillFrameBuf(fsArea[FS_AREA_FILEITEM].xStart - 2, FS_DIRLIST_YSTART  + HL_show * FS_FILELIST_YSTEP, HL_Width, HL_Heighth, HL_Y, HL_CRCB);
					FSShowFileItem(HL_show , FS_GetFileProperty(pFsJpeg->file_array[HL_show],FILE_PROPERTY_NAME));//resume the last HL
					//FSShowFileItem(HL_show , iso9660_file[pFsJpeg->file_array[HL_show]].name);//resume the last HL
				    /// NOTE:
				    // These code are put here ,for they will used by FSGUI_Refresh()/FSGUI_CmdLeft/FSGUI_CmdRight()
				    // if MP3_Lyrics_Drawed is 1,then show lyrics.
				    //zhaoyanhua add 2003-9-1 17:49
				    #ifdef MP3_TXT_DISPLAY
                    ShowLyricsWhileHL();
                    #endif	  
				}
				break;
		case  CNT_AREA_DIR:
				{
					HL_show = pFsJpeg->dir_current;
					old_ControlArea = CNT_AREA_DIR;

					FSGUI_FillFrameBuf(fsArea[FS_AREA_DIRITEM].xStart - 2, FS_DIRLIST_YSTART  + HL_show * FS_FILELIST_YSTEP, HL_Width, HL_Heighth, HL_Y, HL_CRCB);
					ShowDirItem(HL_show,iso9660_dir[pFsJpeg->dir_array[HL_show]].name);//resume the last HL
				}
				break;

		case  CNT_AREA_MP3BUTTON:
				{
					old_ControlArea = CNT_AREA_MP3BUTTON;
					FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart , fsArea[FS_AREA_BUTTON].yStart , 48, 48, HL_Y,HL_CRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 12, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MP3BUTTON - 2);
				}
				break;
		case  CNT_AREA_JPEGBUTTON:
				{
					old_ControlArea = CNT_AREA_JPEGBUTTON;
					FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart+50 , fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 62, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_JPEGBUTTON - 2);
				}
				break;
#ifdef SUPPORT_NESGAME
		case  CNT_AREA_GAMEBUTTON:
				{
					old_ControlArea = CNT_AREA_GAMEBUTTON;
					FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +100, fsArea[FS_AREA_BUTTON].yStart , 48,48,HL_Y,HL_CRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 112, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_GAMEBUTTON - 2);
				}
				break;
#endif
#ifdef SUPPORT_FILE_SYSTEM_MODE
		case  CNT_AREA_OTHERBUTTON:
			  {
					old_ControlArea = CNT_AREA_OTHERBUTTON;
#ifdef SUPPORT_NESGAME

					FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +150, fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 162, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_OTHERBUTTON - 2);
#else
					FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +100, fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
					DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 112, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_OTHERBUTTON - 2);
#endif
			 }
			break;

#endif
#ifdef SUPPORT_MIDI
		case  CNT_AREA_MIDIBUTTON:
			{
				old_ControlArea = CNT_AREA_MIDIBUTTON;
#ifdef SUPPORT_FILE_SYSTEM_MODE
#ifdef SUPPORT_NESGAME
            FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +200, fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 212, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#else //SUPPORT_NESGAME
            FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +150, fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 162, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#endif //SUPPORT_NESGAME
#else //SUPPORT_FILE_SYSTEM_MODE
#ifdef SUPPORT_NESGAME
            FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +150, fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 162, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#else //SUPPORT_NESGAME
            FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart +100, fsArea[FS_AREA_BUTTON].yStart , 48,48, HL_Y,HL_CRCB);
			DrawFileIcon(fsArea[FS_AREA_BUTTON].xStart + 112, fsArea[FS_AREA_BUTTON].yStart + 12, CNT_AREA_MIDIBUTTON - 2);
#endif //SUPPORT_NESGAME
#endif //SUPPORT_FILE_SYSTEM_MODE
			}
			break;
#endif

	default: break;
	}

}


⌨️ 快捷键说明

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