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

📄 setup_ui1.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 2 页
字号:
	//draw background 
	//draw a big transparent rect .
	osd_draw_rect(GUI_Backx, GUI_Backy, GUI_Backw, GUI_Backh, VIDEO_GUI_TRANS_COLOR);
	
	//draw operation message rect
	GUI_Msgh = 70;
	GUI_Msgw = GUI_Backw;
	GUI_Msgx = GUI_Backx;
	GUI_Msgy = GUI_Backy+GUI_Backh-GUI_Msgh;
	osd_draw_rect(GUI_Msgx, GUI_Msgy, GUI_Msgw, GUI_Msgh, VIDEO_GUI_MSG_BGCOLOR);
	
	//draw video GUI
	GUI_h = (GUI_Backh - GUI_Msgh)/2 ;//GUI height
	GUI_w = GUI_Backw/2+120+70;//GUI width
	GUI_x = GUI_Backx + (GUI_Backw - GUI_w)/2;//GUI xstart
	GUI_y = GUI_Backy + (GUI_Backh - GUI_h - GUI_Msgh)/2; //GUI ystart

	osd_draw_rect(GUI_x, GUI_y, GUI_w, GUI_h, SBGCOLOR);
	//draw rect frame
	//I don't know why in SETUP_COLOR_TYPE2, SBLACKCOLOR -> WHITE
	//                                       SWHITECOLOR -> BLACK ?
	osd_DrawLine(GUI_x-2, GUI_y-1, GUI_x-2, GUI_y-1+GUI_h,SFONTCOLOR, 2);//left line
	osd_DrawLine(GUI_x, GUI_y-2, GUI_x+GUI_w, GUI_y-2,SFONTCOLOR, 2);//top line
	osd_DrawLine(GUI_x-1, GUI_y-2+GUI_h, GUI_x+1+GUI_w, GUI_y-2+GUI_h,SWHITECOLOR, 2);//bottom line
	osd_DrawLine(GUI_x-1+GUI_w, GUI_y-2, GUI_x-1+GUI_w, GUI_y+GUI_h,SWHITECOLOR, 2);//right line
	//show id string
	setup_CookVideoGUIString(id);
	//show operation Message about this id
	str = _OsdMessegeFont1[osd_font_mode][STR_OS_ENTER_RETURN];
	osd_DrawString(MSG_STRING_X, MSG_STRING_Y, str, SFONTCOLOR, VIDEO_GUI_MSG_BGCOLOR);///13	
	//osd_DrawString(MSG_STRING_X, MSG_STRING_Y, "ENTER SELECT TO RETURN MAIN SETUP",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13
	
	
}

/*
 * Funciton Discription:
 *  when LEFT/RIGHT,show corresponding GUI and value.
 *
 * zhaoyanhua 2004-1-8 16:10
 */
void setup_CookVideoGUIString(int id)
{
#define  STRING_X  4//6
#define  STRING_Y  6
    int font_id = 0;
	int Level= 0;
	int totalLevel = 0;

	switch (id)
	{
		case STR_OS_BRIGHTNESS:
			Level = SETUP_BRIGHTNESS-2;
			totalLevel = 13;
			font_id = VIDEO_BIGHT_ID;
			break;
		case STR_OS_CONTRAST:
			Level = SETUP_CONTRAST-2;
			totalLevel = 13;
			font_id = VIDEO_CONTRAST_ID;
			break;
		case STR_OS_HUE:
			Level = SETUP_HUE-2;
			totalLevel = 13;
			font_id = VIDEO_HUE_ID;
			break;
		case STR_OS_SATURATION:
			Level = SETUP_SATURATION-2;
			totalLevel = 13;
			font_id = VIDEO_SATURATION_ID;
			break;
#ifdef DIP_CFG_ENABLE
		case STR_OS_DEINTLC:
			Level = SETUP_DE_INTERLACE-2;
			totalLevel = 7;
			font_id = VIDEO_DEINTERLACE_ID;
			break;
#endif		
	default:break;	
	}
	
	show_level(font_id, Level, totalLevel);//write message to "linebuf".
	osd_DrawString(STRING_X, STRING_Y, linebuf,STITLECOLOR, SBGCOLOR);
	
}
#endif//VIDEO_SETUP_NEW_GUI

#ifdef SETUP_PASSWORD_GUI //zhaoyanhua add 2004-1-14 16:54
/*
 * Function Description:
 *    in SETUP  show password GUI
 *
 */
void setup_ShowPasswdGUI(void)
{
    const char   *str;
	int GUI_x= 0,GUI_y= 0,GUI_h= 0,GUI_w = 0;//xstart/ystart/ylen/xlen
	int GUI_Backx = 0,GUI_Backy = 0, GUI_Backh= 0,GUI_Backw = 0;//background Rect xstart/ystart/ylen/xlen
	int GUI_Msgx= 0,GUI_Msgy= 0, GUI_Msgw =0, GUI_Msgh = 0;

	SetOsdCol(0,0,PASSWD_GUI_TRANS_COLOR,0x1e1e1e00);
	SetOsdCol(0,0,SANTIBGCOLOR,0xa346ffff);
	
	GUI_Backx = 0;
	GUI_Backy = SETUP_BUTTON_HEIGHT+24+40-2;
	GUI_Backh = 10*SETUP_BUTTON_HEIGHT-12;
	GUI_Backw = SETUP_MAX_WIDTH*15+40-4;
	//draw background 
	//draw a big transparent rect .
	osd_draw_rect(GUI_Backx, GUI_Backy, GUI_Backw, GUI_Backh, PASSWD_GUI_TRANS_COLOR);

	//draw operation message rect
	GUI_Msgh = 70;
	GUI_Msgw = GUI_Backw;
	GUI_Msgx = GUI_Backx;
	GUI_Msgy = GUI_Backy+GUI_Backh-GUI_Msgh;
	osd_draw_rect(GUI_Msgx, GUI_Msgy, GUI_Msgw, GUI_Msgh, PASSWD_GUI_MSG_BGCOLOR);
	
	//draw video GUI
	GUI_h = (GUI_Backh - GUI_Msgh)/2+ 80;//+100 ;//GUI height
	GUI_w = GUI_Backw/2+120;//GUI width
	GUI_x = GUI_Backx + (GUI_Backw - GUI_w)/2;//GUI xstart
	GUI_y = GUI_Backy + (GUI_Backh - GUI_h - GUI_Msgh)/2; //GUI ystart
	
	osd_draw_rect(GUI_x, GUI_y, GUI_w, GUI_h, SBGCOLOR);
	//draw rect frame
	//I don't know why in SETUP_COLOR_TYPE2, SBLACKCOLOR -> WHITE
	//                                       SWHITECOLOR -> BLACK ?
	osd_DrawLine(GUI_x-2, GUI_y-1, GUI_x-2, GUI_y-1+GUI_h,SFONTCOLOR, 2);//left line
	osd_DrawLine(GUI_x, GUI_y-2, GUI_x+GUI_w, GUI_y-2,SFONTCOLOR, 2);//top line
	osd_DrawLine(GUI_x-1, GUI_y-2+GUI_h, GUI_x+1+GUI_w, GUI_y-2+GUI_h,SWHITECOLOR, 2);//bottom line
	osd_DrawLine(GUI_x-1+GUI_w, GUI_y-2, GUI_x-1+GUI_w, GUI_y+GUI_h,SWHITECOLOR, 2);//right line

	//nwe passwd
	str = _OsdMessegeFont1[osd_font_mode][STR_OS_OLD_PASSWD];
	osd_DrawString(OLD_PASSWD_X, OLD_PASSWD_Y, str, STITLECOLOR, SBGCOLOR);///13	
	//osd_DrawString(OLD_PASSWD_X, OLD_PASSWD_Y, "OLD PASSWD:",STITLECOLOR, SBGCOLOR);
	
	if(passwdGUI_state != INPUT_GRADE_PASSWD_STATE)//grade passwd not show new passwd
	{   
	    str = _OsdMessegeFont1[osd_font_mode][STR_OS_NEW_PASSWD];
	    osd_DrawString(NEW_PASSWD_X, NEW_PASSWD_Y, str, STITLECOLOR, SBGCOLOR);///13	
		//osd_DrawString(NEW_PASSWD_X, NEW_PASSWD_Y, "NEW PASSWD:",STITLECOLOR, SBGCOLOR);
    }
	setup_PasswdGUIRefresh(passwdGUI_state);

}
/*
 * when input password refresh PASSWORD in time
 */
void setup_PasswdGUIRefresh(int state)
{
    const char   *str;
	int oldpswd_bgcolor = 0;
	int newpswd_bgcolor = 0;
	int ok_bgcolor = 0,bDown = 0,left_top_color = 0,right_bottom_color = 0;
		
	switch(state)
	{
		case INPUT_OLD_PASSWD_STATE:
			oldpswd_bgcolor = PASSWD_SELECTED_COLOR;
			newpswd_bgcolor = PASSWD_UNSELECTED_COLOR;
			ok_bgcolor = PASSWD_UNSELECTED_COLOR;;
			bDown = BUTTON_DOWN;
			//show operation Message about this state
			//"please input old password"
	        str = _OsdMessegeFont1[osd_font_mode][STR_OS_PASSWD_SENTENCE1];
	        osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y, str, SFONTCOLOR, VIDEO_GUI_MSG_BGCOLOR);///13	
			//osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "PLEASE INPUT OLD PASSWD",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
			break;
		case INPUT_NEW_PASSWD_STATE:
			oldpswd_bgcolor = PASSWD_SELECTED_COLOR;
			newpswd_bgcolor = PASSWD_SELECTED_COLOR;
			ok_bgcolor = PASSWD_UNSELECTED_COLOR;
			bDown = BUTTON_DOWN;
			//show operation Message about this state
			//"please input new password"
			osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "                       ",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
	        str = _OsdMessegeFont1[osd_font_mode][STR_OS_PASSWD_SENTENCE2];
	        osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y, str, SFONTCOLOR, VIDEO_GUI_MSG_BGCOLOR);///13	
			//osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "PLEASE INPUT NEW PASSWD",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		

			break;
		case INPUT_GRADE_PASSWD_STATE:			
			oldpswd_bgcolor = PASSWD_SELECTED_COLOR;
			ok_bgcolor = PASSWD_UNSELECTED_COLOR;;
			bDown = BUTTON_DOWN;
			//show operation Message about this state
			//"please input old password"
        	str = _OsdMessegeFont1[osd_font_mode][STR_OS_PASSWD_SENTENCE1];
        	osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y, str, SFONTCOLOR, VIDEO_GUI_MSG_BGCOLOR);///13	
			//osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "PLEASE INPUT OLD PASSWD",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
			break;
		case SHOW_OK_STATE:
			oldpswd_bgcolor = PASSWD_UNSELECTED_COLOR;
			newpswd_bgcolor = PASSWD_UNSELECTED_COLOR;
			ok_bgcolor = PASSWD_SELECTED_COLOR;;
			bDown = BUTTON_UP;
			//show operation Message about this state
			//"enter select return to main setup"
	        str = _OsdMessegeFont1[osd_font_mode][STR_OS_ENTER_RETURN];
	        osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y, str, SFONTCOLOR, VIDEO_GUI_MSG_BGCOLOR);///13	
			//osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "ENTER SELECT TO RETURN MAIN SETUP",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
			break;
		case SHOW_ERROR_STATE://when old password error, show error message. zhaoyanhua add 2004-1-30 11:36			
			oldpswd_bgcolor = PASSWD_SELECTED_COLOR;
			newpswd_bgcolor = PASSWD_UNSELECTED_COLOR;
			ok_bgcolor = PASSWD_UNSELECTED_COLOR;;
			bDown = BUTTON_DOWN;
			//show operation Message about this state
			//"passwd error! please input again"
			osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "                       ",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
            str = _OsdMessegeFont1[osd_font_mode][STR_OS_PASSWD_ERROR];
			osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, str,SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
			//osd_DrawString(PASSWD_MSG_STRING_X, PASSWD_MSG_STRING_Y	, "PASSWD ERROR. PLEASE INPUT AGAIN",SFONTCOLOR,VIDEO_GUI_MSG_BGCOLOR);///13		
			break;
					
		default:
			break;
	
	}
	//old password box
	if(passwdGUI_state != INPUT_NEW_PASSWD_STATE)//when input NEW PASSWD, not redraw OLD PASSWORD BOX
	osd_draw_rect(OLD_PASSWD_BOX_X,OLD_PASSWD_BOX_Y,PASSWD_BOX_XLEN,PASSWD_BOX_YLEN, oldpswd_bgcolor);
	
	//new password word box
	if ( !((page==SYSPAGE) && (index_y==GRADEITEM)) ) ////grade passwd not show new passwd
		osd_draw_rect(NEW_PASSWD_BOX_X,NEW_PASSWD_BOX_Y,PASSWD_BOX_XLEN,PASSWD_BOX_YLEN, newpswd_bgcolor);	
	//OK button
	osd_draw_rect(OK_BUTTON_X,OK_BUTTON_Y,OK_BUTTON_XLEN,OK_BUTTON_YLEN,ok_bgcolor);
	if(bDown)
	{
		left_top_color = SWHITECOLOR; //in fact it is black
		right_bottom_color =SFONTCOLOR; 
	}
	else
	{
		left_top_color = SFONTCOLOR;
		right_bottom_color= SWHITECOLOR;//in fact it is black
	}
	osd_DrawLine(OK_BUTTON_X, OK_BUTTON_Y, OK_BUTTON_X, OK_BUTTON_Y+OK_BUTTON_YLEN,left_top_color, 1);//left line
	osd_DrawLine(OK_BUTTON_X, OK_BUTTON_Y, OK_BUTTON_X+OK_BUTTON_XLEN, OK_BUTTON_Y,left_top_color, 1);//top line
	osd_DrawLine(OK_BUTTON_X, OK_BUTTON_Y-1+OK_BUTTON_YLEN, OK_BUTTON_X+OK_BUTTON_XLEN, OK_BUTTON_Y+OK_BUTTON_YLEN,right_bottom_color, 1);//bottom line
	osd_DrawLine(OK_BUTTON_X-1+OK_BUTTON_XLEN, OK_BUTTON_Y, OK_BUTTON_X+OK_BUTTON_XLEN, OK_BUTTON_Y+OK_BUTTON_YLEN,right_bottom_color, 1);//right line
	osd_DrawString(OK_BUTTON_WORD_X, OK_BUTTON_WORD_Y, "OK",STITLECOLOR, ok_bgcolor);
	
}


#endif//SETUP_PASSWORD_GUI 


⌨️ 快捷键说明

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