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

📄 ui_menu.c

📁 智原mp3 SDK 开发包 与巨力 有mp3 wma ogg decoder
💻 C
字号:
#include <string.h>
#include "api.h"
#include "lcd.h"
#include "key.h"
#include "res_show.h"
#include "res.h" 
#include "ui_menu.h"
#include "display.h"
#include "prefer.h"
//#include "mp3_utile.h"

function_menu_t globle_menu;

code UINT8 menu_pos_menu[7] = { POSITION_MENU1, POSITION_MENU2, POSITION_MENU3, 
		POSITION_MENU4 , POSITION_MENU5 , POSITION_MENU6 , POSITION_MENU7};
						
UINT8 menu_need_draw=1;
UINT8 menu_value_changed=1;	
UINT8 menu_active,menu_old_active;	
		
void show_active_menu(int old_active, int active)
{
    	int tmp;
    	   	
    	tmp = old_active%7;          	
   	tmp = active%7;
   	gfx_bg_rectangle(4,menu_pos_menu[tmp], 120, 16);
   	bResShowPic(MENUARR, menu_ptr_x_def,menu_pos_menu[tmp]+2);
	fg_color = COLOR_SELECT;
	ResShowMultiString(globle_menu.title[active], tUserPreference.u8LanguageId, menu_str_x_def, menu_pos_menu[tmp]);
	
	tmp = old_active%7;
	gfx_bg_rectangle(4,menu_pos_menu[tmp], 120, 16);
	bResShowPic(MENURDOT, menu_ptr_x_def,menu_pos_menu[tmp]+2);
	fg_color = COLOR_UNSELECT;                                       
        ResShowMultiString(globle_menu.title[old_active], tUserPreference.u8LanguageId, menu_str_x_def, menu_pos_menu[tmp]);      
}

void screen_menu(UINT8 key)
{
	int i;	
	int cur_group;
	int n;	
	
		
	switch( key)
        {
            	case KEY_NEXT:        
                	if(menu_active < globle_menu.total - 1)
        	        {
				menu_active++;
				if(menu_active/7==cur_group)
				{
					menu_old_active=menu_active-1;        	        	
        	        		menu_value_changed=TRUE;
        	        	}
        	        	else 
        	        		menu_need_draw = TRUE;       	        	
        	        }
        	        else 
        	        {
        	        	menu_active = 0;
        	        	menu_need_draw = TRUE;
        	        }        	         
        	        break;
        	        
        	case KEY_PREV:
			if(menu_active > 0)
        	       	{
				menu_active--;
				if(menu_active/7==cur_group)
				{
					menu_old_active=menu_active+1;        	        	
        	        		menu_value_changed=TRUE;
        	        	}
        	        	else 
        	        		menu_need_draw = TRUE;       	        	      	        	
        	        }
        	        else
        	        {
        	      		menu_active = globle_menu.total - 1;
        	      		menu_need_draw = TRUE;
        	      	}       	      		 
        	                   	        
        	        break;       	   
        	    
        	case KEY_MENU:    
        	    	globle_menu.active = menu_active;
        	    	globle_menu.action(globle_menu.active);
        	        return;       	            
 	    	//case KEY_EOS:
		//	deal_loop();
		//	break;         	                   
        	   // default:
        }
        
	if(menu_need_draw)
	{			
		bResShowPic(MENUONE,0,0);
		bResShowPic(MENU_TOP,0,140);
		menu_old_active=menu_active;
		cur_group = menu_active / 7;
		n = cur_group*7;
		for(i=0; i<7; i++)
		{
			if(n+i >= globle_menu.total) break;	//处理不足5个的情况
			if(n+i==menu_active)
			{
				bResShowPic(MENUARR, menu_ptr_x_def,menu_pos_menu[i]+2);
				fg_color = COLOR_SELECT;
				ResShowMultiString(globle_menu.title[menu_active],tUserPreference.u8LanguageId, 
				menu_str_x_def, menu_pos_menu[i]);
			}
			else
			{
				bResShowPic(MENURDOT, menu_ptr_x_def,menu_pos_menu[i]+2);
				fg_color = COLOR_UNSELECT;				
				ResShowMultiString(globle_menu.title[n+i],tUserPreference.u8LanguageId, 
				menu_str_x_def, menu_pos_menu[i]);				
			}
		}							
		menu_need_draw = 0;
	}//need draw
	        
        if(menu_value_changed)
        {
        	show_active_menu(menu_old_active,menu_active);
        	menu_value_changed=0;
        }               		
}



void ui_menu_init(void)
{
	menu_need_draw=1;
	menu_value_changed = 0;
	menu_active = globle_menu.active; 	
	bg_color = 0x0000F77F;
	gfx_set_bg(0x0000F77F);	
	screen_menu(KEY_PLAY);
}

⌨️ 快捷键说明

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