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

📄 uiflow.c

📁 台湾凌阳方案300万数码相机源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
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 + -