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

📄 display.c

📁 Zoran VP2K731 DVD源代码,极具参考价值!
💻 C
📖 第 1 页 / 共 2 页
字号:
	{200, MS_LINE_2, 160, MS_LINE_HEIGHT},
	NO_PARENT,
	static_user_op,
	},
	(char *)SC_AUDIO_MSG_ADDR
};


const MS_STATIC subtitle_stat = {
	{
	0,
	ALIGN_LEFT,
	SCREEN_COLOR,
	{10, MS_LINE_3, 120, MS_LINE_HEIGHT},
	NO_PARENT,
	static_user_op,
	},
	(char *)S_SUBTITLE
};

const MS_STATIC subtitle_num_stat = {
	{
	MS_ASCII | MS_STRING_ON_SC,
	ALIGN_LEFT,
	SCREEN_COLOR,
	{200, MS_LINE_3, 200, MS_LINE_HEIGHT},
	NO_PARENT,
	static_user_op,
	},
	(char *)SC_SUBTITLE_MSG_ADDR
};
const MS_STATIC mute_msg_pos_for_dvd = {
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
	{540,MS_LINE_0,60,36},
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_MUTE_MSG_ADDR
};
const MS_STATIC mute_msg_pos_for_svcd={
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
	{540,MS_LINE_0,60,36},
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_MUTE_MSG_ADDR
};
const MS_STATIC mute_msg_pos_for_vcd={
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
	{540,MS_LINE_0,60,36},
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_MUTE_MSG_ADDR
};
const MS_STATIC mute_msg_pos_for_cdda={
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
	{540,MS_LINE_0,60,36},
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_MUTE_MSG_ADDR
};
const MS_STATIC repeat_ab_for_dvd = {
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
#ifdef CHINESE_OSD	
	{492,MS_LINE_3,108,36},
#else // GERMAN_OSD	or spanishosd
	{400,MS_LINE_3,200,36}, //hqm, it is (492, 108) in default.
#endif	
//	{400,MS_LINE_3,200,36}, //hqm, it is (492 , 108, 36 )in default.
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_PERMANENT_MSG_ADDR
};
const MS_STATIC repeat_ab_for_svcd = {
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
#ifdef CHINESE_OSD	
	{492,MS_LINE_1,108,36}, 
#else //GERMAN_OSD	 or spanish osd
	{400,MS_LINE_1,200,36}, //hqm, it is (492, 108) in default.
#endif	
	
//	{400,MS_LINE_0,200,36}, //hqm, it is 492 in default.
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_PERMANENT_MSG_ADDR
};
const MS_STATIC repeat_ab_for_vcd = {
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
#ifdef CHINESE_OSD	
	{492,MS_LINE_1,108,36},
#else // GERMAN_OSD	or spanish
	{400,MS_LINE_1,200,36}, //hqm, it is (492, 108) in default.
#endif	
	
//	{400,MS_LINE_1,200,36}, //hqm, it is 492 in default.
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_PERMANENT_MSG_ADDR
};
const MS_STATIC repeat_ab_for_cdda = {
	{
	MS_STRING_ON_SC,
	ALIGN_LEFT,
	I_COLOR,
#ifdef CHINESE_OSD	
	{492,MS_LINE_1,108,36},
#else // GERMAN_OSD	or spanish
	{400,MS_LINE_1,200,36}, //hqm, it is (492, 108) in default.
#endif	
	
	NO_PARENT,
	static_user_op,
	},
	(void *)SC_PERMANENT_MSG_ADDR
};
const MS_STATIC pause_stat = {
	{
	0,
	ALIGN_LEFT,
	SCREEN_COLOR,
	{120, MS_LINE_0, 120, MS_LINE_HEIGHT},
	NO_PARENT,
	static_user_op,
	},
	(char *)S_PAUSE
};
const MS_STATIC step_stat = {
	{
	0,
	ALIGN_LEFT,
	SCREEN_COLOR,
	{120, MS_LINE_0, 120, MS_LINE_HEIGHT},
	NO_PARENT,
	static_user_op,
	},
	(char *)S_STEP_F
};

const MS_STATIC space_stat= {
	{
	0,
	ALIGN_LEFT,
	SCREEN_COLOR,
	{120, MS_LINE_0, 120, MS_LINE_HEIGHT},
	NO_PARENT,
	static_user_op,
	},
	(char *)S_NULL
};

void on_display_close(void)
{
	sc_SetBytes(SC_CURRENT_TIME_MSG_ADDR, 0, 2, (BYTE *)"");
	sc_SetBytes(SC_TOTAL_TIME_MSG_ADDR, 0, 2, (BYTE *)"");
    	rtouts("\nDisplay screen closed");
}


void open_display(void)
{	
	switch(g_disc_type){
		case DEC_DISC_TYPE_DVD_VIDEO:
			screen = MS_create_screen((MS_POS *)&screen_pos_dvd, screen_color, 0, on_display_close, layout);
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&disk_type_dvd,0);
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&title_stat,0);
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&chapter_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&t_time_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&c_time_stat,0);
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&audio_stat,0);
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&subtitle_stat,0);
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&angle_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&angle_num_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&title_num_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&chapter_num_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&audio_num_stat,0);
			//MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&subtitle_num_stat,0);
			break;
		case DEC_DISC_TYPE_SVCD:
		case DEC_DISC_TYPE_VCD:
		case DEC_DISC_TYPE_CDDA:
			screen = MS_create_screen((MS_POS *)&screen_pos_vcd, screen_color, 0, on_display_close, layout);
			if (g_disc_type == DEC_DISC_TYPE_SVCD)
				MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&disk_type_svcd,0);
			else
			{
				if (g_disc_type == DEC_DISC_TYPE_VCD)
				{
					if(gns.svcd.m_bIsPSDAvaiable==TRUE)
						MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&disk_type_vcd20,0);
					else
						MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&disk_type_vcd11,0);
				}
				else
				{
					if(gcst.mHDCDDetected)
						MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&disk_type_hdcd,0);
					else
						MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&disk_type_cdda,0);
				}
			}
			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&track_stat,0);
	//		MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&t_time_stat,0);
		//	MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&c_time_stat,0);
//			MS_add_item((MS_DIALOG*)screen,(MS_WIDGET*)&track_num_stat,0);
			break;
		case  DEC_DISC_TYPE_MP3:
			break;
	}
	MS_dialog_display((MS_DIALOG*)screen);
}

void current_refresh_time(void) 
{
    //AW0423:change the priority
    chg_pri(1,18);
	static_user_op((MS_WIDGET*)&c_time_stat,MS_UOP_DISPLAY,0);
	chg_pri(1,32);
}
void refresh_mute_state(BOOL mute)//THIS IS FOR REFRESH DISPLAY WHEN OSD DISPLAY IS ON
{
	
	switch(g_disc_type)
	{
	case DEC_DISC_TYPE_DVD_VIDEO:
	MS_hide((MS_WIDGET*)&mute_msg_pos_for_dvd,(MS_DIALOG *)screen);
	if(mute)
	{
	OSD_MESSAGES msg=S_MUTE;	
	sc_Write(SC_MUTE_MSG_ADDR,1,(Sc_cont *)&msg);
	static_user_op((MS_WIDGET*)&mute_msg_pos_for_dvd,MS_UOP_DISPLAY,0);
	}
	break;
	case DEC_DISC_TYPE_SVCD:
	MS_hide((MS_WIDGET*)&mute_msg_pos_for_svcd,(MS_DIALOG *)screen);
	if(mute)
	{
	OSD_MESSAGES msg=S_MUTE;	
	sc_Write(SC_MUTE_MSG_ADDR,1,(Sc_cont *)&msg);
	static_user_op((MS_WIDGET*)&mute_msg_pos_for_svcd,MS_UOP_DISPLAY,0);
	}
	break;
	case DEC_DISC_TYPE_VCD:
	MS_hide((MS_WIDGET*)&mute_msg_pos_for_vcd,(MS_DIALOG *)screen);
	if(mute)
	{
	OSD_MESSAGES msg=S_MUTE;	
	sc_Write(SC_MUTE_MSG_ADDR,1,(Sc_cont *)&msg);
	static_user_op((MS_WIDGET*)&mute_msg_pos_for_vcd,MS_UOP_DISPLAY,0);
	}
	
	break;
	case DEC_DISC_TYPE_CDDA:
	MS_hide((MS_WIDGET*)&mute_msg_pos_for_cdda,(MS_DIALOG *)screen);
	if(mute)
	{
	OSD_MESSAGES msg=S_MUTE;	
	sc_Write(SC_MUTE_MSG_ADDR,1,(Sc_cont *)&msg);
	static_user_op((MS_WIDGET*)&mute_msg_pos_for_cdda,MS_UOP_DISPLAY,0);
	}
	break;
	}
}
void repeat_msg_display_display(OSD_MESSAGES msg)
{
	sc_Write(SC_PERMANENT_MSG_ADDR,1,(Sc_cont *)&msg);
	
	
	switch(g_disc_type)
	{
	case DEC_DISC_TYPE_DVD_VIDEO:
		MS_hide((MS_WIDGET*)&repeat_ab_for_dvd,(MS_DIALOG *)screen);		
		if(msg!=S_NULL)
		static_user_op((MS_WIDGET*)&repeat_ab_for_dvd,MS_UOP_DISPLAY,0);
	break;
	case DEC_DISC_TYPE_SVCD:
		MS_hide((MS_WIDGET*)&repeat_ab_for_svcd,(MS_DIALOG *)screen);		
		if(msg!=S_NULL)
		static_user_op((MS_WIDGET*)&repeat_ab_for_svcd,MS_UOP_DISPLAY,0);
		break;
	case DEC_DISC_TYPE_VCD:
		MS_hide((MS_WIDGET*)&repeat_ab_for_vcd,(MS_DIALOG *)screen);		
		if(msg!=S_NULL)
		static_user_op((MS_WIDGET*)&repeat_ab_for_vcd,MS_UOP_DISPLAY,0);
		break;
	case DEC_DISC_TYPE_CDDA:
		MS_hide((MS_WIDGET*)&repeat_ab_for_cdda,(MS_DIALOG *)screen);		
		if(msg!=S_NULL)
		static_user_op((MS_WIDGET*)&repeat_ab_for_cdda,MS_UOP_DISPLAY,0);
	
	break;
	}
}
void refresh_mp3_track(void) 
{
	static_user_op((MS_WIDGET*)&ds_mp3_track_stat, MS_UOP_DISPLAY, 0);
//AW0103:hide the string sector first then display it	
	MS_hide((MS_WIDGET*)&ds_mp3_track_num_stat,(MS_DIALOG *)screen);	
	static_user_op((MS_WIDGET*)&ds_mp3_track_num_stat, MS_UOP_DISPLAY, 0);
}

void refresh_mp3_time(void) 
{
	static_user_op((MS_WIDGET*)&ds_mp3_time_stat, MS_UOP_DISPLAY, 0);
}

void total_refresh_time(void)
{
//AW0423
    chg_pri(1,18);
	static_user_op((MS_WIDGET*)&t_time_stat,MS_UOP_DISPLAY,0);
	chg_pri(1,32);
}

void current_hide_time(void)
{
	MS_hide((MS_WIDGET *) &c_time_stat, (MS_DIALOG *) screen );
}

void total_hide_time(void)
{
	MS_hide((MS_WIDGET *) &t_time_stat, (MS_DIALOG *) screen );
}
void refresh_angle(void)
{
    MS_hide((MS_WIDGET*)&angle_num_stat,(MS_DIALOG *)screen);		

	static_user_op((MS_WIDGET*)&angle_num_stat,MS_UOP_DISPLAY,0);
}


void refresh_title(void)
{
    MS_hide((MS_WIDGET*)&title_num_stat,(MS_DIALOG *)screen);		
    
	static_user_op((MS_WIDGET*)&title_num_stat,MS_UOP_DISPLAY,0);
}

void refresh_track(void)
{
	MS_hide((MS_WIDGET*)&track_num_stat,(MS_DIALOG *)screen);	
	static_user_op((MS_WIDGET*)&track_num_stat,MS_UOP_DISPLAY,0);
}

void refresh_chapter(void)
{
    MS_hide((MS_WIDGET*)&chapter_num_stat,(MS_DIALOG *)screen);		

	static_user_op((MS_WIDGET*)&chapter_num_stat,MS_UOP_DISPLAY,0);
}

void refresh_audio(void)
{
    MS_hide((MS_WIDGET*)&audio_num_stat,(MS_DIALOG *)screen);		

	static_user_op((MS_WIDGET*)&audio_num_stat,MS_UOP_DISPLAY,0);
}

void refresh_subtitle(void)
{
    MS_hide((MS_WIDGET*)&subtitle_num_stat,(MS_DIALOG *)screen);		

	static_user_op((MS_WIDGET*)&subtitle_num_stat,MS_UOP_DISPLAY,0);
}

void refresh_Disc_Type(void)
{
	switch(g_disc_type)
	{
	case DEC_DISC_TYPE_DVD_VIDEO:
	MS_hide((MS_WIDGET*)&disk_type_dvd,(MS_DIALOG *)screen);
	static_user_op((MS_WIDGET*)&disk_type_dvd,MS_UOP_DISPLAY,0);
	break;
	case DEC_DISC_TYPE_SVCD:
	MS_hide((MS_WIDGET*)&disk_type_svcd,(MS_DIALOG *)screen);
	static_user_op((MS_WIDGET*)&disk_type_svcd,MS_UOP_DISPLAY,0);
	break;
	case DEC_DISC_TYPE_VCD:
	if(gns.svcd.m_bIsPSDAvaiable==TRUE)
	{
	MS_hide((MS_WIDGET*)&disk_type_vcd20,(MS_DIALOG *)screen);
	static_user_op((MS_WIDGET*)&disk_type_vcd20,MS_UOP_DISPLAY,0);
	}	
	else
	{
	MS_hide((MS_WIDGET*)&disk_type_vcd11,(MS_DIALOG *)screen);
	static_user_op((MS_WIDGET*)&disk_type_vcd11,MS_UOP_DISPLAY,0);
	}	
	break;
	case DEC_DISC_TYPE_CDDA:
	MS_hide((MS_WIDGET*)&disk_type_cdda,(MS_DIALOG *)screen);
	if(gcst.mHDCDDetected)
		static_user_op((MS_WIDGET*)&disk_type_hdcd,MS_UOP_DISPLAY,0);
	else
		static_user_op((MS_WIDGET*)&disk_type_cdda,MS_UOP_DISPLAY,0);
	break;
	}
}
void refresh_pause_state(void)
{
//	MS_hide((MS_WIDGET*)&pause_stat,(MS_DIALOG *)screen);
//	static_user_op((MS_WIDGET*)&pause_stat,MS_UOP_DISPLAY,0);
}
void refresh_step_state(void)
{
	//AW0104: add hide action first hide the sector then display the content
	//MS_hide((MS_WIDGET*)&step_stat,(MS_DIALOG *)screen);
	//static_user_op((MS_WIDGET*)&step_stat,MS_UOP_DISPLAY,0);
}
void refresh_space_state(void)
{//AW0111:we don't need it all,becaouse nintasu do not want it any more for pasue step ods permenanet display
	//MS_hide((MS_WIDGET*)&space_stat,(MS_DIALOG *)screen);
	//static_user_op((MS_WIDGET*)&space_stat,MS_UOP_DISPLAY,0);
}

⌨️ 快捷键说明

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