?? fsgui_pub.c
字號:
DrawFolderIcon(fsArea[FS_AREA_DIRICON].xStart, (FS_DIRLIST_YSTART + FS_FILELIST_YSTEP * i), mode);
}
refresh_dir_icon = 0;
}
#ifdef APEX_MP3_ICON
void DrawMp3ApexIcon(int x, int y)
{
int i, j;
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
for (i=0; i<24; i++) {
for (j=0; j<72; j++) {
//if ( fileIcon[type][i][j] == 0xff) continue;
FSGUI_DrawPixel(
x+j, y+i,
RGB8_Y[ mp3fileIcon[i][j] ],
RGB8_CrCb[ mp3fileIcon[i][j] ]
);
}
}
}
#endif//#ifdef APEX_MP3_ICON
void FSShowFileItem(int iItem, const char *s)
{
#ifdef MP3_TXT_DISPLAY
char buf[100];
#else
char buf[20];
#endif
UINT16 first_seq;
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
if ((iItem < 0) || (iItem >= PER_PAGE) || (iItem >= pFsJpeg->File_Count))
return;
#ifdef MP3_DIRECT_SELECT
first_seq = pFsJpeg->first_mp3_seq + PER_PAGE * pFsJpeg->file_page_will;
#else
first_seq = PER_PAGE * pFsJpeg->file_page_will;
#endif
#ifdef MP3_DIRECT_SELECT
if(pFsJpeg->count_file[pFsJpeg->gifsFuncBtn - FS_FUNC_MP3] >= 1000)
psprintf(buf, "%04d.%s", first_seq + iItem + 1, s);
else if(pFsJpeg->count_file[pFsJpeg->gifsFuncBtn - FS_FUNC_MP3] >= 100)
#else
if(pFsJpeg->file_specify_in_dir >= 1000)
psprintf(buf, "%04d.%s", first_seq + iItem + 1, s);
if(pFsJpeg->file_specify_in_dir >= 100)
#endif
psprintf(buf, "%03d.%s", first_seq + iItem + 1, s);
else
psprintf(buf, "%02d.%s", first_seq+iItem + 1, s);
#ifdef FS_BMP_GUI
FSGUI_ShowString(fsArea[FS_AREA_FILEITEM].xStart + 46,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem),
buf, file_focus_y, file_focus_CrCb );
#elif defined(PHILIPS_FSGUI)//chenzhao20050613
FSGUI_ShowString(fsArea[FS_AREA_FILEITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem),
buf, file_focus_y, file_focus_CrCb);
#elif defined(INDIGO_STYLE_FSGUI)
if(((iItem == pFsJpeg->file_current)&&(iItem!= pFsJpeg->file_will)&&(pFsJpeg->file_page_will==pFsJpeg->file_page_now))
||((iItem == pFsJpeg->file_current)&&(pFsJpeg->ControlArea != CNT_AREA_FILE)&&(pFsJpeg->file_page_will==pFsJpeg->file_page_now)))
{ // when HL, the font must be different color.
FSGUI_ShowString(fsArea[FS_AREA_FILEITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem),
buf, TEXT_SELECT_COLODR_Y, TEXT_SELECT_COLODR_CbCr );
}
else
{
FSGUI_ShowString(fsArea[FS_AREA_FILEITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem),
buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb );
}
#else
FSGUI_ShowString(fsArea[FS_AREA_FILEITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem),
buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb );
#endif
}
void ShowDirItem(int iItem, const char *s)
{
char buf[20];
UINT16 first_seq;
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
if ( (iItem < 0) || (iItem >= PER_PAGE) || (iItem >= pFsJpeg->Dir_Count)) {
return;
}
first_seq = PER_PAGE * pFsJpeg->dir_page_now;
if ( strcmp(s, "")==0 ) {
psprintf(buf, "%02d.\\", first_seq+iItem+1);
} else {
psprintf(buf, "%02d.%s",first_seq+iItem+1, s);
}
#ifdef FS_BMP_GUI
FSGUI_ShowString( fsArea[FS_AREA_DIRITEM].xStart + 46,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem ),
buf, file_focus_y, file_focus_CrCb );
#elif defined(PHILIPS_FSGUI)//chenzhao20050613
FSGUI_ShowString( fsArea[FS_AREA_DIRITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem ),
buf, file_focus_y, file_focus_CrCb);
#elif defined(INDIGO_STYLE_FSGUI)
if(((pFsJpeg->dir_array[iItem] == pFsJpeg->fsnav_dir_now) && (pFsJpeg->dir_array[iItem]!= pFsJpeg->fsnav_dir_will))
||((pFsJpeg->dir_array[iItem] == pFsJpeg->fsnav_dir_now) && (pFsJpeg->ControlArea != CNT_AREA_DIR)))
{ // when HL, the font must be different color.
FSGUI_ShowString( fsArea[FS_AREA_DIRITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem ),
buf, TEXT_SELECT_COLODR_Y, TEXT_SELECT_COLODR_CbCr );
}
else
FSGUI_ShowString( fsArea[FS_AREA_DIRITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem ),
buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb );
#else
FSGUI_ShowString( fsArea[FS_AREA_DIRITEM].xStart,
(FS_DIRLIST_YSTART+ FS_FILELIST_YSTEP * iItem ),
buf, FS_FONTCOLOR_FILE_Y, FS_FONTCOLOR_FILE_CrCb );
#endif
}
//
// DrawFileIcon()
// Draw icon for file types
// type = 0->mp3, = 1->jpeg , 2->game
//
#include "fsgui_icon_filex.inc"
#ifdef INDIGO_STYLE_FSGUI
void DrawFileIconX(int x, int y, int type, int mono __UNUSED)
{
if(type == CNT_AREA_MP3BUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], MP3_ICON_Y, MP3_ICON_CbCr, 0);
else if(type == CNT_AREA_JPEGBUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], JPG_ICON_Y, JPG_ICON_CbCr, 0);
#if defined(SUPPORT_NESGAME)
else if(type == CNT_AREA_GAMEBUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], GAME_ICON_Y, GAME_ICON_CbCr, 0);
#endif
#ifdef SUPPORT_FILE_SYSTEM_MODE //Jack added for compile
else if(type == CNT_AREA_OTHERBUTTON-2) FSGUI_DrawIcon(x, y, ICON_FileX[type], OTHER_ICON_Y, OTHER_ICON_CbCr, 0);
#endif
else if(type == CNT_TAB_MP3BUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], MP3_BOTTOM_Y, MP3_BOTTOM_CbCr, 0);
else if(type == CNT_TAB_JPEGBUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], JPG_BOTTOM_Y, JPG_BOTTOM_CbCr, 0);
#if defined(SUPPORT_NESGAME)
else if(type == CNT_TAB_GAMEBUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], GAME_BOTTOM_Y, GAME_BOTTOM_CbCr, 0);
#endif
else if(type == CNT_TAB_OTHERBUTTON -2) FSGUI_DrawIcon(x, y, ICON_FileX[type], OTHER_BOTTOM_Y, OTHER_BOTTOM_CbCr, 0);
}
#elif defined(NEW_MP3_GUI)
void DrawFileIconX(int x, int y, int type, int mono)
{
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
FSGUI_DrawIcon(x, y, ICON_FileX[type], RGB8_Y, RGB8_CrCb, (mono? FSGUI_ICON_MONO : 0));
}
#else
void DrawFileIcon(int x, int y, int type)
{
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
#ifdef FS_BMP_GUI //suqiaoli add 2004-6-10 10:25
FSGUI_LayPosVariableBmp(x, y,LAY_MP3_ICON_S + type);
#else
FSGUI_DrawIcon(x, y, ICON_FileX[type], RGB8_Y, RGB8_CrCb, 0);
#endif
}
#endif
//
// DrawFolderIcon()
// Draw icon for directory types
// type=0: unselected, = 1: opened
//
#include "fsgui_icon_folderx.inc"
const UINT8 cluty_fsgui[2] =
{
YELLOW_Y,
BLACK_Y,
};
const UINT16 clutc_fsgui[2] =
{
YELLOW_CRCB,
BLACK_CRCB,
};
void DrawFolderIcon(int x, int y, BYTE type)
{
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
#ifdef FS_BMP_GUI //suqiaoli add 2004-6-10 10:26
#ifdef GPS_MP3_UI//frank.huang 050915
if(type)
FSGUI_LayPosVariableBmp(x, y,LAY_FOLDER_OPEN_ICON);
else
FSGUI_LayPosVariableBmp(x, y,LAY_FOLDER_ICON);
#else
FSGUI_LayPosVariableBmp(x, y,LAY_FOLDER_ICON);
#endif
#else
#ifdef INDIGO_STYLE_FSGUI
FSGUI_DrawIcon(x, y, ICON_FolderX[type], folder_Y, folder_CbCr, 0);
#else
FSGUI_DrawIcon(x, y, ICON_FolderX[type], cluty_fsgui, clutc_fsgui, 0);
#endif
#endif
}
void DrawRectEdge(int x,int y, int xSize,int ySize,UINT16 color_Y,UINT16 color_CrCb)
{
#ifdef AUDIO_SHOW_SAVER
if (bDisableGUI) return;
#endif
//wanghaoying notice 2004-8-4 17:24,
//maybe when Large-GUI DEMENSION_SIZE should be (DEMENSION_SIZE+1)
FSGUI_FillFrameBuf(x,y,xSize,DEMENSION_SIZE,color_Y,color_CrCb);
FSGUI_FillFrameBuf(x,y,DEMENSION_SIZE,ySize,color_Y,color_CrCb);
FSGUI_FillFrameBuf(x+xSize-DEMENSION_SIZE,y,DEMENSION_SIZE,ySize,color_Y,color_CrCb);
FSGUI_FillFrameBuf(x,y+ySize-DEMENSION_SIZE,xSize,DEMENSION_SIZE,color_Y,color_CrCb);
}
//
// List File item and clear refresh_file_page
//
void FileList(void)
{
UINT16 i;
if (pFsJpeg->gifsState == FS_STATE_JPEG)
return;
if (!refresh_file_page)
return;
#ifdef FS_BMP_GUI
FSGUI_ClearArea(FS_AREA_FILEITEM,PER_PAGE+1);
//2006-06-02, mimitsai add for HD ui.
#else
ClearRectArea(Rect[FILE_RECT], FILE_STEP, FILE_LIST_LEFT_Y, FILE_LIST_RIGHT_Y, FILE_AREA_BKGROUND_CRCB, FS_AREA_FILEITEM, -1);
#endif
#ifdef JPG_EFFECT
#if !defined ( HELP_BMP_GUI)
jpeg_effect_draw_help();
#endif
#endif
for (i = 0; i < pFsJpeg->File_Count; i++)
{
DrawFileIcon(fsArea[FS_AREA_FILEICON].xStart,
(fsArea[FS_AREA_FILEICON].yStart + FS_FILELIST_YSTEP * i), pFsJpeg->gifsFuncBtn - 1);
FSShowFileItem(i, FS_GetFileProperty(pFsJpeg->file_array[i],FILE_PROPERTY_NAME));
//FSShowFileItem(i, iso9660_file[pFsJpeg->file_array[i]].name);
}
refresh_file_page = 0;
}
//
// Calculat location of the first file specified style -> fsnav_trk_now
// and how many page needed to show these files -> File_Page_Count
// and first_mp3_entry, last_mp3_entry
// file_page_now and file_current clear to 0
// and calculate length of scroll bar
//
UINT16 CalcFileFirstPage(int iDirSelect)
{
int iFile;
pFsJpeg->first_mp3_seq = 0;
pFsJpeg->first_mp3_entry = pFsJpeg->Dir_entry[iDirSelect];
if(iDirSelect == pFsJpeg->fsnav_dir_cnt - 1)
pFsJpeg->last_mp3_entry = pFsJpeg->iso9660_file_cnt - 1;
else
pFsJpeg->last_mp3_entry = pFsJpeg->Dir_entry[iDirSelect + 1] - 1;
#ifdef USE_FSGUI_TO_PLAY_CD//frank.huang add 051014
if(cd_type_loaded!=CDDA)
#endif
pFsJpeg->file_specify_in_dir = CountSpecifyFile(iDirSelect);
#ifdef SAVE_EACH_DIR_FILE_COUNT
for(iFile = 0; iFile < iDirSelect; iFile++)
{
pFsJpeg->first_mp3_seq += FS_DirectoryFileCountGetField(iFile,pFsJpeg->gifsFuncBtn);
}
#else //!SAVE_EACH_DIR_FILE_COUNT, no directory file count info in memory, scan through entries to get first_mp3_seq.
for(iFile = 0; iFile < pFsJpeg->first_mp3_entry; iFile++)
{
if (FS_GetFileProperty(iFile,FILE_PROPERTY_CATEGORY) == pFsJpeg->gifsFuncBtn)
//if (iso9660_file[iFile].type == pFsJpeg->gifsFuncBtn)
pFsJpeg->first_mp3_seq++;
}
#endif //#ifdef SAVE_EACH_DIR_FILE_COUNT, dealing with pFsJpeg->first_mp3_seq
iFile = pFsJpeg->first_mp3_entry;
while (iFile <= pFsJpeg->last_mp3_entry)
{
if (FS_GetFileProperty(iFile,FILE_PROPERTY_CATEGORY) == pFsJpeg->gifsFuncBtn)
//if (iso9660_file[iFile].type == pFsJpeg->gifsFuncBtn)
{
pFsJpeg->fsnav_trk_now = iFile - pFsJpeg->first_mp3_entry;
break;
}
iFile++;
}
FSGUI_CalcuteDirFileScrollLen();
pFsJpeg->file_page_will = 0;
pFsJpeg->file_will = 0;
refresh_file_page = 1;
return pFsJpeg->file_specify_in_dir;
}
UINT16 AnchorFile(int iSeq)
{
UINT16 file;
UINT16 j = 0;
for (file = 0; file <= (pFsJpeg->last_mp3_entry - pFsJpeg->first_mp3_entry); file++)
{
if (FS_Ge
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -