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

📄 stposdfn.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 07/04/09 11:49a   $       ****************/
/***************  $Revision:: 2                $       ****************/
/***************                                       ****************/
/***************   Description : Setup OSD             ****************/
/***************                 relative routine      ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Peter Huang           ****************/
/**********************************************************************/

#include "general.h"
#ifdef SIMPLE_MENU
#include "stpmenu1.h"
#else
#include "stpmenu.h"
#endif
/*
#ifdef SIMPLE_MENU
#include "menu1.h"
#else
#include "menu.h"
#endif
*/
#include "stposdfn.h"

#pragma NOAREGS
//#define USE_COMMON_CTRL

extern xdata BYTE _bMinShowData;

#if 0
#ifndef SIMPLE_MENU

// *********************************************************************
// Function : void vShowSlide(BYTE bWBIdx) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
#ifdef USE_COMMON_CTRL
void vShowSlide(BYTE bWBIdx) large
{
}
#else
void vShowSlide(BYTE bWBIdx) large
{
#if 0
  _wEndX = _wStartX + 32;
  _wStartY -= 10;
  _wEndY += 10;
  vRectangle(bWBIdx, 0, 0, 1, ENTRY_COL_BTN_BG);
#endif
}
#endif

// *********************************************************************
// Function : void vShowSlideSel(BYTE bWBIdx) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
#ifdef USE_COMMON_CTRL
void vShowSlideSel(BYTE bWBIdx) large
{
  WORD wValue;
  BYTE bPrevValue, bCurValue;

  if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == ENTRY_TYPE_V_SLIDER)
  {
    wValue = (WORD)(bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - _bDataPrev)*100/(WORD)bOptMaxEntryNum(_rMenu, _bMenu, _bEntry);
  }
  else //if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == ENTRY_TYPE_V_SLIDER_SIGNED)
  {
    wValue = (WORD)((char)bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - (char)_bDataPrev)*100/((WORD)bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) * 2);
  }

  if (_bDataPrev == 0xff)
    bPrevValue = 0xff;
  else 
    bPrevValue = (BYTE)wValue;

  if (//(_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == TYPE_SCR) ||
      (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == ENTRY_TYPE_V_SLIDER))
//      (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == TYPE_VOL))
  {
    wValue = (WORD)(bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - _bDataCur)*100/(WORD)bOptMaxEntryNum(_rMenu, _bMenu, _bEntry);
  }
  else //if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == ENTRY_TYPE_V_SLIDER_SIGNED)
  {
    wValue = (WORD)(bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - (char)_bDataCur)*100/((WORD)bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) * 2);
  }

  bCurValue = (BYTE)wValue;
  
  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_SLIDER_SHOW);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bPrevValue);
  vWriteNextSharedItem(bCurValue);
/*
  if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == TYPE_VOL)
  {
    vWriteNextSharedItem(11);
  }
  else
*/
  {
    vWriteNextSharedItem(2);
  }

  vWriteNextSharedItem(bLoByte(_wStartX));
  vWriteNextSharedItem(bHiByte(_wStartX));
  vWriteNextSharedItem(bLoByte(_wStartY));
  vWriteNextSharedItem(bHiByte(_wStartY));
  vWriteNextSharedItem(bLoByte(_wEndX));
  vWriteNextSharedItem(bHiByte(_wEndX));
  vWriteNextSharedItem(bLoByte(_wEndY));
  vWriteNextSharedItem(bHiByte(_wEndY));
  vSendOsdCmd();
}
#else
void vShowSlideSel(BYTE bWBIdx) large
{
#if 0
  WORD wH;
  WORD wStartX, wStartY, wEndX, wEndY;
  wStartX = _wStartX;
  wStartY = _wStartY;
  wEndX = _wEndX;
  wEndY = _wEndY;

  //if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == TYPE_SCR)
  if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == ENTRY_TYPE_V_SLIDER)
  {
    if (_bDataPrev != 0xFF)
    {
      wH = ((bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - _bDataPrev) << 3) - 4;
    }
  }
  else
  {
    wH = ((bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - (char)_bDataPrev) << 2) - 4;
  }

  _wStartX = wStartX + 4;
  _wStartY = wStartY + wH;
  _wEndX = wStartX + 28;
  _wEndY = _wStartY;
  vOsdShowLine(bWBIdx, ENTRY_COL_BTN_BG, 9);

  //_wStartX = wStartX + 16;
  _wStartX = wStartX + 15;
  _wEndX = _wStartX;
  _wStartY = wStartY;
  _wEndY = wEndY;
  vOsdShowLine(bWBIdx, ENTRY_COL_WHITE, 1);

  //_wStartX = wStartX + 17;
  _wStartX = wStartX + 16;
  _wEndX = _wStartX;
  _wStartY = wStartY;
  _wEndY = wEndY;
  vOsdShowLine(bWBIdx, ENTRY_COL_BLACK, 1);

  //if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == TYPE_SCR)
  if (_rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wType == ENTRY_TYPE_V_SLIDER)
  {
    wH = ((bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - _bDataCur) << 3) - 4;
  }
  else
  {
    wH = ((bOptMaxEntryNum(_rMenu, _bMenu, _bEntry) - (char)_bDataCur) << 2) - 4;
  }

  //_wStartX = wStartX + 4;
  //_wEndX = wStartX + 28;
  _wStartX = wStartX + 3;
  _wEndX = wStartX + 27;
  _wStartY = wStartY + wH;
  _wEndY = _wStartY;
  vOsdShowLine(bWBIdx, ENTRY_COL_BTN_BG, 9);

  _wStartX += 1;
  _wEndX -= 1;
  _wStartY += 1;
  _wEndY = _wStartY+6;
  vSetBtnCol(WB_SETUP_ITEM, 0, 0, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
  vCreateButton(bWBIdx, 9, 2);
  vUnselButton(bWBIdx, 9);
#endif  
}
#endif  // #ifdef USE_COMMON_CTRL
#endif  // #ifndef SIMPLE_MENU
#endif

#if 0
// *********************************************************************
// Function : static void vSetupEntryHide(BYTE bMsgIndex, BYTE bWBIdx) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vSetupEntryHide(WORD wMsgIndex, BYTE bWBIdx) large
{
  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_CLEAR_MSG);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bLoByte(_wStartX));
  vWriteNextSharedItem(bHiByte(_wStartX));
  vWriteNextSharedItem(bLoByte(_wStartY));
  vWriteNextSharedItem(bHiByte(_wStartY));
  vWriteNextSharedItem(bLoByte(wMsgIndex));
  vWriteNextSharedItem(bHiByte(wMsgIndex));
  vWriteNextSharedItem(OSD_NO_DISAPPEAR);
  vSendOsdCmd();
}
#endif

// *********************************************************************
// Function : static void vSetupEntryShow(BYTE bMsgIndex, BYTE bWBIdx) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vSetupEntryShow(WORD wMsgIndex, BYTE bWBIdx) large
{
  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
//  vWriteNextSharedItem(CODE_PAGE_ASC2);
  vWriteNextSharedItem(CODE_PAGE_ASC);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bLoByte(_wStartX));
  vWriteNextSharedItem(bHiByte(_wStartX));
  vWriteNextSharedItem(bLoByte(_wStartY));
  vWriteNextSharedItem(bHiByte(_wStartY));
  vWriteNextSharedItem(bLoByte(wMsgIndex));
  vWriteNextSharedItem(bHiByte(wMsgIndex));
  vSendOsdCmd();
}

#if (!defined(PLAYER_FLMENU) && defined(SUPPORT_DATA_DISC))
  #ifdef DDISC_FTYPE_JPEG_SUPPORT
  extern void vFsMenuChangeLang(BYTE bLangIdx) large;
  #endif
#endif

// *********************************************************************
// Function : void vChangeLang(void) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
BYTE bChangeLang(WORD wEEPos, BYTE bValue) large
{
  if (_fgNotify)
  {
    _bPrevMenu = 0xFF;
    _bPrevItem = 0xFF;
    vOsdSetLang(bEepromReadByte(OSD_LANG_POSITION));
#if (!defined(PLAYER_FLMENU) && defined(SUPPORT_DATA_DISC))  
  #ifdef DDISC_FTYPE_JPEG_SUPPORT
      vFsMenuChangeLang(bEepromReadByte(OSD_LANG_POSITION));
  #endif
#endif

#ifdef PLAYER_FLMENU
      if (fgIsIsoPlay())
      {
        vFlChgLang(bEepromReadByte(OSD_LANG_POSITION));
      }
#endif

    return (ENTRY_FUN_REDRAW);
  }
  
  return (ENTRY_FUN_OK);
}

// *********************************************************************
// Function : void vShowMark(void) large
// Description :
// Parameter :
// Return    : None
// *********************************************************************
#if 0 //def SHOW_MARK

⌨️ 快捷键说明

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