📄 uiflow.c
字号:
else if(G_UIStatusH== K_UISTATUS_DSC_AUDIO)
{
if(G_ExtCardStatus)
{
L2_SetFOSDIndex_1(0, FOSD_H_num-5, 0x30); //wendy
L2_SetFOSDAttr_1(0, FOSD_H_num-5, UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(0, FOSD_H_num-4, 0x31);
L2_SetFOSDAttr_1(0, FOSD_H_num-4, UI_MENU_DEHIGHLIGHT_COLOR);
}
else
{
UI_PrintOSDString(" ", FOSD_H_num-5, 0, UI_MENU_DEHIGHLIGHT_COLOR);
}
L2_SetFOSDIndex_1(0, FOSD_H_num-3, 182);
L2_SetFOSDAttr_1(0,FOSD_H_num-3,UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(0, FOSD_H_num-2, 183);
L2_SetFOSDAttr_1(0,FOSD_H_num-2,UI_MENU_DEHIGHLIGHT_COLOR);
}
if(K_UISTATUS_DSC_PREVIEW==G_UIStatusH || K_UISTATUS_DSC_VIDEO==G_UIStatusH )
UI_DispFoucsIcon();
}
//=============================================================================
//UI_PlaybackStatusOSD()
//=============================================================================
void UI_PlaybackStatusOSD() USING_0
{
UCHAR FOSD_V_num, FOSD_H_num;
//Joe@2003.3.4 16:06 add begin
UCHAR i;
UCHAR name[8];
UCHAR filecount[5];
USHORT tempfileindex;
UCHAR FileType;
UCHAR tmp1,tmp2;
UCHAR tmp;
UCHAR osdStr[8];
USHORT TempFileIndex;
UCHAR ch;
UCHAR szTmp[10];//Davis:patch3.11 add for
//Joe@2003.3.4 16:06 add end
//Joe@2003.2.27 10:21 modify begin
/*if(G_DisplayType <= 7) //TV
{
FOSD_H_num = (K_DISPLAY_StnLcdWidth/16)+5;
FOSD_V_num = (K_DISPLAY_StnLcdHeight/32);
}
else
{
FOSD_H_num = (G_DSPHsize/16);
FOSD_V_num = (G_DSPVsize/32);
}
*/
UI_GetFOSDSize(&FOSD_H_num, &FOSD_V_num);
if (G_DisplayMode != K_DisplayModeOsdOn)
return;
//Joe@2003.2.27 10:21 modify end
if (G_playObject.mediaType == K_PLAYBACK_TYPE_JPG)
{
PlaybackZoom(G_PBZFactor);
osdStr[0] = 16;
osdStr[1] = 17;
osdStr[2] = (G_PBZFactor / 10) + '0';
osdStr[3] = '.';
osdStr[4] = (G_PBZFactor % 10) + '0';
osdStr[5] = 'X';
osdStr[6] = '\0';
if(G_PBZFactor==10)
{
DELAY_100ms();
UI_PrintOSDString(" ", 0, 0, 2);
}
else
UI_PrintOSDString(osdStr, 0, 0, 2);
}
if (G_USR_FileCount > 0)
{
//turnkey_patch2.2@ada@Show the file order begin
// L2_DRAMSetStartAddr((K_SDRAM_AVI_FdbParameterBufAddr + (((ULONG)G_playObject.FileIndex) - 1) * 10 + 6),K_SDRAM_Prefetch);
// for (i = 0; i < 4; i += 2)
// {
// L2_DRAMReadWord(&TTName[i],&TTName[i + 1]);
// }
// TempFileIndex = G_playObject.FileIndex;
// for (i = 7; i > 3; i--)
// {
// ch = (UCHAR) (TempFileIndex % 10) + '0';
// TempFileIndex /= 10;
// TTName[i] = ch;
// }
//turnkey_patch2.2@ada@Show the file order end
if (G_Playback_Mode == K_PLAYBACK_MODE_ONE)
{
//name[3] = '\0';
//name[8] = '\0';
//UI_PrintOSDString(name, FOSD_H_num - 7, 0,UI_MENU_DEHIGHLIGHT_COLOR);//HX@2003.4.28 MASK FOR MITO
USR_ReadDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + (ULONG)(G_playObject.FileIndex - 1) * 10,&FileType);
//Joe@2003.3.26 9:23 add begin
// UI_PrintOSDString("", 0, 0, UI_MENU_DEHIGHLIGHT_COLOR);
//Joe@2003.3.26 9:24 add end
/* if (G_DOS_FileAttribute & 0x01) //lock icon
{
L2_SetFOSDIndex_1(0, 0, 46);
L2_SetFOSDIndex_1(0, 1, 47);
L2_SetFOSDAttr(0, 0, 2);
L2_SetFOSDAttr(0, 1, 2);
}
else
{
//Joe@2003.3.22 13:36 modify begin
//UI_PrintOSDString(" ", 0, 1, UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(0, 0, 0x00);//48);
L2_SetFOSDIndex_1(0, 1, 0x00);//49);
L2_SetFOSDAttr(0, 0, 2);
L2_SetFOSDAttr(0, 1, 2);
//Joe@2003.3.22 13:36 modify end
}
*/
L2_DRAMSetStartAddr((K_SDRAM_DPOF3_BufAddr + (((ULONG)G_NowPlayFileIndex) - 1) * 3),K_SDRAM_Prefetch);
L2_DRAMReadWord(&tmp1,&tmp2);
if (FileType == K_USR_JPG_TYPE)
{
if ((tmp1 == 0xff) && (tmp2 == 0xff))
{
// L2_SetFOSDIndex_1(0, 2, 154); //printer icon
// L2_SetFOSDIndex_1(0, 3, 155);
// L2_SetFOSDAttr(0, 2, 2);
// L2_SetFOSDAttr(0, 3, 2);
}
else
{
// UI_PrintOSDString(" ", 2, 0, UI_MENU_DEHIGHLIGHT_COLOR);
}
}
TTName[8]='\0';
UI_PrintOSDString(TTName, 0, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
UI_PrintOSDString("/", 8, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
tempfileindex = G_USR_FileCount;
for (i = 0; i < 4; i++)
{
filecount[(3 - i)] = (UCHAR)(tempfileindex % 10) + '0';
tempfileindex /= 10;
}
filecount[4] = '\0';
UI_PrintOSDString(filecount, 9, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
}
else if (G_Playback_Mode == K_PLAYBACK_MODE_NINE)
{
L2_DRAMSetStartAddr((K_SDRAM_JPG_FdbParameterBufAddr + (((ULONG)G_NowPlayFileIndex) - 1) * 10 + 2),K_SDRAM_Prefetch);
L2_DRAMReadWord(&tmp,&FileType);
if (FileType == K_PLAYBACK_TYPE_JPG)
{
UI_PrintOSDString("JPG", 1, 0, UI_MENU_TITLE_TEXT_COLOR);
L2_DRAMSetStartAddr((K_SDRAM_JPG_FdbParameterBufAddr + (((ULONG)G_NowPlayFileIndex) - 1) * 10 + 6),K_SDRAM_Prefetch);
for (i = 0; i < 4; i += 2)
{
L2_DRAMReadWord(&TTName[i],&TTName[i + 1]);
}
}
else if (FileType == K_PLAYBACK_TYPE_AVI)
{
UI_PrintOSDString("AVI", 1, 0, UI_MENU_TITLE_TEXT_COLOR);
L2_DRAMSetStartAddr((K_SDRAM_AVI_FdbParameterBufAddr + (((ULONG)G_NowPlayFileIndex) - 1) * 10 + 6),K_SDRAM_Prefetch);
for (i = 0; i < 4; i += 2)
{
L2_DRAMReadWord(&TTName[i],&TTName[i + 1]);
}
}
else if (FileType== K_PLAYBACK_TYPE_WAV)
{
UI_PrintOSDString("WAV", 1, 0, UI_MENU_TITLE_TEXT_COLOR);
L2_DRAMSetStartAddr((K_SDRAM_WAV_FdbParameterBufAddr + (((ULONG)G_NowPlayFileIndex) - 1) * 10 + 6),K_SDRAM_Prefetch);
for (i = 0; i < 4; i += 2)
{
L2_DRAMReadWord(&TTName[i],&TTName[i + 1]);
}
}
//L2_DRAMReadWord(&tmp,&FileType);
TempFileIndex = G_NowPlayFileIndex;
for (i = 7; i > 3; i--)
{
ch = (UCHAR) (TempFileIndex % 10) + '0';
TempFileIndex /= 10;
TTName[i] = ch;
}
TTName[8]='\0';
UI_PrintOSDString(TTName, 0, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
UI_PrintOSDString("/", 8, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
tempfileindex = G_USR_FileCount;
for (i = 0; i < 4; i++)
{
filecount[(3 - i)] = (UCHAR)(tempfileindex % 10) + '0';
tempfileindex /= 10;
}
filecount[4] = '\0';
UI_PrintOSDString(filecount, 9, FOSD_V_num - 1, UI_MENU_DEHIGHLIGHT_COLOR);
}
}
else
{
tmp = MemStretch;
MemStretch = 0x01;
XBYTE[0x2D18] &= 0x7f;
MemStretch = tmp;
UI_ClearFOSD(25,8,0x00);
//UI_PrintOSDString(" No File Exist ", (FOSD_H_num / 2) - 7, FOSD_V_num / 2, UI_MENU_DEHIGHLIGHT_COLOR);
UI_PrintOSDString(NO_IMAGE[G_Language], FOSD_H_num/2-4, FOSD_V_num/2, UI_MENU_DEHIGHLIGHT_COLOR);
UI_PrintOSDString(" ", FOSD_H_num-2, FOSD_V_num-1, UI_MENU_DEHIGHLIGHT_COLOR);
}
//Joe@2003.3.4 16:01 modify end
// UI_PrintOSDString("100MEDIA ", FOSD_H_num-8, 0, UI_MENU_DEHIGHLIGHT_COLOR);
//Davis:patch3.11 add-----------------------dir name get
szTmp[0]=(UCHAR)((G_USR_Dir1Count%1000)/100)+'0';
szTmp[1]=(UCHAR)((G_USR_Dir1Count%100)/10)+'0';
szTmp[2]=(UCHAR)(G_USR_Dir1Count%10)+'0';
szTmp[3]='\0';
strncat(szTmp,"MEDIA",6);
szTmp[9]='\0';
UI_PrintOSDString(szTmp, FOSD_H_num-8, 0, UI_MENU_DEHIGHLIGHT_COLOR);
//Davis:patch3.11 add-----------------------
if(G_ExtCardStatus)
{
L2_SetFOSDIndex_1(0, FOSD_H_num-10, 0x30); //wendy
L2_SetFOSDAttr_1(0, FOSD_H_num-10, UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(0, FOSD_H_num-9, 0x31);
L2_SetFOSDAttr_1(0, FOSD_H_num-9, UI_MENU_DEHIGHLIGHT_COLOR);
// UI_PrintOSDString("C", FOSD_H_num-3, FOSD_V_num-1, UI_MENU_DEHIGHLIGHT_COLOR);
}
else
{
UI_PrintOSDString(" ", FOSD_H_num-10, 0, UI_MENU_DEHIGHLIGHT_COLOR);
}
if(G_BatteryStatus == K_BATTERY_STATUS_LOW)
{
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-2,12);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-2, UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-1,13);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-1, UI_MENU_DEHIGHLIGHT_COLOR);
}
else if(G_BatteryStatus == K_BATTERY_STATUS_MID)
{
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-2,10);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-2, UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-1,11);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-1, UI_MENU_DEHIGHLIGHT_COLOR);
}
else
{
if(G_BatteryStatus == K_BATTERY_STATUS_HIGH)
{
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-2,8);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-2, UI_MENU_DEHIGHLIGHT_COLOR);
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-1,9);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-1, UI_MENU_DEHIGHLIGHT_COLOR);
}
//Joe@2003.3.11 19:12 add begin
if(G_BatteryStatus == K_BATTERY_STATUS_EMPTY)
{
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-2,14);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-2, UI_MENU_DEHIGHLIGHT_COLOR | UI_MENU_BLINKING);
L2_SetFOSDIndex_1(FOSD_V_num-1,FOSD_H_num-1,15);
L2_SetFOSDAttr_1(FOSD_V_num-1,FOSD_H_num-1, UI_MENU_DEHIGHLIGHT_COLOR | UI_MENU_BLINKING);
}
//Joe@2003.3.11 19:12 add end
}
L2_CtrlScreen(1);
}
//patch4.4@yichang@0624 for OSD, end
//version4.0@ada@0513 for DCF
//=============================================================================
//UI_Delete1File(USHORT FileIndex)
//=============================================================================
UCHAR UI_Delete1File(USHORT FileIndex) USING_0
{
USHORT startCluster;
UCHAR name[12];
UCHAR mediaType;
//version4.0@ada@0513 for DCF
UCHAR sts = FALSE;
//ada@0401 For Multi-Frame Play Back
USHORT index;
UCHAR FOSD_H_num, FOSD_V_num;
//patch4.4@yichang@0624 for OSD, begin
ULONG time;
//patch4.4@yichang@0624 for OSD, end
//Joe@2003.2.27 10:21 modify begin
/*if(G_DisplayType <= 7) //TV
{
FOSD_H_num = (K_DISPLAY_StnLcdWidth/16)+5;
FOSD_V_num = (K_DISPLAY_StnLcdHeight/32);
}
else
{
FOSD_H_num = (G_DSPHsize/16);
FOSD_V_num = (G_DSPVsize/32);
}
*/
UI_GetFOSDSize(&FOSD_H_num, &FOSD_V_num);
//Joe@2003.2.27 10:21 modify end
//UCHAR tmpname[4];
//USR_SetJpgName(name,FileIndex);
//ada@0401 For Multi-Frame Play Back
/* for (i = 0; i < 4; i++)
{
tmpname[i] = name[i + 4];
}
*/
//ada@0401 For Multi-Frame Play Back
//version4.0@ada@0513 for DCF
//startCluster = USR_ReadDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 3);
//patch4.5@ada@Record DCF file name begin
startCluster = USR_ReadDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 10,&mediaType);
//startCluster = USR_ReadDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 8,&mediaType);
//patch4.5@ada@Record DCF file name end
//ada@0401 For Multi-Frame Play Back
if ((startCluster > 0) && (G_DOS_FileSize > 0))
{
sts = TRUE;
//mediaType = K_PLAYBACK_TYPE_JPG;
}
else
{
//ada@0401 For Multi-Frame Play Back
//USR_SetAviName(name,FileIndex);
//ada@0401 For Multi-Frame Play Back
//version4.0@ada@0513 for DCF
//startCluster = USR_ReadDramFdbParameter(K_SDRAM_AVI_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 3);
//patch4.5@ada@Record DCF file name begin
startCluster = USR_ReadDramFdbParameter(K_SDRAM_AVI_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 10,&mediaType);
//startCluster = USR_ReadDramFdbParameter(K_SDRAM_AVI_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 8,&mediaType);
//patch4.5@ada@Record DCF file name end
//ada@0401 For Multi-Frame Play Back
if ((startCluster > 0) && (G_DOS_FileSize > 0))
{
sts = TRUE;
//mediaType = K_PLAYBACK_TYPE_AVI;
}
else
{
//#if ( AUDIO_OPTION == 1 )
//ada@0401 For Multi-Frame Play Back
//USR_SetWaveName(name,FileIndex);
//version4.0@ada@0513 for DCF
//startCluster = USR_ReadDramFdbParameter(K_SDRAM_WAV_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 3);
//patch4.5@ada@Record DCF file name begin
startCluster = USR_ReadDramFdbParameter(K_SDRAM_WAV_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 10,&mediaType);
//startCluster = USR_ReadDramFdbParameter(K_SDRAM_WAV_FdbParameterBufAddr + ((ULONG)FileIndex - 1) * 8,&mediaType);
//patch4.5@ada@Record DCF file name end
if ((startCluster > 0) && (G_DOS_FileSize > 0))
{
sts = TRUE;
//mediaType = K_PLAYBACK_TYPE_WAV;
}
//#endif
}
}
if (sts)
{
index = 0;
//version4.0@ada@0513 for DCF
if ((G_DOS_FileAttribute & 0x01) == 0)
{
if (mediaType == K_PLAYBACK_TYPE_JPG)
{
USR_SetJpgName(name,FileIndex);
//version4.0@ada@0513 for DCF
if (File_Delete(name))
{
//printf("Delete success\n");
//ada@0401 For Multi-Frame Play Back
/* for (i = 0; i < 4; i++)
{
index = index * 10 + (USHORT)(tmpname[i] - 0x30);
}
*/
//ada@0401 For DPOF
if (DPOF_CheckDpofJobFieldExist(FileIndex))
{
DPOF_DeselectSunplusImage(FileIndex,0);
DPOF_BuildDpofFile();
}
//patch4.4@ada@DPOF skip AVI & WAV begin
if (FileIndex == G_USR_LastJpgFileIndex)
{
G_USR_LastJpgFileIndex = Playback_DpofGetPreJpgFileIndex(FileIndex);
}
else
{
if (FileIndex == G_USR_FirstJpgFileIndex)
{
G_USR_FirstJpgFileIndex = Playback_DpofGetNextJpgFileIndex(FileIndex);
}
}
G_USR_JpgFileCount--;
//printf("G_USR_FirstJpgFileIndex = %d\n",G_USR_FirstJpgFileIndex);
//printf("G_USR_LastJpgFileIndex = %d\n",G_USR_LastJpgFileIndex);
//printf("G_USR_JpgFileCount = %d\n",G_USR_JpgFileCount);
//patch4.4@ada@DPOF skip AVI & WAV end
//Joe@2003.3.4 17:06 mask begin
if (G_USR_FileOrder > 1)
{
if (FileIndex == G_USR_LastFileIndex)
{
G_USR_FileOrder -= 1;
}
}
//Joe@2003.3.4 17:06 add end
//ada@0401 For Multi-Frame Play Back
//For play back JPEG file speeding-up
//version4.0@ada@0513 for DCF
//USR_ClearDramFdbParameter(K_SDRAM_JPG_FdbParameterBufAddr + ((ULONG)index - 1) * 3);
USR_ClearDramFdbParameter(K_USR_JPG_TYPE,FileIndex);
//version4.0@ada@0513 for DCF
// if (G_USR_FileCount)
// {
// G_USR_FileCount--;
// }
sts = TRUE;
}
else
{
//printf("Delete JPG file failed\n");
UI_PrintOSDString(DELETE_ERROR[G_Language], FOSD_H_num/2-6, FOSD_V_num/2, UI_MENU_DEHIGHLIGHT_COLOR);
DELAY_1s();
DELAY_1s();
UI_PrintOSDString(" ", FOSD_H_num/2-6, FOSD_V_num/2, 0);
sts = FALSE;
}
}
else
{
if (mediaType == K_PLAYBACK_TYPE_AVI)
{
USR_SetAviName(name,FileIndex);
//version4.0@ada@0513 for DCF
if (File_Delete(name))
{
/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -