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

📄 stposdfn.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 2 页
字号:
void vShowMark(void) large
{
      vCleanMark();
      vSetMsgCol4(WB_SETUP_ITEM, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BLACK, ENTRY_COL_WHITE);
      if (_bMinShowDat != 0)
      {
        vSetupEntryShowXY(SETUP_ITEM_W-42/*_wStartX*/, 34 /*4*/, OSD_MSG_MARK_UP, WB_SETUP_ITEM); //[runma] 4 -> 34
      }
      if (_bMinShowDat + bLength < bTotal)
      {
        vSetupEntryShowXY(SETUP_ITEM_W-42 /*_wStartX*/, 266, OSD_MSG_MARK_DOWN, WB_SETUP_ITEM);
      }
}
#endif
#if 1
void vCleanMark(void) large
{
      _wStartX = SETUP_ITEM_W - 42;
      _wEndX = _wStartX+40;
      _wStartY = 34; //[runma] 5; -> 34
      _wEndY = 66; //[runma] 30; -> 66
      vRectangle(WB_SETUP_ITEM, 0, 0, 1, ENTRY_COL_BG);
      _wStartY = 266;
      _wEndY = 266+32;
      vRectangle(WB_SETUP_ITEM, 0, 0, 1, ENTRY_COL_BG);
}

#endif /* SHOW_MARK */

#ifdef USE_TYPE_2
// *********************************************************************
// Function : void vDrawSetupBorder(void)
// Description :
// Parameter : fgClear : TRUE - clear border
//                       FALSE - draw border
// Return    : None
// *********************************************************************
void vDrawSetupBorder(BOOL fgClear) large
{
  // Horizontal Line
//  vOsdShowLineXY(WB_SETUP_HEAD, (fgClear) ? 0 : ENTRY_COL_BLACK, 2, 0, (SETUP_HEAD_H - 2), SETUP_HEAD_W, (SETUP_HEAD_H - 2));
  vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ITEM_BORDER_COLOR, 2, 0, 0, SETUP_ITEM_W, 0);
  vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : MSG_BORDER_COLOR, 2, 0, (SETUP_MSG_H - 2), SETUP_MSG_W, (SETUP_MSG_H - 2));
  vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 2, 0, (SETUP_MSG_H - 4), SETUP_MSG_W, (SETUP_MSG_H - 4));

  // Vertical Line
  vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, 0, 0, 0, SETUP_ITEM_H - 1);
  vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ITEM_BORDER_COLOR, 3, 2, 0, 2, SETUP_ITEM_H - 1);
  vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, 0, 0, 0, SETUP_MSG_H - 1);
  vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : MSG_BORDER_COLOR, 3, 2, 0, 2, SETUP_MSG_H - 1);
  vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ITEM_BORDER_COLOR, 3, (SETUP_ITEM_W - 3), 0, (SETUP_ITEM_W - 3), SETUP_ITEM_H - 1);
  vOsdShowLineXY(WB_SETUP_ITEM, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, (SETUP_ITEM_W - 6), 0, (SETUP_ITEM_W - 6), SETUP_ITEM_H - 1);
  vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : MSG_BORDER_COLOR, 3, (SETUP_MSG_W - 3), 0, (SETUP_MSG_W - 3), SETUP_MSG_H - 1);
  //vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, (SETUP_MSG_W - 6), 0, (SETUP_MSG_W - 6), SETUP_MSG_H - 1);
  vOsdShowLineXY(WB_SETUP_MSG, (fgClear) ? 0 : ENTRY_COL_BLACK, 3, (SETUP_MSG_W - 6), 0, (SETUP_MSG_W - 6), SETUP_MSG_H - 4);
}

#endif

#if 0
// *********************************************************************
// Function : void vClearHeadRng(void)
// Description : clear setup header white board, except the border parts
// Parameter : None
// Return    : None
// *********************************************************************
void vClearHeadRng(void) large
{
  vOsdClearPosXY(0, 0, WB_SETUP_HEAD, SETUP_HEAD_W, (SETUP_HEAD_H - 4));
//  vOsdClearPosXY(0, 0, WB_SETUP_HEAD, SETUP_HEAD_W, (SETUP_HEAD_H));
}
#endif

// *********************************************************************
// Function : void vClearItemRng(void)
// Description : clear setup item white board, except the border parts
// Parameter : None
// Return    : None
// *********************************************************************
void vClearItemRng(void) large
{
//  vOsdClearPosXY(8, 2, WB_SETUP_ITEM, (SETUP_ITEM_W), (SETUP_ITEM_H )); //[runma] del line
  //vOsdClearPosXY(8, 2, WB_SETUP_ITEM, (SETUP_ITEM_W - 16), (SETUP_ITEM_H - 3));
  vOsdClearPosXY(0, 0, WB_SETUP_ITEM, (SETUP_ITEM_W), (SETUP_ITEM_H)); //[runma] add line.
}

// *********************************************************************
// Function : void vClearMsgRng(void)
// Description : clear setup message white board, except the border parts
// Parameter : None
// Return    : None
// *********************************************************************
void vClearMsgRng(void) large
{
  vOsdClearPosXY(17 /*8*/, 0, WB_SETUP_MSG, (SETUP_MSG_W - 34 /*16*/), (SETUP_MSG_H - 6));
}

// *********************************************************************
// Function : void vShowSetupMsg(WORD wMsgIdx)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vShowSetupMsg(WORD wMsgIdx) large
{
  vSetMsgCol4(WB_SETUP_MSG, 0,0,1,3); //ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_WHITE);
  vClearMsgRng(); //vClearWB(WB_SETUP_MSG);
  vSetupEntryShowXY(MSG_X, MSG_Y, wMsgIdx, WB_SETUP_MSG);
}

// *********************************************************************
// Function : void vShowSetupMsgArg(WORD wMsgIdx, BYTE *pbStr)
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
void vShowSetupMsgArg(WORD wMsgIdx, BYTE *pbStr) large
{
  BYTE i;
  WORD wTmp = MSG_Y;

  vSetMsgCol4(WB_SETUP_MSG, 0,0,1,3); //ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_BG, ENTRY_COL_WHITE);
  vClearMsgRng(); //vClearWB(WB_SETUP_MSG);

  vWaitBusy();
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
//  vWriteNextSharedItem(CODE_PAGE_ASC2);
  vWriteNextSharedItem(CODE_PAGE_ASC);
  vWriteNextSharedItem(WB_SETUP_MSG);
  vWriteNextSharedItem(MSG_X);
  vWriteNextSharedItem(0);
  vWriteNextSharedItem(bLoByte(wTmp));
  vWriteNextSharedItem(bHiByte(wTmp));
  vWriteNextSharedItem(bLoByte(wMsgIdx));
  vWriteNextSharedItem(bHiByte(wMsgIdx));
  if (pbStr[0])
  {
    for(i=0; i<pbStr[0]; i++)
    {
      vWriteNextSharedItem(pbStr[i+1]);
    }
  }
  vSendOsdCmd();
}

#ifdef SETUP_ENABLE_TEST_TONE
// *********************************************************************
// Function : 
// Description :
// Parameter : None
// Return    : None
// *********************************************************************
#ifdef SUPPORT_DDEX
#define SPK_MSG_NS      7
static code WORD pwSpkMsg[SPK_MSG_NS] = 
{
  OSD_MSG_TT_LEFT,
  OSD_MSG_TT_CENTER,
  OSD_MSG_TT_RIGHT,
  OSD_MSG_TT_RIGHTSURROUND,
  OSD_MSG_TT_LEFTSURROUND,
  OSD_MSG_TT_BSLBSURROUND,
  OSD_MSG_TT_RBSURROUND
};
#else
#ifdef SUBWOOFER_TEST_TONE
#define SPK_MSG_NS      PN_SPK_NS
#else
#define SPK_MSG_NS      (PN_SPK_NS - 1)
#endif
static code WORD pwSpkMsg[SPK_MSG_NS] = 
{
  OSD_MSG_TT_LEFT,
  OSD_MSG_TT_CENTER,
  OSD_MSG_TT_RIGHT,
  OSD_MSG_TT_RIGHTSURROUND,
  OSD_MSG_TT_LEFTSURROUND
#ifdef SUBWOOFER_TEST_TONE
  ,OSD_MSG_SUBWOOFER
#endif
};
#endif

/* 
  modify the OSD show by Bright_liu 2005/12/20,
  When enable SUBWOOFER_TEST_TONE, the test tone no subwoofer show.
*/
void vShowTestToneSpk(BYTE bSpk) large
{
  if (bSpk >= SPK_MSG_NS)
  {
    return;
  }
  
  vShowSetupMsg(pwSpkMsg[bSpk]);
}
#endif /* SETUP_ENABLE_TEST_TONE */

#if 0
void vGrpButtonCreate(BYTE bRCode, BYTE bWBIdx, BYTE bBtnId, BYTE bGroup, BYTE bBorPix, WORD wMsg, WORD wXOfst, char cYOfst) large
{
  vWaitBusy();

  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_GRP_BTN_CREATE);
  vWriteNextSharedItem(bRCode);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bBtnId);
  vWriteNextSharedItem(bGroup);
  vWriteNextSharedItem(bBorPix);
  vSendStartEndXY();
  vWriteNextSharedItem(bLoByte(wMsg));
  vWriteNextSharedItem(bHiByte(wMsg));

  vWriteNextSharedItem(bLoByte(wXOfst));
  vWriteNextSharedItem(bHiByte(wXOfst));
  vWriteNextSharedItem(cYOfst);
  vSendOsdCmd();
}

void vGrpButtonActivate(BYTE bWBIdx, BYTE bBtnId, BYTE bStyle) large
{
  vWaitBusy();

  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_ACTIVATE);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bBtnId);
  vWriteNextSharedItem(bStyle);
  vSendOsdCmd();
}

void vGrpButtonDeactivate(BYTE bWBIdx, BYTE bBtnId, BYTE bStyle) large
{
  vWaitBusy();

  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_DEACTIVATE);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bBtnId);
  vWriteNextSharedItem(bStyle);
  vSendOsdCmd();
}
#if 0
void vGrpButtonHilight(BYTE bWBIdx, BYTE bBtnId) large
{
  vWaitBusy();

  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_HILIGHT);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bBtnId);
  vSendOsdCmd();
}
#endif
void vGrpButtonDeleteGrp(BYTE bWBIdx, BYTE bGroup) large
{
  vWaitBusy();

  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_MSG_GRP_BTN_DELETE_GRP);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bGroup);
  vSendOsdCmd();
}
#endif

void vPasteMsgStr(BYTE bWBIdx, WORD wMsg, BYTE *pbStr) large
{
  BYTE  i;

  vWaitBusy();
  //vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG_R);
  //vWriteNextSharedItem(CODE_PAGE_ICON);
  vBeginWriteSharedGrp(SI_OSD_CMD_PRM_GRP, OSD_CMD_PASTE_MSG);
  vWriteNextSharedItem(bWBIdx);
  vWriteNextSharedItem(bLoByte(_wStartX));
  vWriteNextSharedItem(bHiByte(_wStartX));
  vWriteNextSharedItem(bLoByte(_wStartY));
  vWriteNextSharedItem(bHiByte(_wStartY));
  vWriteNextSharedItem(bLoByte(wMsg));
  vWriteNextSharedItem(bHiByte(wMsg));
  if (pbStr[0])
  {
    for(i=0; i<pbStr[0]; i++)
    {
      vWriteNextSharedItem(pbStr[i+1]);
    }
  }
  vSendOsdCmd();
}

⌨️ 快捷键说明

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