📄 periphgui.c
字号:
void switch_up(void)
{
if(InfoGui_flag==1)
{
invalid_key();
return;
}
if(Switch_flag==1)
{
#ifdef CARD_SETUP_TYPE_4
if(SwitchID==BUTTON_UDISK)
{
if(detect_type & SD_CARD_DEVICE)
SwitchID=BUTTON_SD;
else if(detect_type & MS_CARD_DEVICE)
SwitchID=BUTTON_MS;
}
else
SwitchID=BUTTON_UDISK ;
#elif defined(CARD_SETUP_TYPE_3)
if(detect_type&USB_DEVICE)
{
if(SwitchID==BUTTON_UDISK)
{
if(detect_type & CF_CARD_DEVICE)
SwitchID=BUTTON_CF;
else if(detect_type & SD_CARD_DEVICE)
SwitchID=BUTTON_SD;
else if(detect_type & MS_CARD_DEVICE)
SwitchID=BUTTON_MS;
else if(detect_type & SMC_CARD_DEVICE)
SwitchID=BUTTON_SMC;
}
else
SwitchID=BUTTON_UDISK ;
}
else if((detect_type & CF_CARD_DEVICE)&&!(detect_type&USB_DEVICE))
{
if(SwitchID==BUTTON_CF)
{
if(detect_type & SD_CARD_DEVICE)
SwitchID=BUTTON_SD;
else if(detect_type & MS_CARD_DEVICE)
SwitchID=BUTTON_MS;
else if(detect_type & SMC_CARD_DEVICE)
SwitchID=BUTTON_SMC;
}
else
SwitchID=BUTTON_CF ;
}
#endif
highlight_button(SwitchID);
}
else
{
if(input_flag==0)
{
if(media_type==MEDIA_CD)
{
if(level==1)
{
if(KeyID==BUTTON_COPY)
{
KeyID=BUTTON_CD2P;
}
else if(KeyID==BUTTON_CD2P)
{
KeyID=BUTTON_CAPACITY;
}
else if(KeyID==BUTTON_CAPACITY)
{
KeyID=BUTTON_COPY;
}
}
else if(level ==2)
{
if(CopyID<=COPY_ROOTDIR)
CopyID=COPY_NEWDIR;
else
CopyID--;
}
}
else
if(media_type==MEDIA_CARD)
{
if(KeyID<=BUTTON_P2CD)
{
KeyID=BUTTON_CAPACITY;
}
else
{
KeyID--;
}
if(KeyID==BUTTON_COPY)
{
KeyID=BUTTON_P2CD;
}
}
highlight_button_all(KeyID,CopyID);
}
}
}
/***************************************************************************
* Function Name: Message_Show *
* Purposes: show the message when the function is selected *
* or fineshed *
* Arguments: strID *
* Returns: none *
* Update: sunzhh 2004-11-10 *
**************************************************************************/
void Message_Show(BYTE strID)
{
#ifdef FAT_Write_UI
BYTE *str[]={"UDISK ERROR","COPY FILE OK","DELETE FILE OK","UDISK FORMATED","RENAMING FILE","PLEASE WAIT ...","UDISK FULL","UDISK EMPTY","PLEASE INPUT","NO MATCHED DIR","DIR EXISTING","UDISK PROTECT","UDISK PLUG OUT","ALREADY EXISTS"};
if(storage_type==USB_DEVICE)
{
str[0]="UDISK ERROR";
str[3]="UDISK FORMATED";
str[6]="UDISK FULL";
str[7]="UDISK EMPTY";
str[11]="UDISK PROTECT";
str[12]="UDISK PLUG OUT";
}
else if(storage_type==CF_CARD_DEVICE)
{
str[0]="CF CARD ERROR";
str[3]="CF CARD FORMATED";
str[6]="CF CARD FULL";
str[7]="CF CARD EMPTY";
str[11]="CF CARD PROTECT";
str[12]="CF CARD PLUG OUT";
}
else if(storage_type==SD_CARD_DEVICE)
{
str[0]="SD CARD ERROR";
str[3]="SD CARD FORMATED";
str[6]="SD CARD FULL";
str[7]="SD CARD EMPTY";
str[11]="SD CARD PROTECT";
str[12]="SD CARD PLUG OUT";
}
else if(storage_type==MS_CARD_DEVICE)
{
str[0]="MS CARD ERROR";
str[3]="MS CARD FORMATED";
str[6]="MS CARD FULL";
str[7]="MS CARD EMPTY";
str[11]="MS CARD PROTECT";
str[12]="MS CARD PLUG OUT";
}
else if(storage_type==SMC_CARD_DEVICE)
{
str[0]="SMC CARD ERROR";
str[3]="SMC CARD FORMATED";
str[6]="SMC CARD FULL";
str[7]="SMC CARD EMPTY";
str[11]="SMC CARD PROTECT";
str[12]="SMC CARD PLUG OUT";
}
#elif defined(CF_CARD_WRITE)
BYTE *str[]={"CARD ERROR","COPY FILE OK","DELETE FILE OK","CARD FORMATED","RENAMING FILE","FILE COPYING","CARD FULL","CARD EMPTY","PLEASE INPUT","NO MATCH DIR","DIR EXISTING"};//add 2003-12-22
#endif
osd_init_periphGUI();
osd_DrawRegionString(6, 1, str[strID], COLOR_DBLUE, COLOR_LBLUE, MESSAGE_REGION); //draw the error
delay_1ms(2000);
}
#ifdef NEW_INPUT_MENU
int Str_Index_x,Str_Index_y;
BYTE Exit_Enter_flag;
BYTE Max_input_flag;
BYTE Max_left_flag;
int input_xoffset;
char *StrExit="EXIT";
char *StrEnter="ENTER";
char *Str_temp;
char GetString[8]={};
UINT8 Item_Num[5][8]={
{0,1,2,3,4,5,6,7},
{8,9,10,11,12,13,14,15},
{16,17,18,19,20,21,22,23},
{24,25,26,27,28,29,30,31},
{32,33,34,35,36,37,38,39}
};
char *Item_Str[]={ "A","B","C","D","E","F","G","H","I","J",
"K","L","M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z","1","2","3","4",
"5","6","7","8","9","0","~","_","-","\\"
};
void input_str_func_up(void)
{
input_str_clear_HL();
Str_Index_x--;
if(Str_Index_x<-1)
{
Str_Index_x=-1;
}
else if(Str_Index_x==-1)
{
}
else if(Str_Index_x>-1)
{
input_HL_ItemStr(Item_Num[Str_Index_x][Str_Index_y]);
}
}
void input_str_func_down(void)
{
input_str_clear_HL();
Str_Index_x++;
if((Str_Index_x==5)&&(Str_Index_y<4))
{
Exit_Enter_flag=1;
osd_DrawRegionString(8, 7*8+5, StrExit, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if((Str_Index_x==5)&&(Str_Index_y>=4))
{
Exit_Enter_flag=2;
osd_DrawRegionString(20, 7*8+5, StrEnter, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if(Str_Index_x>5)
{
Str_Index_x=5;
if(Exit_Enter_flag==1)
{
osd_DrawRegionString(8, 7*8+5, StrExit, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if(Exit_Enter_flag==2)
{
osd_DrawRegionString(20, 7*8+5, StrEnter, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
}
else if(Str_Index_x<5)
{
input_HL_ItemStr(Item_Num[Str_Index_x][Str_Index_y]);
}
}
void input_str_func_left(void)
{
if(Str_Index_x==-1)
{
Max_input_flag=0;
input_xoffset--;
printf("=============input_xoffset:%d=================\n",input_xoffset);
if(input_xoffset<0)
{
Max_left_flag=1;
input_xoffset=0;
}
else if(Max_left_flag!=1)
{
GetString[input_xoffset]=' ';
printf("===GetString:%s========\n",GetString);
osd_DrawRegionString(14+input_xoffset, 1, " ", COLOR_DBLUE,COLOR_GREEN, FUNCTION_REGION);
}
return;
}
input_str_clear_HL();
if((Str_Index_x==5)&&(Exit_Enter_flag==2))
{
Exit_Enter_flag=1;
osd_DrawRegionString(8, 7*8+5, StrExit, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if((Str_Index_x==5)&&(Exit_Enter_flag==1))
{
osd_DrawRegionString(8, 7*8+5, StrExit, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if(Str_Index_x<5)
{
Str_Index_y--;
if(Str_Index_y<0) Str_Index_y=0;
input_HL_ItemStr(Item_Num[Str_Index_x][Str_Index_y]);
}
}
void input_str_func_right(void)
{
if(Str_Index_x==-1)
{
if(input_xoffset>7)
{
Max_input_flag=1;
input_xoffset=7;
}
else if((input_xoffset<=7)&&(Max_input_flag!=1))
{
GetString[input_xoffset]=' ';
printf("===GetString:%s========\n",GetString);
osd_DrawRegionString(14+input_xoffset, 1, " ", COLOR_DBLUE,COLOR_GREEN, FUNCTION_REGION);
}
input_xoffset++;
return;
}
input_str_clear_HL();
if((Str_Index_x==5)&&(Exit_Enter_flag==1))
{
Exit_Enter_flag=2;
osd_DrawRegionString(20, 7*8+5, StrEnter, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if((Str_Index_x==5)&&(Exit_Enter_flag==2))
{
osd_DrawRegionString(20, 7*8+5, StrEnter, COLOR_WHITE, COLOR_DBLUE, FUNCTION_REGION);
}
else if(Str_Index_x<5)
{
Str_Index_y++;
if(Str_Index_y>7) Str_Index_y=7;
input_HL_ItemStr(Item_Num[Str_Index_x][Str_Index_y]);
}
}
void input_str_func_select(void)
{
BYTE Str_ID=0;
Max_left_flag=0;
if((Str_Index_x==5)&&(Exit_Enter_flag==1))
{
input_str_func_exit();
return;
}
if((Str_Index_x==5)&&(Exit_Enter_flag==2))
{
input_str_func_enter();
return;
}
Str_ID=Item_Num[Str_Index_x][Str_Index_y];
if(input_xoffset>7)
{
Max_input_flag=1;
input_xoffset=7;
}
else if((input_xoffset<=7)&&(Max_input_flag!=1))
{
Str_temp=Item_Str[Str_ID];
GetString[input_xoffset]=*Str_temp;
osd_DrawRegionString(14+input_xoffset, 1, Item_Str[Str_ID], COLOR_DBLUE,COLOR_LBLUE, FUNCTION_REGION);
}
input_xoffset++;
}
void input_str_func_exit(void)
{
input_str_clear_variable();
full_scrn &= (~PERIPHERAL);//for release the IR
osd_init();
}
void input_str_func_enter(void)
{
if(KeyID == BUTTON_COPY)
{
switch(CopyID)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -