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

📄 filemodegui_pub.c

📁 dvd里面的一个文件系统的代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/*-------------------------------------------------------------------------------
|  File Name   :  FileModeGUI_pub.c
|
|  Description :  Support USB/Card FAT File mode UI for copy and delete
|
|  Version    :   0.1  
| 
| 
|  Rev	Date	        Author(s)      Status & Comments
|---------------------------------------------------------------------------------
|  0.1	2004/12/31       sunzhonghui         Creating
|--------------------------------------------------------------------------------*/
#ifdef FILE_MODE_WRITE
#include "fsNAV.h"
#include "fsGUI1.h"
#include "global.h"

//ir related
#include "iop.h"
#include "ircode.h"
extern const BYTE ir_mapcode[256]; 

//to save the last access meida flag : MEDIA_CD or MEDIA_CARD
BYTE last_access_media = 0;
extern void SwitchMedia(BYTE direction);

//0:no CD,1:CD exists
unsigned int detect_CD = 0;

BYTE old_hl_index = 0;//whb add 05-08-16
//input table related
BYTE  Max_left_flag;
BYTE  Max_input_flag;
BYTE  Exit_Enter_flag;
char  *Str_temp;
char  *StrExit="EXIT";
char  *StrEnter="ENTER";
char  GetString[9] = {"        "};
int   input_xoffset;
int   Str_Index_x,Str_Index_y;
UINT8 Item_Num[5][8] = {{ 0, 1, 2, 3, 4, 5, 6, 7},
                        { 8, 9,10,11,12,13,14,15},
                        {16,17,18,19,20,21,22,23},
                        {24,25,26,27,28,29,30,31},
                        {32,33,34,35,36,37,38,39}};

char *Item_Str[] = {   
                       "A","B","C","D","E","F","G","H","I","J",
                       "K","L","M","N","O","P","Q","R","S","T",
                       "U","V","W","X","Y","Z","1","2","3","4",
                       "5","6","7","8","9","0","~","_","-","\\"};


//others
#include "fsgui.h"
//extern const BTNAREA Rect[];
//extern const BTNAREA fsArea[];
extern void  DrawFileIconX(int x, int y, int type, int mono);
#if defined (NEW_MP3_GUI) || defined (FS_BMP_GUI)
extern int  old_ControlArea; //record last ControlArea.
extern int  HL_show;//record HL .
#endif
BYTE   *mediaStr[]={};
BYTE   *functionStr[]={"COPY","DELETE","NEW","RENAME","FORMAT","CAPACITY INFO",};

BYTE   srceType_flag;
BYTE   file_mode_flag = 0;
extern void osd_init_periphGUI(void);
//extern void osd_DrawRegionString(UINT32 xStart, UINT32 yStart, const BYTE *str, BYTE fontColor, BYTE bkColor, BYTE r);
extern void osd_draw_region_rect(UINT32 xStart, UINT32 yStart, UINT32 xLen, UINT32 yLen, BYTE bkColor, BYTE r);
extern void osd_init_MediaswitchGUI(void);
extern int  ReadCDTitle(void);

//buffer areas
UINT32 iso9660buf_src = SDRAM_BASE + FS9660YA * 1024;
UINT32 iso9660buf_des = SDRAM_BASE + FS_STRUCTURE_YA * 1024;
FSJPEGDATA  *pFsJpeg_des_buf = (FSJPEGDATA  *)(SDRAM_BASE + FSJPEGDATA_DES_YA*1024);


//debug related
#ifndef DVDRELEASE
#define FILE_MODE_WRITE_DBG  1
#endif

#define	D	printf("INFO: __%d__(%s:%s)\n",__LINE__,__FILE__,__FUNCTION__);

#ifndef FILE_MODE_WRITE_DBG
    #undef printf
    #undef print_block
    #define printf(f, a...) do {} while (0)
    #define print_block(x,y) do {} while (0)
#endif

//main functions of FileMode Write
#include "FileMode_pub.h"
#include "FileMode_pub.c"
/****************************************************************************************\
 *                                                                                       *
 *  Function Name : Draw_FileMode_Menu                                                   *
 *                                                                                       *
 *  Purposes      :                                                                      *
 *                                                                                       *
 *  Descriptions  :                                                                      *
 *                                                                                       *
 *  Arguments     : (none)                                                               *
 *                                                                                       *
 *  Returns       : (none)                                                               *
 *                                                                                       *
 *  See also      :                                                                      *
 *                                                                                       *
\****************************************************************************************/
void Draw_FileMode_Menu(void)
{
    refresh_dir_page=1;
    refresh_file_page=1;
#if defined(MP3_LARGE_GUI) || defined(INDIGO_STYLE_LARGE_FSGUI) //2006-06-02, mimitsai add for HD ui.
    set_disbuf_now(0);
#endif

#ifdef NEW_MP3_GUI
    // background
    #ifdef MP3_LARGE_GUI
    FSGUI_FillFrameBuf(0,0, 720, 480, BK_GROUNDY,BK_CRCB);
    #else
    FSGUI_FillFrameBuf(0,0,352,288,BK_GROUNDY,BK_CRCB);
    #endif

    //draw left,right and bottom rec area
    #ifdef MONO_FSGUI //FS GUI, axel 2003-12-29 23:26
	//2006-06-02, mimitsai add for HD ui.
    DrawRectCorner(Rect[DIR_RECT],  CORNER_RAD, 1, 1, 0, 0, DIR_AREA_BKGROUND_CRCB);
    DrawRectCorner(Rect[FILE_RECT], CORNER_RAD, 1, 1, 0, 0, FILE_AREA_BKGROUND_CRCB);
    #else
    DrawRectCorner(Rect[DIR_RECT], CORNER_RAD,  1, DIR_STEP,  0, 0, DIR_AREA_BKGROUND_CRCB);
    DrawRectCorner(Rect[FILE_RECT], CORNER_RAD, 1, FILE_STEP, 0, 0, FILE_AREA_BKGROUND_CRCB);
    #endif
    DrawRectCorner(Rect[INFO_RECT], CORNER_RAD, 1, 40, 0, 0, DIR_AREA_BKGROUND_CRCB );

#elif defined FS_BMP_GUI

    // show background
    FSGUI_DrawBackGround(BG_XSTART, BG_YSTART + 0, BG_XREPEAT, BG_YREPEAT,LAY_BG_3_1);
    FSGUI_DrawBackGround(BG_XSTART, BG_YSTART + 0xaa, BG_XREPEAT, BG_YREPEAT,LAY_BG_3_2);
    FSGUI_DrawBackGround(BG_XSTART, BG_YSTART + 0x17d, BG_XREPEAT, BG_YREPEAT, LAY_BG_3_3);

    // dir background and file background
    FSGUI_ShowBmpCornerRect(DIR_AREA_XSTART, DIR_AREA_YSTART, DIR_AREA_XLEN, DIR_AREA_YLEN);
    FSGUI_ShowBmpCornerRect(FILE_AREA_XSTART, FILE_AREA_YSTART, FILE_AREA_XLEN, FILE_AREA_YLEN);

	//draw the left and right edge of the info area
	FSGUI_LayoutBmp(LAY_PLAYING_BAR_3_1);
	FSGUI_LayoutBmp(LAY_PLAYING_BAR_3_3);

    	//draw the info area background
	FSGUI_DrawBackGround(fsArea[FS_AREA_PATHBACKGROUND].xStart ,
		fsArea[FS_AREA_PATHBACKGROUND].yStart,
		fsArea[FS_AREA_PATHBACKGROUND].xSize,
		fsArea[FS_AREA_PATHBACKGROUND].ySize,
		LAY_PLAYING_BAR_3_2);

#else	//NEW_MP3_GUI
	// background
	FSGUI_FillFrameBuf(0,0,352,288,BK_GROUNDY,BK_GROUNDCRCB);

	// high line
	FSGUI_FillFrameBuf(0,Y1,352,LIGHT_WID,WHITE_Y,WHITE_CRCB);

	FSGUI_FillFrameBuf(0, Y1+LIGHT_WID,
		X1, SHADOW_WID,
		BLACK_Y, BLACK_CRCB);

	FSGUI_FillFrameBuf(X1+LIGHT_WID+SHADOW_WID, Y1+LIGHT_WID,
		352-X1-LIGHT_WID-SHADOW_WID, SHADOW_WID,
		BLACK_Y, BLACK_CRCB);

	FSGUI_FillFrameBuf(0, Y3,
		X1, LIGHT_WID,
		WHITE_Y,WHITE_CRCB);

	FSGUI_FillFrameBuf(X1+LIGHT_WID+SHADOW_WID, Y3,
		352-X1-LIGHT_WID-SHADOW_WID, LIGHT_WID,
		WHITE_Y,WHITE_CRCB);

	FSGUI_FillFrameBuf(0, Y3+LIGHT_WID,
		352, SHADOW_WID,
		BLACK_Y,BLACK_CRCB);

	FSGUI_FillFrameBuf(X1, Y1+LIGHT_WID,
		LIGHT_WID, Y3-Y1,
		WHITE_Y,WHITE_CRCB);

	FSGUI_FillFrameBuf(X1+LIGHT_WID, Y1+LIGHT_WID,
		SHADOW_WID, Y3-Y1-LIGHT_WID,
		BLACK_Y,BLACK_CRCB);
	DrawScroll();
#endif	//NEW_MP3_GUI

#ifdef FS_BMP_GUI
    FSGUI_ShowString( xStart + 46, 
		(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem ), 
		buf, file_focus_y, file_focus_CrCb);
#else	
    FSGUI_ShowString( Rect[SRCE_TITILE_RECT].xStart,Rect[SRCE_TITILE_RECT].yStart, "SOURCE:", FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
    FSGUI_ShowString( Rect[DEST_TITLE_RECT].xStart,Rect[DEST_TITLE_RECT].yStart, "DESTINATION:", FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb);
#endif

    MediaItem_List(FS_DIRLIST_XSTART,SRCE);
    MediaItem_List(fsArea[FS_AREA_FILEITEM].xStart + 4,DEST);    
    ShowWarning("PLEASE SELECT TO ENTER");
    
    old_ControlArea = CNT_AREA_SRCE;
    pFsJpeg->ControlArea=CNT_AREA_SRCE;
    HL_show = pFsJpeg->media_current = pFsJpeg->media_will=1;
    FSGUI_FileMode_Init();

    ShowHL();
    Draw_File_Mode_Button();
}
/****************************************************************************************\
 *                                                                                       *
 *  Function Name : Draw_File_Mode_Button                                                *
 *                                                                                       *
 *  Purposes      :                                                                      *
 *                                                                                       *
 *  Descriptions  :                                                                      *
 *                                                                                       *
 *  Arguments     : (none)                                                               *
 *                                                                                       *
 *  Returns       : (none)                                                               *
 *                                                                                       *
 *  See also      :                                                                      *
 *                                                                                       *
\****************************************************************************************/
void Draw_File_Mode_Button(void)
{
    /*
    if((pFsJpeg->ControlArea==CNT_AREA_SRCE)||(pFsJpeg->gifsState == FS_STATE_MEDIA))  
    {
		FSGUI_FillFrameBuf(fsArea[FS_AREA_BUTTON].xStart, fsArea[FS_AREA_BUTTON].yStart, 25, 25, BK_GROUNDY, BK_GROUNDCRCB);				        
    }
    else
    */
		DrawRect(fsArea[FS_AREA_BUTTON].xStart, fsArea[FS_AREA_BUTTON].yStart,
			25, 25,
			pFsJpeg->gifsFuncBtn == FS_FUNC_COPYING ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

    	DrawFileIconX(fsArea[FS_AREA_BUTTON].xStart +6, fsArea[FS_AREA_BUTTON].yStart + 6, 2,0);

		DrawRect(fsArea[FS_AREA_BUTTON].xStart+30, fsArea[FS_AREA_BUTTON].yStart,
			25, 25,
			pFsJpeg->gifsFuncBtn == FS_FUNC_DELETE ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

	    DrawFileIconX(fsArea[FS_AREA_BUTTON].xStart + 30 +6, fsArea[FS_AREA_BUTTON].yStart + 6, CNT_AREA_MP3BUTTON - 2,0);

		DrawRect(fsArea[FS_AREA_BUTTON].xStart+60, fsArea[FS_AREA_BUTTON].yStart,
			25, 25,
			pFsJpeg->gifsFuncBtn == FS_FUNC_NEW ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

	    DrawFileIconX(fsArea[FS_AREA_BUTTON].xStart + 60 +6, fsArea[FS_AREA_BUTTON].yStart + 6, CNT_AREA_MP3BUTTON - 2,0);
			
		DrawRect(fsArea[FS_AREA_BUTTON].xStart+90, fsArea[FS_AREA_BUTTON].yStart,
			25, 25,
			pFsJpeg->gifsFuncBtn==FS_FUNC_RENAME ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

	    DrawFileIconX(fsArea[FS_AREA_BUTTON].xStart + 90 +6, fsArea[FS_AREA_BUTTON].yStart + 6, CNT_AREA_MP3BUTTON - 2,0);

		DrawRect(fsArea[FS_AREA_BUTTON].xStart+120, fsArea[FS_AREA_BUTTON].yStart,
			25, 25,
			pFsJpeg->gifsFuncBtn==FS_FUNC_FORMAT ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);

	    DrawFileIconX(fsArea[FS_AREA_BUTTON].xStart + 120 +6, fsArea[FS_AREA_BUTTON].yStart + 6, CNT_AREA_MP3BUTTON - 2,0);
	
		DrawRect(fsArea[FS_AREA_BUTTON].xStart+150, fsArea[FS_AREA_BUTTON].yStart,
			25, 25,
			pFsJpeg->gifsFuncBtn==FS_FUNC_CAPACITY ? 1 : 0, BK_GROUNDY, BK_GROUNDCRCB);	

	    DrawFileIconX(fsArea[FS_AREA_BUTTON].xStart + 150 +6, fsArea[FS_AREA_BUTTON].yStart + 6, CNT_AREA_MP3BUTTON - 2,0);															    
}
/****************************************************************************************\
 *                                                                                       *
 *  Function Name : FSShowFatIcon                                                        *                                                                               *
 *  Purposes      :                                                                      *
 *                                                                                       *
 *  Descriptions  :                                                                      *
 *                                                                                       *
 *  Arguments     : (none)                                                               *
 *                                                                                       *
 *  Returns       : (none)                                                               *

⌨️ 快捷键说明

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