📄 display.c
字号:
{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 + -