📄 nmosd.c
字号:
strContent[pos+i]=0x00;
i++;
strContent[pos+i]=0x00;
}
}
if(guiMode==RS_FUN_OSD_STOP && exInfo == 1)
{
LoadText(RS_FUN_OSD_PAUSE,strContent, 30) ;
LoadText(RS_FUN_OSD_STOP,strContent+2, 30) ;
}
//SetTextColor(gui_hdc, GetColorInDef256Palette(230));
//DrawText(gui_hdc,strContent, -1, &(br.rect), DT_CENTER |DT_VCENTER | DT_SINGLELINE);
ShowStrWithMemdc(gui_hdc, &br, strContent);
}
if( guiMode == RS_FUN_OSD_REV_SKIP||guiMode == RS_FUN_OSD_SKIP )
{
SetTimer(OSD1_TM_ID,PlayModeGUITimer,3000);
if(DiscType!=C_DVD||(!NVChkIsMultiPGC()))
ShowNumPlay(1,exInfo);
}
else if(guiMode == RS_FUN_OSD_SCAN ||guiMode == RS_FUN_OSD_SLOW ||
guiMode == RS_FUN_OSD_REV_SCAN ||guiMode == RS_FUN_OSD_REV_SLOW||
guiMode == RS_FUN_OSD_PAUSE)
SetTimer(OSD1_TM_ID,PlayModeGUITimer,INFINITETIME);
//else if(guiMode == RS_FUN_OSD_PAUSE)
// SetTimer(OSD1_TM_ID,PlayModeGUITimer,INFINITETIME);
else if(guiMode==RS_FUN_OSD_STOP&&exInfo!=1)
{
SetTimer(OSD1_TM_ID,PlayModeGUITimer,INFINITETIME);
SetTimer( STOP_TM_ID, ShopTimer, TIME_3SEC);//jane temp for lg bug 2048
}
else
SetTimer(OSD1_TM_ID,PlayModeGUITimer,TIME_3SEC);
}
/*----------------------------------------------------------------------------
* Function name: ShowNumPlay
* Arguments: BYTE bshow,WORD inNum
* Return value: None
* Remark: show number at the modebox position.
*----------------------------------------------------------------------------*/
void ShowNumPlay(BYTE bshow,WORD inNum )
{
PLAYPOINT CurPlayPoint;
BYTE numstr[30];
if(bshow!=0)
{
if(g_UiCrntSubFunc!=UI_SUBFUNC_CONSOLE)
{
NVGetCurInfo( &CurPlayPoint );
if(DiscType==C_DVD)
{
if ((inNum!=0)&&(inNum<=NVGetTTPTTNs(CurPlayPoint.wTTN)))
ShowModeGui(MSG_NUM,inNum,NVGetTTPTTNs(CurPlayPoint.wTTN));
}
else
{
if(DiscType==C_VCD10||((DiscType==C_VCD20||DiscType==C_SVCD)&&OSD_Setup_Parameter.bPBC==C_OFF))
{
if ((inNum!=0)&&(inNum<=NVGetTTNsOrTrks()))
ShowModeGui(MSG_NUM,inNum,NVGetTTNsOrTrks());
}
}
}
}
}
void ShowStrWithMemdc(HDC hdc,lpBaseRect brect,BYTE* str)
{
GUI_CreateButtonControl(hdc, &(brect->rect), GetColorInDef256Palette(brect->bkColor), GetColorInDef256Palette(236), GetColorInDef256Palette(225), GetColorInDef256Palette(236), str, UNICODE_STRING, DT_CENTER, 0);
}
void ShowInvalidWithMemdc(HDC hdc,lpBaseRect brect,BYTE* str)
{
RECT rect={MSGIMGLEFT,MSGIMGTOP,MSGIMGLEFT+INVALID_MSG_WIDTH,MSGIMGTOP+INVALID_MSG_HEIGHT};
if(FileType==C_JPGFILE)
{
rect.left+=56;
rect.top+=16;
}
GUI_CreateBitmapControl(hdc, &rect, GetColorInDef256Palette(brect->bkColor), GetColorInDef256Palette(2), GetColorInDef256Palette(199), IM_DISC_ERR_ERROR, 10, 5);
}
void BookMarkTimer(void)
{
if(PollCmdUIMsg(C_TIMER_ACTIVE, C_BOOKMARK_TIMER)==FALSE)
{
SetTimer(OSD5_TM_ID, BookMarkTimer, C_WAIT_MSG_TIME);
}
}
void DrawSmallArrow(HDC hdc, const LPRECT lprct,BYTE clrIndex,UINT format,BYTE arrow)
{
BYTE leftarrow[4]={0xe0,0x10,0x00,0x00};
BYTE rightarrow[4]={0xe0,0x11,0x00,0x00};
BYTE uparrow[4]={0xe0,0x17,0x00,0x00};
BYTE downarrow[4]={0xe0,0x18,0x00,0x00};
BYTE updownarrow[4]={0xe0,0x19,0x00,0x00};
BYTE leftarrowBig[4]={0xe0,0x15,0x00,0x00};
BYTE rightarrowBig[4]={0xe0,0x16,0x00,0x00};
BYTE *pArrow = NULL;
SetTextColor( hdc,GetColorInDef256Palette(clrIndex) );
switch(arrow)
{
case ARROW_LEFT:
pArrow = leftarrow;
break;
case ARROW_RIGHT:
pArrow = rightarrow;
break;
case ARROW_UP:
pArrow = uparrow;
break;
case ARROW_DOWN:
pArrow = downarrow;
break;
case ARROW_UPDOWN:
pArrow = updownarrow;
break;
case ARROW_LEFT_BIG:
pArrow = leftarrowBig;
break;
case ARROW_RIGHT_BIG:
pArrow = rightarrowBig;
break;
default:
break;
}
DrawText(hdc, pArrow , -1, lprct, format);
#if 0
if(arrow==ARROW_LEFT)
{
DrawText(hdc, leftarrow , -1, lprct, format);
}
else if(arrow==ARROW_RIGHT)
{
DrawText(hdc, rightarrow , -1, lprct, format);
}
else if(arrow==ARROW_UP)
{
DrawText(hdc, uparrow , -1, lprct, format);
}
else if(arrow==ARROW_DOWN)
{
DrawText(hdc, downarrow , -1, lprct, format);
}
else if(arrow==ARROW_UPDOWN)
{
DrawText(hdc, updownarrow , -1,lprct, format);
}
else if(arrow==ARROW_LEFT_BIG)
{
DrawText(hdc, leftarrowBig , -1,lprct, format);
}
else if(arrow==ARROW_RIGHT_BIG)
{
DrawText(hdc, rightarrowBig , -1,lprct, format);
}
#endif
}
void DrawPlInputBox(HDC hdc,BYTE i,BOOL ifinput)
{
RECT rect;
BYTE str[2]={0x00,'*'};
BYTE nullstr[2]={0x00,'-'};
SetBkMode(hdc, OPAQUE);
rect.left = PL_PSWINPUT_BOX_LEFT+i*(PL_PSWINPUT_BOX_WIDTH);
rect.top = PL_PSWINPUT_BOX_TOP;
rect.right = rect.left+PL_PSWINPUT_BOX_WIDTH+1;
rect.bottom =rect.top+PL_PSWINPUT_BOX_HIGHT;
SetTextColor(hdc,
GetColorInDef256Palette(233));
SetBkColor(hdc,
GetColorInDef256Palette(PL_COLOURE_LITTLEBK));
if(ifinput)
DrawText(hdc,str,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
else
DrawText(hdc,nullstr,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_CENTER);
SetBkMode(hdc, TRANSPARENT);
}
/*----------------------------------------------------------------------------
* Function name: ShowRegionError
* Arguments:
* Return value: None
* Remark: This function show Region Code Error Hint
*----------------------------------------------------------------------------*/
void ShowRegionError()
{
static BaseBmp Regionalarmbmp ={
IM_DISC_ERR_CHECK,
REGION_ALARMBMP_LEFT,
REGION_ALARMBMP_TOP,
REGION_ALARMBMP_WIDTH,
REGION_ALARMBMP_HIGHT
};
static BaseString Regionalarmstr ={
RS_DISC_CHECK_REGIONAL_CODE,
{
REGION_ALARMSTR_LEFT,
REGION_ALARMSTR_TOP,
MSGLEFT,/*REGION_ALARMSTR_LEFT+200,*/
REGION_ALARMSTR_BOTTOM,
255,255,255
},
DT_LEFT|DT_SINGLELINE|DT_VCENTER,244,NULL
};
BYTE str[100];
if(bIsRegionErrShow == TRUE) //Do nothing if region error is already show on OSD
return;
bIsRegionErrShow= TRUE;
ClearRectArea(gui_hdc,GUITYPE_SCREEN);
SetTimer( OSD6_TM_ID, ModeOSDOff, INFINITETIME);
DrawBaseBmp(gui_hdc, &Regionalarmbmp);
GetModeStr(Regionalarmstr.stringID,0,0,str);
DrawBaseString(gui_hdc,&Regionalarmstr,str);
}
/*----------------------------------------------------------------------------
* Function name: ShowChgPLOSD
* Arguments:
* Return value: None
* Remark: This function show PL change window
*----------------------------------------------------------------------------*/
void ShowChgPLOSD()
{
BYTE str[100],i;
int pos1;
RECT rect;
//-->gushun
// RECT rectbgLeft = {PL_PASSWORD_BOX_LEFT,PL_PASSWORD_BOX_TOP,PL_PASSWORD_BOX_LEFT+56,PL_PASSWORD_BOX_TOP+68};
// RECT rectbgMiddle = {PL_PASSWORD_BOX_LEFT+56,PL_PASSWORD_BOX_TOP,PL_PASSWORD_BOX_LEFT+130+30,PL_PASSWORD_BOX_TOP+68};
// RECT rectbgRight = {PL_PASSWORD_BOX_LEFT+130+30,PL_PASSWORD_BOX_TOP,PL_PASSWORD_BOX_LEFT+228+30+20,PL_PASSWORD_BOX_TOP+68};
RECT rectbg = {PL_PASSWORD_BOX_LEFT, PL_PASSWORD_BOX_TOP, PL_PASSWORD_BOX_LEFT+228+30+20, PL_PASSWORD_BOX_TOP+68};
//<--gushun
BYTE Select_Icon[] = {0xe0,0x13};
BYTE Help_Select[] = {0x00,'S',0x00,'e',0x00,'l',0x00,'e',0x00,'c',0x00,'t'};//{0xe0,0x16,0x00,0x20 ,0x00,0x00};
BaseString help;
//-->gushun
/*
static BaseBmp PLalarmbmp ={
IM_PASS_POPUP_WARNING,
PL_ALARMBMP_LEFT,
PL_ALARMBMP_TOP,
PL_ALARMBMP_WIDTH,
PL_ALARMBMP_HIGHT
};
static BaseString PLalarmstr ={
RS_DISC_PARENTAL_CONTROLL_LIMIT,
{
PL_ALARMSTR_LEFT,
PL_ALARMSTR_TOP,
PL_ALARMSTR_LEFT+240,
PL_ALARMSTR_BOTTOM,
255,255,255,31
},
DT_LEFT|DT_SINGLELINE|DT_VCENTER,32,NULL
};
static BaseString PLhintstr ={
0,
{
PL_PASSWORD_BOX_LEFT+58,//maggie
PL_PSWHINT_BOX_TOP,//maggie
PL_PASSWORD_BOX_RIGHT,
PL_PSWHINT_BOX_TOP+PL_PSWHINT_BOX_HIGHT,
// 97,32,128
249,255,255
},
DT_CENTER|DT_SINGLELINE|DT_VCENTER,32,NULL
};
*/
//<--gushun
BYTE PLhintstrinfo[100] ={0xe0,0x14,0x00,' ',0x00,'I',0x00,
'n',0x00,'p',0x00,'u',0x00,'t',0x00,' ', 0x00,
' ',0x00,' ',0xe0,0x2b,0x00,' ',0x00,
'C',0x00,'l',0x00,'e',0x00,'a',0x00,'r'
};
/*
static BaseRect PLpswrect ={
PL_PASSWORD_BOX_LEFT,
PL_PASSWORD_BOX_TOP,
PL_PASSWORD_BOX_RIGHT,
PL_PASSWORD_BOX_BOTTOM,
//97,32,128
249,255,255
};*/
static BaseBmp PLpswbmp ={
NULL,
PL_BMP_LEFT,
PL_BMP_TOP,
PL_BMP_WIDTH,
PL_BMP_HIGHT
};
PLPassWdPos = 0;
PLPassWdCnt = 0;
//-->modyfied by gushun
/*
GUI_CreateLeftMidRightBitmap(gui_hdc, &rectbgLeft, IM_PASS_POPUP_BG_LEFT, IM_PASS_POPUP_BG_LEFT, IM_PASS_POPUP_BG_LEFT, TRUE);
GUI_CreateLeftMidRightBitmap(gui_hdc, &rectbgMiddle, IM_PASS_POPUP_BG_MIDDLE_LEFT, IM_PASS_POPUP_BG_MIDDLE, IM_PASS_POPUP_BG_MIDDLE_RIGHT, TRUE);
GUI_CreateLeftMidRightBitmap(gui_hdc, &rectbgRight, IM_PASS_POPUP_BG_RIGHT, IM_PASS_POPUP_BG_RIGHT, IM_PASS_POPUP_BG_LEFT, TRUE);
if(DiscType!=C_DVD_AUDIO)
{
DrawBaseBmp(gui_hdc, &PLalarmbmp);
GetModeStr(PLalarmstr.stringID,0,0,str);
DrawBaseString(gui_hdc,&PLalarmstr,str);
}
*/
GUI_CreateButtonControl2(gui_hdc, &rectbg, GetColorInDef256Palette(PL_COLOURE_BK), GetColorInDef256Palette(PL_COLOURE_TOPEDGE), GetColorInDef256Palette(PL_COLOURE_BOTTOMEDG), GetColorInDef256Palette(PL_COLOURE_BK), "", NORMAL_STRING, 0, 0);
//<--modyfied by gushun
//draw select confirm icon
// SetRect(&rect, 419-56+25-55, 215, 419+20-56+25-55, 215+20); //--gushun
SetRect(&rect, PL_PASSWORD_BOX_LEFT+205, PL_PASSWORD_BOX_TOP-24, 353, 235);
SetTextColor(gui_hdc,
GetColorInDef256Palette(31));
SetBkColor(gui_hdc,
GetColorInDef256Palette(246));
DrawText(gui_hdc,Select_Icon,2,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_LEFT);
//draw select
// SetRect(&rect, 443-56+25-55, 216, 443+50+25-55, 215+20);//--gushun
SetRect(&rect, PL_PASSWORD_BOX_LEFT+205, PL_PASSWORD_BOX_TOP-23, 463, 235);
//SetTextColor(gui_hdc,
// GetColorInDef256Palette(31));
// SetBkColor(gui_hdc,
// GetColorInDef256Palette(246));
DrawText(gui_hdc,Help_Select,12,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_LEFT);
/*
// Init PL hint block
PLhintstrinfo[0]=0xe0;
PLhintstrinfo[1]=0x14;
PLhintstrinfo[2]=0x00;
PLhintstrinfo[3]=' ';
PLhintstrinfo[4]=0x00;
PLhintstrinfo[5]='I';
PLhintstrinfo[6]=0x00;
PLhintstrinfo[7]='n';
PLhintstrinfo[8]=0x00;
PLhintstrinfo[9]='p';
PLhintstrinfo[10]=0x00;
PLhintstrinfo[11]='u';
PLhintstrinfo[12]=0x00;
PLhintstrinfo[13]='t';
PLhintstrinfo[14]=0x00;
PLhintstrinfo[15]=' ';
PLhintstrinfo[16]=0x00;
PLhintstrinfo[17]=' ';
PLhintstrinfo[18]=0x00;
PLhintstrinfo[19]=' ';
PLhintstrinfo[20]=0xe0;
PLhintstrinfo[21]=0x2b;
PLhintstrinfo[22]=0x00;
PLhintstrinfo[23]=' ';
PLhintstrinfo[24]=0x00;
PLhintstrinfo[25]='C';
PLhintstrinfo[26]=0x00;
PLhintstrinfo[27]='l';
PLhintstrinfo[28]=0x00;
PLhintstrinfo[29]='e';
PLhintstrinfo[30]=0x00;
PLhintstrinfo[31]='a';
PLhintstrinfo[32]=0x00;
PLhintstrinfo[33]='r';
*/
// SetRect(&rect, 275-5-55, 249, 501+30-55, 249+20);//--gushun
SetRect(&rect, PL_PASSWORD_BOX_LEFT+54, PL_PASSWORD_BOX_TOP+4, 476, 266);
//SetTextColor(gui_hdc,
// GetColorInDef256Palette(31));
//SetBkColor(gui_hdc,
// GetColorInDef256Palette(246));
DrawText(gui_hdc,PLhintstrinfo,36,&rect, DT_OPAQUE|DT_SINGLELINE|DT_VCENTER|DT_LEFT);
//draw pswbmp
if(DiscType==C_DVD)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -