亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? selmenu.c

?? mtk1389L latest sourcecode enjoy
?? C
?? 第 1 頁 / 共 3 頁
字號:
      {
        if (bItem == (bTmp - 1))
        {
          vSelMenuSetItem(bItem, 0, 0);
        }
        else
        {
          for (bIdx = bItem; bIdx < (bTmp - 1); bIdx ++)
          {
            bItem = bSelMenuReadItem(bIdx + 1, pbTime);
            vSelMenuSetItem(bIdx, bItem, pbTime);
          }
          vSelMenuSetItem(bTmp - 1, 0, 0);
        }
        vSetSharedInfo(SI_USR_PROGRAM_NS, bTmp - 1);
        vSelMenuShowPage(_rSelMenu.bPage, OSD_PROG_ITEM_NORMAL);
#ifdef HILI_USE_OSD
		vOsdPosHili(OSD_POS_HILI_SHOW, OSD_POS_PROG_ITEM_1 + (bCurItem%SELMENU_PAGE_SIZE), 0);
#endif /* HILI_USE_OSD */
      }
      return (TRUE);

    case IR_ENTER:
    case IR_PLAY:
    case IR_PLAY_ENTER:
    case IR_PLAY_PAUSE:
      if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TT_CH)
      {
        vSelMenuTtChInputStart();
      }
      else /* if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TIME) */
      {
        vSelMenuTimeInputStart();
      }
      return (TRUE);

    default:
      return (TRUE);
  }

  if (bItem != bSelMenuHiliItemNo(_rSelMenu.bPage, _rSelMenu.bHili))
  {
    vSelMenuGotoItem(bItem);
  }

  return (TRUE);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static BOOL fgSelMenuBarState(void) large
{
  BYTE bState;
  BYTE pbTime[3];
  BYTE bType = bSharedInfo(SI_USR_PROGRAM_TYPE);

  switch (_bIRKey)
  {
    case IR_UP:
      if (bType != SV_PROGRAM_NONE_ITEM)
      {
        vSelMenuGotoItem(bSelMenuHiliItemNo(_rSelMenu.bPage, SELMENU_PAGE_SIZE - 1));
      }
      return (TRUE);

    case IR_LEFT:
      bState = bSelMenuGetBarPrevValid(_rSelMenu.bState);
      if (bState == PROG_STATE_SELECT)
      {
        /* goto last item of current page */
        if (bType != SV_PROGRAM_NONE_ITEM)
        {
          vSelMenuGotoItem(bSelMenuHiliItemNo(_rSelMenu.bPage, SELMENU_PAGE_SIZE - 1));
        }
        return (TRUE);
      }
      else
      {
        vSelMenuGotoBar(bState);
      }
      break;

    case IR_RIGHT:
    case IR_DOWN:
      bState = bSelMenuGetBarNextValid(_rSelMenu.bState);
      if (bState == PROG_STATE_SELECT)
      {
        return (TRUE); /* not goto next page */
      }
      else
      {
        vSelMenuGotoBar(bState);
      }
      break;

    case IR_ENTER:
    case IR_PLAY:
    case IR_PLAY_ENTER:
    case IR_PLAY_PAUSE:
      vSelMenuBarActive(_rSelMenu.bState);
      return (TRUE);

    default:
      return (TRUE);
  }

  if (_rSelMenu.bState != bState)
  {
    vSelMenuGotoBar(_rSelMenu.bState);
  }

  return (TRUE);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSelMenuProgTypeChange(BYTE bType) large
{
  switch (bType)
  {
    case SV_PROGRAM_TRACK_ITEM:
      _rSelMenu.bSelNoMax = bSharedInfo(SI_TRACK_NS);
      _rSelMenu.bItemType = PROG_ITEM_TYPE_TIME;
      break;

    case SV_PROGRAM_CHAPTER_ITEM:
      /* chapter program mode is only valid for one title only DVD */
      _rSelMenu.bSelNoMax = bSharedInfo(SI_DVD_TT_CH); /* assume offset 0 is title 1 */
      _rSelMenu.bItemType = PROG_ITEM_TYPE_TIME;
      break;

    case SV_PROGRAM_TT_ITEM:
      _rSelMenu.bSelNoMax = bSharedInfo(SI_TT_NS);
      _rSelMenu.bItemType = PROG_ITEM_TYPE_TIME;
      break;

    case SV_PROGRAM_TT_CH_ITEM:
      _rSelMenu.bSelNoMax = bSharedInfo(SI_TT_NS);
      _rSelMenu.bItemType = PROG_ITEM_TYPE_TT_CH;
      break;

    case SV_PROGRAM_NONE_ITEM:
    default:
      _rSelMenu.bSelNoMax = 0;
      bType = SV_PROGRAM_NONE_ITEM;
      if (fgIsDvdPlay())
      {
        _rSelMenu.bItemType = PROG_ITEM_TYPE_TT_CH;
      }
      else
      {
        _rSelMenu.bItemType = PROG_ITEM_TYPE_TIME;
      }
      break;
  } /* switch (bType) */


  if (bType != bSharedInfo(SI_USR_PROGRAM_TYPE))
  {
    vSetSharedInfo(SI_USR_PROGRAM_TYPE, bType);
    vSelMenuResetItem();
  }
#ifdef PROGRAM_STOP_CLEAR
  else if (bSharedInfo(SI_USR_PBC_CTRL) != SV_PROGRAM)
  {
    vSelMenuResetItem();
  }
#endif

  /* show program type */
  vOsdShowProgType(OSD_PROG_TYPE_CLEAR, 0, 0); // we need to clear it manually

  if (bType == SV_PROGRAM_TT_CH_ITEM)
  {
    vOsdShowProgType(bType, _rSelMenu.bSelNoMax, 0);
  }
  else
  {
    vOsdShowProgType(bType, 1, _rSelMenu.bSelNoMax);
  }

  /* clear command sync flag */
  _rSelMenu.fgWaitProgStop = FALSE;

  /* default is page 0, item 0 */
  _rSelMenu.bPage = 0;
  _rSelMenu.bHili = 0;

  /* Page refresh */
  vSelMenuShowPage(0, OSD_PROG_ITEM_HEADER);

  /* default hili position */
  if (bType == SV_PROGRAM_NONE_ITEM)
  {
    vSelMenuGotoBar(PROG_STATE_EXIT);
  }
  else if (bSharedInfo(SI_USR_PBC_CTRL) == SV_PROGRAM)
  {
    vSelMenuGotoBar(PROG_STATE_START_STOP);
  }
  else
  {
    vSelMenuGotoItem(0);
  }
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
BYTE bSelMenuNextType(BYTE bCurrType) large
{
  BYTE bType = SV_PROGRAM_NONE_ITEM;
  
  /* switch program type */
  if (fgIsDvdPlay())
  {
    if (bCurrType == SV_PROGRAM_NONE_ITEM)
    {
      if (bSharedInfo(SI_TT_NS) > 1)
      {
        bType = SV_PROGRAM_TT_CH_ITEM;
        
      }
      else /* if (bSharedInfo(SI_TT_NS) == 1) */
      {
        /* chapter program mode is only valid for one title only DVD */
        bType = SV_PROGRAM_CHAPTER_ITEM;
      }
    }
#ifndef PROGRAM_KEY_EXIT
    else if (bCurrType == SV_PROGRAM_TT_CH_ITEM)
    {
      bType = SV_PROGRAM_TT_ITEM;
    }
#endif
    else /* if ((bCurrType == SV_PROGRAM_TT_ITEM) || (bCurrType == SV_PROGRAM_CHAPTER_ITEM)) */
    {
      bType = SV_PROGRAM_NONE_ITEM;
    }
  }
  else if (fgIsVcdPlay() || fgIsCddaPlay())
  {
    if (bCurrType == SV_PROGRAM_NONE_ITEM)
    {
      bType = SV_PROGRAM_TRACK_ITEM;
    }
    else /* if (bCurrType == SV_PROGRAM_TRACK_ITEM) */
    {
      bType = SV_PROGRAM_NONE_ITEM;
    }
  }
  else if (fgIsIsoPlay())
  {
    /* not supported */
    bType = SV_PROGRAM_NONE_ITEM;
  }

  return (bType);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vSelectInit(BYTE fgInit) large
{
  BYTE bType;

  /* chnage OSD mode to user mode */
  vOsdShowWb(OSD_WB_USER);

  bType = bSharedInfo(SI_USR_PROGRAM_TYPE);

#ifdef ALL_WB_USE_TRUECOLOR
  vCreateWB(WB_SELMENU, TRUE);
  vSetWBTcColor(WB_SELMENU);
#else
  vCreateWB(WB_SELMENU, FALSE);
#endif
#ifdef FONT_NO_BORDER
  vSetMsgCol4(WB_SELMENU, 0, 1, 1, 3);
#else
  #ifdef HILI_USE_OSD
  vSetMsgCol4(WB_SELMENU, 0, 0, 2, 3);
  #else
  vSetMsgCol4(WB_SELMENU, 0, 1, 2, 3);
#endif
#endif
  vEnableWB(WB_SELMENU);

#ifndef HILI_USE_OSD
  /* set hilight color */
  vSetHLCol(HL_1, 0x0000); /* green */
#endif

  if (fgIsIsoPlay())
  {
    /* not supported */
    vSetExitInputState();
    return;
  }
  else if (bType == SV_PROGRAM_NONE_ITEM)
  {
    bType = bSelMenuNextType(bType);
  }

  vSelMenuProgTypeChange(bType);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
BOOL fgSelectState(void) large
{
  BOOL fgRet = TRUE;
  BYTE bType = bSharedInfo(SI_USR_PROGRAM_TYPE);

  if (_bIRKey <= IR_ADD10 || _bIRKey == IR_ADD5)  // megaa ADD5
  {
    if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TT_CH)
    {
      vSelMenuTtChInputStart();
    }
    else /* if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TIME) */
    {
      vSelMenuTimeInputStart();
    }
  }

  if ((_rSelMenu.bState == PROG_STATE_INPUT) ||
      (_rSelMenu.bState == PROG_STATE_INPUT_1))
  {
    if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TT_CH)
    {
      if (fgSelMenuTtChInputState() == TRUE)
      {
        return (TRUE);
      }
    }
    else /* if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TIME) */
    {
      if (fgSelMenuTimeInputState() == TRUE)
      {
        return (TRUE);
      }
    }
  }

  // FIXME: use global to get current disc type
  switch (_bIRKey)
  {
#ifdef SUPPORT_DEVMNG
    case IR_MUTE:
    {
      if (bSharedInfo(SI_EMD_ATTACH) || bSharedInfo(SI_MCR_ATTACH) ||
          bSharedInfo(SI_DEVMNG_SWITCH_MODE) != SV_DEVMNG_SWITCH_DEFAULT)
      {
        vSetExitInputState();
        fgRet = FALSE;
      }
      break;
    }
#endif
    case IR_PROGRAM:
    {
#ifdef PROGRAM_KEY_EXIT
      vSetExitInputState();
#else /* PROGRAM key switch type */
      if (bSharedInfo(SI_USR_PBC_CTRL) == SV_PROGRAM)
      {
        /* program off first then change program type */
        vSendUopCmd(UOP_PROGRAM, SV_PROGRAM_STOP, 0, 0);
      }

      bType = bSelMenuNextType(bType);
      vSelMenuProgTypeChange(bType);
#endif
      break;
    } /* case IR_PROGRAM: */

    case IR_TITLE_MENU:
      /* switch title no when play DVD */
      /* vOsdPosShow(OSD_POS_NORMAL, ); */
      break;

    case IR_NEXT:
      if (_rSelMenu.fgNextValid)
      {
        vSelMenuBarActive(PROG_STATE_NEXT);
      }
      break;

    case IR_PREV:
      if (_rSelMenu.fgPrevValid)
      {
        vSelMenuBarActive(PROG_STATE_PREV);
      }
      break;

    default:
    {
      if (fgIsAVContrlKey(_bIRKey))
      {
        /* pass the A/V control key */
        fgRet = FALSE;
      }
      else if (_rSelMenu.bState == PROG_STATE_SELECT)
      {
        fgRet = fgSelMenuSelectState();
      }
      else if ((_rSelMenu.bState == PROG_STATE_INPUT) ||
               (_rSelMenu.bState == PROG_STATE_INPUT_1))
      {
        /* error handle: force input end */
        if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TT_CH)
        {
          _rNumInStateCtx.wNum = bSelMenuReadItem(bSelMenuHiliItemNo(_rSelMenu.bPage, _rSelMenu.bHili),
                                                  _rNumInStateCtx.bDig);
          vSelMenuTtChInputEnd(_rNumInStateCtx.wNum, _rNumInStateCtx.bDig[0]);
        }
        else /* if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TIME) */
        {
          vSelMenuTimeInputEnd(bSelMenuReadItem(bSelMenuHiliItemNo(_rSelMenu.bPage, _rSelMenu.bHili),0));
        }
      }
      else /* default is in BAR state */
      {
        fgRet = fgSelMenuBarState();
      }
      break;
    } /* default */
  } /* switch (_bIRKey) */

  return (fgRet);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vSelectExit(void) large
{
  if ((_rSelMenu.bState == PROG_STATE_INPUT) ||
      (_rSelMenu.bState == PROG_STATE_INPUT_1))
  {
    /* force input end */
    if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TT_CH)
    {
      _rNumInStateCtx.wNum = bSelMenuReadItem(bSelMenuHiliItemNo(_rSelMenu.bPage, _rSelMenu.bHili),
                                              _rNumInStateCtx.bDig);
      vSelMenuTtChInputEnd(_rNumInStateCtx.wNum, _rNumInStateCtx.bDig[0]);
    }
    else /* if (_rSelMenu.bItemType == PROG_ITEM_TYPE_TIME) */
    {
      vSelMenuTimeInputEnd(bSelMenuReadItem(bSelMenuHiliItemNo(_rSelMenu.bPage, _rSelMenu.bHili),0));
    }
  }

  vDeleteWB(WB_SELMENU);
  vOsdShowProgType(OSD_PROG_TYPE_CLEAR, 0, 0);
  vOsdPosHili(OSD_POS_HILI_CLEAR, 0, 0);

  /* restore OSD mode */
  vOsdShowWb(OSD_WB_RESTORE);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vSelMenuUsrPbcChange(void) large
{
  if ((bSharedInfo(SI_USR_PBC_CTRL) != SV_PROGRAM) && 
      (_rSelMenu.fgWaitProgStop == TRUE))
  {
    _rSelMenu.fgWaitProgStop = FALSE;
    
#ifdef PROGRAM_STOP_CLEAR
    vSelMenuResetItem();
#endif
  //[CQ]PL00205271
    vSelMenuShowPage(_rSelMenu.bPage, OSD_PROG_ITEM_NORMAL); /* update current page */
  }
}
#else /* PLAYER_PROGRAM dummy function */

static code BYTE pbSelMenuCodeSegment[1] = { FALSE }; /* for code segment */

void vSelectInit(BYTE fgInit) large { return; }
BOOL fgSelectState(void) large
{
  vOsdShowProgType(0, 0, 0);
  
  return (pbSelMenuCodeSegment[0]);
}
void vSelectExit(void) large { return; }

void vSelMenuReset(void) large { return; }
void vSelMenuUsrPbcChange(void) large { return; }

#endif /* PLAYER_PROGRAM */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品午夜视频| 日日夜夜精品视频免费| 日本一区二区三区国色天香| 精品国产乱码久久久久久图片| 在线综合视频播放| 91精品国产91久久久久久最新毛片 | 亚洲一区二区综合| 亚洲精品精品亚洲| 亚洲高清免费视频| 亚洲制服丝袜在线| 日韩成人av影视| 开心九九激情九九欧美日韩精美视频电影 | 亚洲自拍偷拍九九九| 一区二区三区**美女毛片| 亚洲影院理伦片| 婷婷久久综合九色综合绿巨人| 日韩高清在线一区| 免费成人性网站| 国产一区二区美女诱惑| 粉嫩aⅴ一区二区三区四区 | 欧美日韩日本视频| 日韩欧美中文字幕一区| 国产亚洲福利社区一区| 日韩理论片在线| 亚洲成人免费视频| 看国产成人h片视频| 国产成人免费视频网站| 一本到三区不卡视频| 欧美精品在欧美一区二区少妇| 欧美一级片免费看| 欧美国产一区在线| 香港成人在线视频| 激情综合亚洲精品| 91猫先生在线| 日韩精品中午字幕| 国产精品久久夜| 午夜免费久久看| 国产风韵犹存在线视精品| 色999日韩国产欧美一区二区| 欧美一区二区三区白人| 欧美国产在线观看| 日韩成人精品视频| caoporn国产精品| 91精品在线观看入口| 欧美经典一区二区| 日韩福利电影在线| 99国产精品视频免费观看| 日韩一区二区三区免费观看| 国产色产综合色产在线视频| 亚洲一区二区欧美| 春色校园综合激情亚洲| 91精品国产麻豆国产自产在线 | 久久91精品久久久久久秒播| 91视频xxxx| 久久网站热最新地址| 亚洲国产日韩综合久久精品| 国产精品自拍在线| 欧美日韩亚洲丝袜制服| 欧美激情艳妇裸体舞| 麻豆国产一区二区| 欧美性高清videossexo| 国产精品美女一区二区三区| 久热成人在线视频| 欧美图区在线视频| 国产精品理伦片| 国模一区二区三区白浆| 欧美精品丝袜中出| 亚洲人成伊人成综合网小说| 狠狠色丁香婷婷综合久久片| 在线播放中文字幕一区| 一区二区三区色| 成人av电影观看| 久久新电视剧免费观看| 奇米综合一区二区三区精品视频| 色综合色综合色综合色综合色综合| 国产亚洲视频系列| 激情综合网最新| 日韩欧美在线网站| 午夜精品爽啪视频| 日本乱人伦一区| 综合av第一页| 99在线热播精品免费| 国产亚洲欧美中文| 国产精品一区二区三区四区| 日韩精品一区二区三区swag| 日韩—二三区免费观看av| 欧美日本在线视频| 亚洲成人免费在线| 欧美日韩国产高清一区| 一区二区久久久久久| 91蝌蚪porny| 久久久久久久久99精品| 国内成人自拍视频| 精品福利一二区| 精品一区二区三区免费播放| 在线播放日韩导航| 日韩精品一二区| 日韩一级大片在线| 开心九九激情九九欧美日韩精美视频电影 | a4yy欧美一区二区三区| 国产精品久久久久一区二区三区| 国产曰批免费观看久久久| 精品99久久久久久| 久久爱www久久做| xfplay精品久久| 国产精品资源在线| 国产日韩欧美精品电影三级在线| 国产成人在线视频免费播放| 欧美激情一区二区三区不卡| 99这里都是精品| 一区二区三区精品视频在线| 欧美日韩亚洲另类| 日本aⅴ精品一区二区三区 | 免费在线欧美视频| 日韩一级成人av| 国产米奇在线777精品观看| 久久久久久久精| 99麻豆久久久国产精品免费优播| 亚洲婷婷综合久久一本伊一区| 日本高清免费不卡视频| 日日嗨av一区二区三区四区| 日韩三级中文字幕| 国产成人在线看| 亚洲人午夜精品天堂一二香蕉| 欧美无乱码久久久免费午夜一区| 日韩avvvv在线播放| 久久久久久久国产精品影院| 波多野结衣在线aⅴ中文字幕不卡| 亚洲欧洲日产国码二区| 欧美日韩免费在线视频| 另类小说视频一区二区| 国产欧美一区二区三区在线看蜜臀 | 精品国产一区二区三区忘忧草| 国产精品一二一区| 亚洲欧美另类图片小说| 911精品产国品一二三产区| 国内久久婷婷综合| 亚洲欧美色综合| 欧美一区中文字幕| 成人自拍视频在线| 亚瑟在线精品视频| 精品粉嫩aⅴ一区二区三区四区| 成人精品免费看| 丝袜美腿一区二区三区| 久久精品亚洲麻豆av一区二区| 91免费看片在线观看| 全国精品久久少妇| 亚洲欧洲无码一区二区三区| 在线成人av网站| 成人高清伦理免费影院在线观看| 亚洲高清视频在线| 国产欧美一二三区| 777色狠狠一区二区三区| 国产福利视频一区二区三区| 亚洲电影欧美电影有声小说| 国产日韩欧美激情| 欧美精品乱码久久久久久按摩| 国产不卡免费视频| 日本成人在线电影网| 亚洲人精品一区| 国产性做久久久久久| 51精品国自产在线| 一本久久综合亚洲鲁鲁五月天| 精品亚洲porn| 亚洲1区2区3区视频| 中文字幕一区二区三区在线不卡| 欧美成人女星排名| 欧美日韩国产在线观看| www.视频一区| 国产一区二三区好的| 午夜私人影院久久久久| 亚洲欧美一区二区三区国产精品 | 极品美女销魂一区二区三区免费| 亚洲综合精品久久| 国产精品私房写真福利视频| 日韩免费成人网| 欧美片网站yy| 在线亚洲免费视频| 成人黄色小视频| 国产精品一区二区免费不卡 | 精品制服美女久久| 欧美日韩国产影片| 亚洲影视在线播放| 欧美日韩视频在线观看一区二区三区 | 欧美xxxxxxxxx| 精品视频1区2区| 欧美三级资源在线| 欧美系列日韩一区| 欧美色倩网站大全免费| 欧美日韩国产一区二区三区地区| 欧美日韩精品福利| 欧美一级夜夜爽| 精品成a人在线观看| 久久久久久久久蜜桃| 国产亚洲精品aa午夜观看| 国产精品毛片久久久久久| 成人免费一区二区三区视频 | 91日韩精品一区| 91极品视觉盛宴| 精品视频1区2区3区|