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

📄 bookmark.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
				UiSubFuncZoomProc(C_FP_KEY,V_KEY_ZOOM);
				return UI_IS_FUNC_MSG;
			}
			else
			{
				gZoomFuncPlus = TRUE;
				return UI_NOUSE_FUNC_MSG;
			}
		}
		return UI_IS_FUNC_MSG;
	  
    case V_KEY_MENU:
    case V_KEY_TITLE:
        if (DiscType == C_DVD)
        {
            ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
            SetTimer(OSD5_TM_ID, BookMarkTimer, INFINITETIME);
        }
        return UI_NOUSE_FUNC_MSG;

    case V_KEY_LEFT:
        ShowMarkSearch( BOOKMARK_OSD_LEFT );
        SetTimer(OSD5_TM_ID, BookMarkTimer, TIME_10SEC);
        break;

    case V_KEY_RIGHT:
        ShowMarkSearch( BOOKMARK_OSD_RIGHT );
        SetTimer(OSD5_TM_ID, BookMarkTimer, TIME_10SEC);
        break;
#ifdef _MUTE_ENABLE_
	case V_KEY_VOLUP:
        ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
        SetTimer(OSD5_TM_ID, BookMarkTimer, INFINITETIME);
        return UI_NOUSE_FUNC_MSG;
#endif
#ifdef _BRIGHT_ENABLE_
	case V_KEY_VOLDOWN:
        ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
        SetTimer(OSD5_TM_ID, BookMarkTimer, INFINITETIME);
        return UI_NOUSE_FUNC_MSG;
#endif
    default:
        return UI_NOUSE_FUNC_MSG;
    }
    return UI_IS_FUNC_MSG;
}

BYTE BMarkRespondTimer(DWORD MsgInput)
{
    if (MsgInput == C_NEXTPREV_TIMER)
    {
        ShowMarkSearch( BOOKMARK_OSD_INIT );
        return UI_IS_FUNC_MSG;
    }
    else if(MsgInput == C_ZOOM_TIMER)
    {
	 //UiSubFuncZoomProc(C_TIMER_ACTIVE, MsgInput);
	 	gZoomFuncPlus=FALSE;
        ClearRectArea(gui_hdc, GUITYPE_ZOOM);
        SetTimer(OSD2_TM_ID, CancelZoom, INFINITETIME);
	 	return UI_IS_FUNC_MSG;
    }
    else if(MsgInput==C_BOOKMARK_TIMER)//<<bond fixed la bug:1532 0n 031011.
    {
      ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
      g_UiCrntSubFunc = UI_SUBFUNC_BASAL;
#ifdef _MUTE_ENABLE_
		ptr_GetMuteVolumeStatus = GetMuteVolumeStatus;
	  if((*ptr_GetMuteVolumeStatus)() == MUTEVOLUME_STATUS_MUTE)
	  {
//		RecoverMuteIcon();
		ptr_RecoverMuteIcon=RecoverMuteIcon;
		(*ptr_RecoverMuteIcon)();
	  }
	  else 
#endif
      {
      if(RepeatAB_Counter==REPEAT_AB_A)//bond add for bug 2191. 031024
        	 ShowModeGui(MSG_REPEAT_A,0,0);
	  }
      return UI_IS_FUNC_MSG;
    }
    else
        return UI_NOUSE_FUNC_MSG;
}

BYTE BMarkRespondNVNotice(DWORD MsgInput)
{
    switch (MsgInput)
    {
    case C_DVD_CHGDOMAIN:

        if (CurrentDomain == VMGM_DOM || CurrentDomain == VTSM_DOM )
        { /* Menu or Title */
            if (DiscType == C_DVD)
            {
                ClearRectArea(gui_hdc, GUITYPE_MODEGUI);
                g_UiCrntSubFunc = UI_SUBFUNC_BASAL;
            }
        }
        break;
    }
    /* all message should send to Basal to update VFD */
    return UI_NOUSE_FUNC_MSG;
}


#if(_SDRAM_MODE==_SDRAM_4M16x1_MODE_)
void BmarkCopy(lpUIBOOKMARK lpDes,lpUIBOOKMARK lpSrc,BYTE bBuf)
{
    int i;
    ANGLEINFO AngleInfo;
    for(i=0;i<bBuf;i++)
    {
        lpDes[i].bPlayEnable=lpSrc[i].bPlayEnable;
        lpDes[i].PlayInfo.bDomain=lpSrc[i].PlayInfo.bDomain;
        lpDes[i].PlayInfo.bMenuID=lpSrc[i].PlayInfo.bMenuID;
        lpDes[i].PlayInfo.dwLBAAddr=lpSrc[i].PlayInfo.dwLBAAddr;
        lpDes[i].PlayInfo.FileTp=lpSrc[i].PlayInfo.FileTp;
        lpDes[i].PlayInfo.wPTTN=lpSrc[i].PlayInfo.wPTTN;
        lpDes[i].PlayInfo.wTTN=lpSrc[i].PlayInfo.wTTN;
    }
}
#endif
UINT Bookmark(WORD wIndex,WORD wCommand)
{
    int i;
    UINT wTotalBmPoint;
    ANGLEINFO AngleInfo;

    if (wIndex>MAXMARKNUMBER)/* 0 for lastplay bookmark, 1-9 for normal bookmark */
        return FALSE;
    switch(wCommand)
    {
    case BOOKMARK_RECORD:
		if(NVPBChkSynch() == FALSE)
			return;
        if (NVGetCurInfo(&UiBookMark[wIndex].PlayInfo))
        {
// Start for LG#453
	   if ((VirDiscType == C_VCD20) || (VirDiscType == C_SVCD))
	       UiBookMark[wIndex].PlayInfo.wListID = GetCurrentListID();	// Start for LG#1135	// wListID is exist in PlayInfo, So change it
// End for LG#453
	   if(DiscType == C_DVD)
          {
        	NVGetAGLInfo(&AngleInfo);
              if(AngleInfo.AngleTotalNo>1)
              	UiBookMark[wIndex].bBookAngle= AngleInfo.AngleNo;
              else
              	UiBookMark[wIndex].bBookAngle = 0xff;
          }
	   else
	   	UiBookMark[wIndex].bBookAngle = 0xff;

 	
            UiBookMark[wIndex].bPlayEnable = TRUE;
            return TRUE;
        }
        break;

    case BOOKMARK_CLEAR:
        UiBookMark[wIndex].PlayInfo.wListID=FALSE;	// Start for LG#1135	// wListID is exist in PlayInfo, So change it
        UiBookMark[wIndex].bPlayEnable=FALSE;
        for(i=1,wTotalBmPoint=0;i<MAXMARKNUMBER+1;i++)
        {
            if(UiBookMark[i].bPlayEnable==TRUE)
                wTotalBmPoint++;
        }
        if(wTotalBmPoint==0)
            return FALSE;
        else
            return TRUE;

    case BOOKMARK_PLAY:
        if (UiBookMark[wIndex].bPlayEnable)
        {
           if(g_UiCoreState != UI_CORE_PLAY)
           {
            g_UiCoreState = UI_CORE_PLAY;
             ShowPlayModeGui(RS_FUN_OSD_PLAY, MSG_NULL );//bond add for la bug 2421 031101 	   
            SendVFDPart1Show();
           }		
           NVPlayModeChg(C_NV_Play,0);
	    if ((VirDiscType == C_VCD20) || (VirDiscType == C_SVCD))
	    {
	            if (NVNoneSPECPTTPlayForPBCON(&UiBookMark[wIndex].PlayInfo, C_STOP_SKIPPG,KEY_NULL, UiBookMark[wIndex].PlayInfo.wListID))
	            {
	                bActionCtl=0;//bond add for la bug 2031. 031020
	                //if(g_UiCrntFunc != UI_FUNC_SETUP)
	                 //  ;//ClearRectArea(gui_hdc,GUITYPE_PLAYMODEGUI);//bond mark 031011 for la bug: 2031
	                return TRUE;
	            }
	    }
            else
// End for LG#453                   
            if (NVNoneSPECPTTPlay(&UiBookMark[wIndex].PlayInfo, C_STOP_SKIPPG,KEY_NULL))
            {
                bActionCtl=0;//bond add for la bug 2031. 031020
               // if(g_UiCrntFunc != UI_FUNC_SETUP)
                // {
                //  ;//ClearRectArea(gui_hdc,GUITYPE_PLAYMODEGUI);//bond mark 031011 for la bug: 2031
               // }
                if(DiscType == C_DVD)
                {
                	if(UiBookMark[wIndex].bBookAngle != 0xff)
                	{
						dly_tsk(50);
                		NVAngleChange(UiBookMark[wIndex].bBookAngle);
                	}
                }
                return TRUE;
            }
        	
        }
        break;

    case BOOKMARK_PLAYENABLE:
        return UiBookMark[wIndex].bPlayEnable;

    case BOOKMARK_GETNUMS:
        for(i=1,wTotalBmPoint=0;i<MAXMARKNUMBER+1;i++)
        {
            if(UiBookMark[i].bPlayEnable==TRUE)
                wTotalBmPoint++;
        }
        return wTotalBmPoint;

    case BOOKMARK_NEXTVALIDNUM:
        for(i=wIndex+1;i<=MAXMARKNUMBER;i++)
        {
            if(UiBookMark[i].bPlayEnable==TRUE)
                return i;
        }
        if(i>MAXMARKNUMBER)
        {
            for(i=1;i<wIndex;i++)
                if(UiBookMark[i].bPlayEnable==TRUE)
                    return i;
        }
        if(i==wIndex)
            return wIndex;

    case BOOKMARK_PREVALIDNUM:
        for(i=wIndex-1;i>=1;i--)
        {
            if(UiBookMark[i].bPlayEnable==TRUE)
                return i;
        }
        if(i<1)
        {
            for(i=MAXMARKNUMBER;i>=wIndex+1;i--)
                if(UiBookMark[i].bPlayEnable==TRUE)
                    return i;
        }
        if(i==wIndex)
            return wIndex;
    }
    return FALSE;
}

void ClearAllBookmark()
{
    int i;
    
    for(i=0;i<=MAXMARKNUMBER;i++)
	Bookmark( i,BOOKMARK_CLEAR);
}


⌨️ 快捷键说明

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