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

📄 periphgui.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 5 页
字号:
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 + -