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

📄 display_switchmode_65k320240.c

📁 可以学习
💻 C
📖 第 1 页 / 共 2 页
字号:
			Rect.x = 0;
			bmpOffset=cOFFSET_SWITCHMODE_BACKGND;
			Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
		}
		else if(SwitchModeId==SwitchMode_Id_Learn)
		{//学习机背景图、字符
		
			Rect.h = cLCD_TOTAL_ROW;
			Rect.w = cLCD_TOTAL_COLUMN;
			Rect.y = 0;
			Rect.x = 0;
			bmpOffset=cOFFSET_SWITCHMODE_LEARN_EXTEND_BASE;
			Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);

		}
		else if(SwitchModeId==SwitchMode_Id_Extend)
		{//扩展功能背景图、字符

			Rect.h = cLCD_TOTAL_ROW;
			Rect.w = cLCD_TOTAL_COLUMN;
			Rect.y = 0;
			Rect.x = 0;
			bmpOffset=cOFFSET_SWITCHMODE_LEARN_EXTEND_BASE;
			Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);

		}
		else if(SwitchModeId==SwitchMode_Id_Vidicon)
		{

			Rect.h = cLCD_TOTAL_ROW;
			Rect.w = cLCD_TOTAL_COLUMN;
			Rect.y = 0;
			Rect.x = 0;
			bmpOffset=cDISPLAY_DCDV_OFFSET;
			Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);

			Rect.h = 16;
			Rect.w = 96;
			Rect.y = cSWITCHMODE_STR1_Y;
			Rect.x = cSWITCHMODE_STR1_X;
			Hyc_Background2DisplayMemory(&Rect);

			string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pPreItemString[Refresh_Item];
			string.y=cSWITCHMODE_STR2_Y;
			string.x=cSWITCHMODE_STR2_X;
			string.attribute=0;
			string.FrontColor=COLOR_BLACK;
			string.BackColor=COLOR_BLACK;
			Hyc_DisplayString(&string);
		}
		else if(SwitchModeId==SwitchMode_Id_Camera)
		{

			Rect.h = cLCD_TOTAL_ROW;
			Rect.w = cLCD_TOTAL_COLUMN;
			Rect.y = 0;
			Rect.x = 0;
			bmpOffset=cDISPLAY_DCDV_OFFSET;
			Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);

			Rect.h = 16;
			Rect.w = 96;
			Rect.y = cSWITCHMODE_STR1_Y;
			Rect.x = cSWITCHMODE_STR1_X;
			Hyc_Background2DisplayMemory(&Rect);

			string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pPreItemString[Refresh_Item];
			string.y=cSWITCHMODE_STR2_Y;
			string.x=cSWITCHMODE_STR2_X;
			string.attribute=0;
			string.FrontColor=COLOR_BLACK;
			string.BackColor=COLOR_BLACK;
			Hyc_DisplayString(&string);
		}

		for(Refresh_Item=0; Refresh_Item<TotalNum; Refresh_Item++)
		{
			if(Hyc_CheckNotDisplay(SwitchModeId, Refresh_Item)==TRUE) continue;

			if(SwitchModeId==SwitchMode_Id_Main)
			{//处于主菜单界面
				if(Refresh_Item==FocusItemNo)
				{
					Rect.h = cSWITCHMODE_ICON_H;
					Rect.w = cSWITCHMODE_ICON_W;
					Rect.y = SwitchMode_Icon_Pos[Refresh_Item][0];
					Rect.x = SwitchMode_Icon_Pos[Refresh_Item][1];
					bmpOffset=cOFFSET_SWITCHMODE_ICON + (Refresh_Item*3*cBMPSIZE_SWITCHMODE_ICON);
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
					
					languageIndex=Hyc_GetLanguageIndex();
					if(languageIndex>2) languageIndex=0;//如果当前语言不是英语、中文、繁体中文,则显示英文标题

					Rect.h = cSWITCHMODE_BMPST_H;
					Rect.w = cSWITCHMODE_BMPST_W;
					Rect.y = cSWITCHMODE_BMPST_Y;
					Rect.x = cSWITCHMODE_BMPST_X;
					bmpOffset=cOFFSET_SWITCHMODE_ENGLISH_ICON
					 + languageIndex*cBMPSIZE_SWITCHMODE_LANGUAGE + Refresh_Item*cBMPSIZE_SWITCHMODE_BMPSTR;
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
				}
				
			}
			else if(SwitchModeId==SwitchMode_Id_Learn)
			{//处于学习机界面

				if(Refresh_Item==FocusItemNo)
				{	
					Rect.h = cSWITCHMODE_LEARN_ICON_H;
					Rect.w = cSWITCHMODE_LEARN_ICON_W;
					Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
					Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
					bmpOffset=cOFFSET_SWITCHMODE_LEARN_ICON + (Refresh_Item*2+1)*cBMPSIZE_SWITCHMODE_LEARN_ICON;
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);

					Rect.h = 16;
					Rect.w = 160;
					Rect.y = cSWITCHMODE_STR2_Y;
					Rect.x = 12;
					Hyc_Background2DisplayMemory(&Rect);

					string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+FocusItemNo];
					string.y=cSWITCHMODE_STR2_Y;
					string.x=12;
					string.attribute=FONTSIZE8X16;
					string.FrontColor=COLOR_BLACK;
					string.BackColor=COLOR_BLACK;
					Hyc_DisplayString(&string);
				}
				else
				{
					Rect.h = cSWITCHMODE_LEARN_ICON_H;
					Rect.w = cSWITCHMODE_LEARN_ICON_W;
					Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
					Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
					bmpOffset=cOFFSET_SWITCHMODE_LEARN_ICON + Refresh_Item*2*cBMPSIZE_SWITCHMODE_LEARN_ICON;
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
				}
			}
			else if(SwitchModeId==SwitchMode_Id_Extend)
			{//处于扩展功能界面

				if(Refresh_Item==FocusItemNo)
				{
					Rect.h = cSWITCHMODE_EXTEND_ICON_H;
					Rect.w = cSWITCHMODE_EXTEND_ICON_W;
					Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
					Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
					bmpOffset=cOFFSET_SWITCHMODE_EXTEND_ICON + (Refresh_Item*2+1)*cBMPSIZE_SWITCHMODE_LEARN_ICON;
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);

					Rect.h = 16;
					Rect.w = 160;
					Rect.y = cSWITCHMODE_STR2_Y;
					Rect.x = 12;
					Hyc_Background2DisplayMemory(&Rect);

					string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+FocusItemNo];
					string.y=cSWITCHMODE_STR2_Y;
					string.x=12;
					string.attribute=FONTSIZE8X16;
					string.FrontColor=COLOR_BLACK;
					string.BackColor=COLOR_BLACK;
					Hyc_DisplayString(&string);
				}
				else
				{
					Rect.h = cSWITCHMODE_EXTEND_ICON_H;
					Rect.w = cSWITCHMODE_EXTEND_ICON_W;
					Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
					Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
					bmpOffset=cOFFSET_SWITCHMODE_EXTEND_ICON + Refresh_Item*2*cBMPSIZE_SWITCHMODE_LEARN_ICON;
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
				}
			}
			else if(SwitchModeId == SwitchMode_Id_Vidicon || SwitchModeId == SwitchMode_Id_Camera)
			{//摄像或拍照界面显示字符
				
				if(Refresh_Item == FocusItemNo)
				{
					Rect.h = cDISP_SELECT_BAR_H;
					Rect.w = cDISP_SELECT_BAR_W;
					Rect.y = cDISP_SELECT_BAR_Y+Refresh_Item*cDISP_SELECT_BAR_STEP_Y;
					Rect.x = cDISP_SELECT_BAR_X;
					
					bmpOffset=cOFFSET_SELECT_BAR;
					Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
					
				}
				else
				{
					Rect.h = cDISP_SELECT_BAR_H;
					Rect.w = cDISP_SELECT_BAR_W;
					Rect.y = cDISP_SELECT_BAR_Y+Refresh_Item*cDISP_SELECT_BAR_STEP_Y;
					Rect.x = cDISP_SELECT_BAR_X;
					
					Hyc_Background2DisplayMemory(&Rect);
				}					
				
				string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+Refresh_Item];
				string.y=cDISP_SELECT_BAR_Y+Refresh_Item*cDISP_SELECT_BAR_STEP_Y+2;
				string.x=cDISPLAY_STRINGLIST_X;
				string.attribute=FONTSIZE8X16;
				string.FrontColor=COLOR_BLACK;
				string.BackColor=COLOR_BLACK;
				Hyc_DisplayString(&string);								
				
			}
			
			
		}

		Hyc_Display_DateTime();	//显示时间
		Hyc_Refresh_Battery();	//显示电量
	}
	Hyc_RefreshScreen();	//刷新屏幕
    Hyc_CancelSwitchModeRefreshMode();
    
}



/*-----------------------------------------------------------------------------------
* 函数:	Hyc_SwitchMode_Display_DateTime()
* 功能:	模式切换模块界面(即主界面)日期时间显示,该函数会被Hyc_Display_DateTime()调用
* 参数:	none
* 返回:	none
*------------------------------------------------------------------------------------*/
void Hyc_SwitchMode_Display_DateTime(RtcTime_st	*TopSolar)
{
	char temp[11];
	RECT Rect;
	STRING string;
	BITMAP Bitmap;
	
	//日期
	sprintf((char*)temp, "%04d.%02d.%02d", TopSolar->year, TopSolar->month, TopSolar->day);
	Rect.h = cSWITCHMODE_DATE_H;
	Rect.w = cSWITCHMODE_DATE_W;
	Rect.y = cSWITCHMODE_DATE_Y;
	Rect.x = cSWITCHMODE_DATE_X;
	Hyc_Background2DisplayMemory(&Rect);

	string.pstring=(U8*)temp;
	string.y=cSWITCHMODE_DATE_Y;
	string.x=cSWITCHMODE_DATE_X;
	string.attribute=FONTSIZE6X9;
	string.FrontColor=cSWITCHMODE_DATE_FCOLOR;
	string.BackColor=cSWITCHMODE_DATE_BCOLOR;
	Hyc_DisplayString(&string);	

	//时间
	sprintf((char*)temp, "%02d:%02d",TopSolar->hour,TopSolar->minute);
	Rect.h = cSWITCHMODE_TIME_H;
	Rect.w = cSWITCHMODE_TIME_W;
	Rect.y = cSWITCHMODE_TIME_Y;
	Rect.x = cSWITCHMODE_TIME_X;
	Hyc_Background2DisplayMemory(&Rect);

	string.pstring=(U8*)temp;
	string.y=cSWITCHMODE_TIME_Y;
	string.x=cSWITCHMODE_TIME_X;
	string.attribute=FONTSIZE6X9;
	string.FrontColor=cSWITCHMODE_TIME_FCOLOR;
	string.BackColor=cSWITCHMODE_TIME_BCOLOR;
	Hyc_DisplayString(&string);

	//星期	
	Rect.h = cSWITCHMODE_WEEK_H;
	Rect.w = cSWITCHMODE_WEEK_W;
	Rect.y = cSWITCHMODE_WEEK_Y;
	Rect.x = cSWITCHMODE_WEEK_X;
	Hyc_Background2DisplayMemory(&Rect);
	
	Bitmap.h = cSWITCHMODE_WEEK_H;
	Bitmap.w = cSWITCHMODE_WEEK_W;
	Bitmap.y = cSWITCHMODE_WEEK_Y;
	Bitmap.x = cSWITCHMODE_WEEK_X;
	Bitmap.FrontColor = cSWITCHMODE_WEEK_FCOLOR;
	Bitmap.BackColor = cSWITCHMODE_WEEK_BCOLOR;
	Bitmap.pbitmap =(U8 *)SWITCHMODE_WEEK[TopSolar->week];
	Hyc_DrawBMP(&Bitmap);
}



/*-----------------------------------------------------------------------------------
* 函数:	Hyc_SwitchMode_Display_Battery()
* 功能:	模式切换模块界面(即主界面)电量显示,该函数会被Hyc_Refresh_Battery()调用
* 参数:	Num		电量格数
* 返回:	none
*------------------------------------------------------------------------------------*/
void Hyc_SwitchMode_Display_Battery(U8 Num)
{
	RECT Rect;
	BITMAP Bitmap;
	
    Rect.h = cSWITCHMODE_BATTERY_H;
	Rect.w = cSWITCHMODE_BATTERY_W;
	Rect.y = cSWITCHMODE_BATTERY_Y;
	Rect.x = cSWITCHMODE_BATTERY_X;
	Hyc_Background2DisplayMemory(&Rect);
	
	Bitmap.h = cSWITCHMODE_BATTERY_H;
	Bitmap.w = cSWITCHMODE_BATTERY_W;
	Bitmap.y = cSWITCHMODE_BATTERY_Y;
	Bitmap.x = cSWITCHMODE_BATTERY_X;
	Bitmap.FrontColor = cSWITCHMODE_BATTERY_FCOLOR;
	Bitmap.BackColor = cSWITCHMODE_BATTERY_BCOLOR;
	Bitmap.pbitmap =(U8 *)SWITCHMODE_BATTERY[Num];
	Hyc_DrawBMP(&Bitmap);
	
	//主界面的电池图标显示需要调用该函数
	Hyc_DisplayByBuffer(&Rect);
}


/*-----------------------------------------------------------------------------------
* 函数:	Hyc_Display_Card()
* 功能:	各模块界面外接卡图标显示,该函数会在application.a中调用。可以根据参数Mode区分
*		当前处于主界面还是其它界面,以适合显示位置不同等要求。对于没有外接卡座的机器,
*		可将该函数注销。
* 参数:	Mode	1:当前处于主界面	0:当前处于其它界面
* 返回:	none
*------------------------------------------------------------------------------------*/
void Hyc_Display_Card(U8 Mode)
{
	RECT Rect;
	BITMAP Bitmap;
		
    Rect.h = cCARD_H;
	Rect.w = cCARD_W;
	Rect.y = cCARD_Y;
	Rect.x = cCARD_X;
	Hyc_Background2DisplayMemory(&Rect);
	
	if(Hyc_GetDeviceNo()=='D')
	{
		Bitmap.h = cCARD_H;
		Bitmap.w = cCARD_W;
		Bitmap.y = cCARD_Y;
		Bitmap.x = cCARD_X;
		Bitmap.FrontColor = cCARD_FCOLOR;
		Bitmap.BackColor = cCARD_BCOLOR;
		Bitmap.pbitmap =(U8 *)CARD;
		Hyc_DrawBMP(&Bitmap);
	}
}

⌨️ 快捷键说明

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