📄 display_switchmode_65k320240.c
字号:
Rect.w = cLCD_TOTAL_COLUMN;
Rect.y = 0;
Rect.x = 0;
bmpOffset=cDISPLAY_MENU_BACKGROUND_FIG_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_STR1_Y;
string.x=cSWITCHMODE_STR1_X;
string.attribute=0;
string.FrontColor=COLOR_WHITE;
string.BackColor=COLOR_BLACK;
Hyc_DisplayString(&string);
}
else if(SwitchModeId==SwitchMode_Id_Vidicon)
{
Rect.h = cLCD_TOTAL_ROW;
Rect.w = cLCD_TOTAL_COLUMN;
Rect.y = 0;
Rect.x = 0;
bmpOffset=cDISPLAY_MENU_BACKGROUND_FIG_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_STR1_Y;
string.x=cSWITCHMODE_STR1_X;
string.attribute=0;
string.FrontColor=COLOR_WHITE;
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_MENU_BACKGROUND_FIG_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_STR1_Y;
string.x=cSWITCHMODE_STR1_X;
string.attribute=0;
string.FrontColor=COLOR_WHITE;
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 = cBMPSIZE_SWITCHMODE_SMALL_BMP_H;
Rect.w = cBMPSIZE_SWITCHMODE_SMALL_BMP_W;
Rect.y = SwitchMode_Icon_Pos[Refresh_Item][0];
Rect.x = SwitchMode_Icon_Pos[Refresh_Item][1];
bmpOffset=cOFFSET_SWITCHMODE_BMP + (Refresh_Item*2+1)*cBMPSIZE_SWITCHMODE_SMALL_BMP;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
languageIndex=Hyc_GetLanguageIndex();
if(languageIndex>2) languageIndex=0;//如果当前语言不是英语、中文、繁体中文,则显示英文标题
Rect.h = cSWITCHMODE_SWITCHMODE_BMPST_H;
Rect.w = cSWITCHMODE_SWITCHMODE_BMPST_W;
Rect.y = cSWITCHMODE_SWITCHMODE_BMPST_Y;
Rect.x = cSWITCHMODE_SWITCHMODE_BMPST_X;
bmpOffset=cOFFSET_SWITCHMODE_ENGLISH_BMP
+ languageIndex*cBMPSIZE_SWITCHMODE_LANGUAGE + Refresh_Item*cBMPSIZE_SWITCHMODE_BMPSTR;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
}
else
{
Rect.h = cBMPSIZE_SWITCHMODE_SMALL_BMP_H;
Rect.w = cBMPSIZE_SWITCHMODE_SMALL_BMP_W;
Rect.y = SwitchMode_Icon_Pos[Refresh_Item][0];
Rect.x = SwitchMode_Icon_Pos[Refresh_Item][1];
bmpOffset=cOFFSET_SWITCHMODE_BMP + Refresh_Item*2*cBMPSIZE_SWITCHMODE_SMALL_BMP;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
}
}
else if(SwitchModeId==SwitchMode_Id_Learn)
{//处于学习机界面
if(Refresh_Item==FocusItemNo)
{
Rect.h = cSWITCHMODE_LEARN_BMP_H;
Rect.w = cSWITCHMODE_LEARN_BMP_W;
Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
bmpOffset=cOFFSET_SWITCHMODE_LEARN_BMP + (Refresh_Item*2+1)*cBMPSIZE_SWITCHMODE_LEARN_BMP;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
Rect.h = 16;
Rect.w = 64;
Rect.y = cSWITCHMODE_STR2_Y;
Rect.x = 128;
Hyc_Background2DisplayMemory(&Rect);
string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+FocusItemNo];
string.y=cSWITCHMODE_STR2_Y;
string.x=Hyc_GetDisplayString_Center(FONTSIZE8X16,(U8*)string.pstring);
string.attribute=FONTSIZE8X16;
string.FrontColor=COLOR_WHITE;
string.BackColor=COLOR_BLACK;
Hyc_DisplayString(&string);
}
else
{
Rect.h = cSWITCHMODE_LEARN_BMP_H;
Rect.w = cSWITCHMODE_LEARN_BMP_W;
Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
bmpOffset=cOFFSET_SWITCHMODE_LEARN_BMP + Refresh_Item*2*cBMPSIZE_SWITCHMODE_LEARN_BMP;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
}
}
else if(SwitchModeId==SwitchMode_Id_Extend)
{//处于扩展功能界面
if(Refresh_Item==FocusItemNo)
{
Rect.h = cSWITCHMODE_EXTEND_BMP_H;
Rect.w = cSWITCHMODE_EXTEND_BMP_W;
Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
bmpOffset=cOFFSET_SWITCHMODE_EXTEND_BMP + (Refresh_Item*2+1)*cBMPSIZE_SWITCHMODE_EXTEND_BMP;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
Rect.h = 16;
Rect.w = 48;
Rect.y = cSWITCHMODE_STR2_Y;
Rect.x = 136;
Hyc_Background2DisplayMemory(&Rect);
string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+FocusItemNo];
string.y=cSWITCHMODE_STR2_Y;
string.x=Hyc_GetDisplayString_Center(FONTSIZE8X16,(U8*)string.pstring);
string.attribute=FONTSIZE8X16;
string.FrontColor=COLOR_WHITE;
string.BackColor=COLOR_BLACK;
Hyc_DisplayString(&string);
}
else
{
Rect.h = cSWITCHMODE_EXTEND_BMP_H;
Rect.w = cSWITCHMODE_EXTEND_BMP_W;
Rect.y = Learn_Extend_Icon_Pos[Refresh_Item][0];
Rect.x = Learn_Extend_Icon_Pos[Refresh_Item][1];
bmpOffset=cOFFSET_SWITCHMODE_EXTEND_BMP + Refresh_Item*2*cBMPSIZE_SWITCHMODE_EXTEND_BMP;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
}
}
else if(SwitchModeId==SwitchMode_Id_Vidicon)
{
Rect.h = cOFFSET_VIDICION_BMP_H;
Rect.w = cOFFSET_VIDICION_BMP_W;
Rect.y = Camera_And_Vidicon_Pos[Refresh_Item][0];
Rect.x = Camera_And_Vidicon_Pos[Refresh_Item][1];
if(Refresh_Item==FocusItemNo)
{
bmpOffset= cOFFSET_VIDICION_BMP+(Refresh_Item*2+1)*cOFFSET_VIDICION_BMP_SIZE;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
Rect.h = 16;
Rect.w = 320;
Rect.y = cDISPLAY_MENU_TITLE2_Y;
Rect.x = 0;
Hyc_Background2DisplayMemory(&Rect);
string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+FocusItemNo];
string.y=cDISPLAY_MENU_TITLE2_Y;
string.x=Hyc_GetDisplayString_Center(FONTSIZE8X16,(U8*)string.pstring);
string.attribute=FONTSIZE8X16;
string.FrontColor=COLOR_WHITE;
string.BackColor=COLOR_BLACK;
Hyc_DisplayString(&string);
}
else
{
bmpOffset= cOFFSET_VIDICION_BMP+(Refresh_Item*2)*cOFFSET_VIDICION_BMP_SIZE;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
}
}
else if(SwitchModeId==SwitchMode_Id_Camera)
{
Rect.h = cOFFSET_CAMERA_BMP_H;
Rect.w = cOFFSET_CAMERA_BMP_W;
Rect.y = Camera_And_Vidicon_Pos[Refresh_Item][0];
Rect.x = Camera_And_Vidicon_Pos[Refresh_Item][1];
if(Refresh_Item==FocusItemNo)
{
bmpOffset= cOFFSET_CAMERA_BMP+(Refresh_Item*2+1)*cOFFSET_CAMERA_BMP_SIZE;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
Rect.h = 16;
Rect.w = 320;
Rect.y = cDISPLAY_MENU_TITLE2_Y;
Rect.x = 0;
Hyc_Background2DisplayMemory(&Rect);
string.pstring=(U8*)tSwitchModeInfo[SwitchModeId].pItemString[languageIndex+FocusItemNo];
string.y=cDISPLAY_MENU_TITLE2_Y;
string.x=Hyc_GetDisplayString_Center(FONTSIZE8X16,(U8*)string.pstring);
string.attribute=FONTSIZE8X16;
string.FrontColor=COLOR_WHITE;
string.BackColor=COLOR_BLACK;
Hyc_DisplayString(&string);
}
else
{
bmpOffset= cOFFSET_CAMERA_BMP+(Refresh_Item*2)*cOFFSET_CAMERA_BMP_SIZE;
Hyc_WriteBMPFromNand((U32)bmpOffset, &Rect);
}
}
}
Hyc_Display_DateTime(); //显示时间
Hyc_Refresh_Battery(); //显示电量
}
Hyc_RefreshScreen(); //刷新屏幕
Hyc_CancelSwitchModeRefreshMode();
}
/*-----------------------------------------------------------------------------------
* 函数: Hyc_SwitchMode_Display_DateTime()
* 功能: 模式切换模块界面(即主界面)日期时间显示,该函数会被Hyc_Display_DateTime()调用。
* 如果主界面不需要日期时间显示,将该函数注销为空函数即可
* 参数: TopSolar 公历:年月日时分秒
* 返回: none
*------------------------------------------------------------------------------------*/
void Hyc_SwitchMode_Display_DateTime(RtcTime_st *TopSolar)
{
char temp[11];
U32 bmpOffset;
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 + -