📄 flctrl.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 04/08/27 9:39a $ ****************/
/*************** $Revision:: 1 $ ****************/
/*************** ****************/
/*************** Description : File Menu ****************/
/*************** Info Panel Component ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Jacob Lin ****************/
/**********************************************************************/
#define __FSLIST_CTRL_C_
#include "flspec.h"
#include "flcomm.h"
#include "flctrl.h"
#pragma NOAREGS
#ifdef PLAYER_FLMENU
#ifdef SHOW_FS_SLIDER
void vDrawSlider(WORD wCurrNo, WORD wTotalNs) large
{
WORD wOffset;
WORD wBtnLen;
#ifndef FL_USE_LOGO
_wStartX = FS_SLIDER_X;
_wEndX = FS_SLIDER_X + FS_SLIDER_W;
_wStartY = FS_SLIDER_Y;
_wEndY = FS_SLIDER_Y + (WORD) FS_SLIDER_H;
vSetBtnCol(FL_MENU_WB, FLCOLOR_GREENBLUE, FLCOLOR_BLACK, FLCOLOR_WHITE, FLCOLOR_BLACK);
vCreateButton(FL_MENU_WB, FS_SLIDER_BTN, 2);
vUnselButton(FL_MENU_WB, FS_SLIDER_BTN);
#endif
vMoveSlider(wCurrNo, wTotalNs, TRUE);
}
#endif
#ifdef SHOW_FS_SLIDER
void vMoveSlider(WORD wCurr, WORD wTotal, BOOL fgShow) large
{
WORD wOffset, wBtnLen;
DWRD dwTmp;
if (wTotal == 1)
{
wBtnLen = FS_SLIDER_H;
wOffset = 0;
}
else
{
wBtnLen = FS_SLIDER_H / (wTotal - 1);
if (wBtnLen < 6)
wBtnLen = 6;
dwTmp = ((DWRD) wCurr) * (FS_SLIDER_H - wBtnLen - 2) / (wTotal - 1);
wOffset = wLoWord(dwTmp);
}
if (wCurr != 0)
{
if (wCurr == wTotal - 1)
wOffset = FS_SLIDER_H - wBtnLen - 2;
else if (wBtnLen > 6) // if (wTotal < FS_SLIDER_H - wBtnLen)
{
wOffset += ((FS_SLIDER_H - wBtnLen) - (FS_SLIDER_H - wBtnLen) / (wTotal) * (wTotal)) * wCurr / (wTotal);
}
}
_wStartX = FS_SLIDER_X;
_wEndX = FS_SLIDER_X + FS_SLIDER_W;
_wStartY = (WORD) FS_SLIDER_Y + wOffset;
_wEndY = (WORD) FS_SLIDER_Y + wOffset + wBtnLen;
if (fgShow)
{
vSetBtnCol(FL_MENU_WB, FLCOLOR_YELLOW, FLCOLOR_BLACK, FLCOLOR_YELLOW, FLCOLOR_BLACK);
vCreateButton(FL_MENU_WB, FS_SLIDER_BTN+1, 2);
vSelButton(FL_MENU_WB, FS_SLIDER_BTN+1);
}
else
{
#ifdef FL_USE_LOGO
//vRectangle(FL_MENU_WB, 0, 0, 1, FLCOLOR_WHITE);
_wEndX += 4;
vRectangle(FL_MENU_WB, 0, 0, 1, 0);
#else
vRectangle(FL_MENU_WB, 0, 0, 1, FLCOLOR_BLACK);
#endif
//_wEndX = _wStartX = FS_SLIDER_X + FS_SLIDER_W - 1;
// if (_wStartY > 2)
// _wStartY -= 2;
//vOsdShowLine(FL_MENU_WB, FLCOLOR_WHITE, 2);
}
}
#endif /* #ifdef SHOW_FS_SLIDER */
#ifndef FL_USE_LOGO
void vDrawSpin(void) large
{
_wStartX = FS_SLIDER_X;
_wStartY = FS_SLIDER_Y + FS_SLIDER_H;
vSetMsgCol4(FL_MENU_WB, FLCOLOR_BLACK, FLCOLOR_BLACK, FLCOLOR_GRAY, FLCOLOR_GRAY);
vOsdMsgPaste(FL_MENU_WB, OSD_MSG_FSUPDOWN1);
}
void vMoveSpin(BOOL fgUp) large
{
_wStartX = FS_SLIDER_X;
_wEndX = FS_SLIDER_X + FS_SLIDER_W;
_wStartY = FS_SLIDER_Y + (WORD) FS_SLIDER_H;
_wEndY = _wStartY + FS_SPIN_H;
if (fgUp)
{
vSetMsgCol4(FL_MENU_WB, FLCOLOR_BLACK, FLCOLOR_BLACK, FLCOLOR_GRAY, FLCOLOR_YELLOW);
}
else
{
vSetMsgCol4(FL_MENU_WB, FLCOLOR_BLACK, FLCOLOR_BLACK, FLCOLOR_YELLOW, FLCOLOR_GRAY);
}
vOsdMsgPaste(FL_MENU_WB, OSD_MSG_FSUPDOWN1);
}
#else
void vMoveSpin(BOOL fgUp) large
{
return;
}
#endif
#define PROGRESS_BAR 20
void vDrawProgress(BYTE bCurr, BYTE bTotal) large
{
BYTE bPos, i;
WORD wGap, wStartX, wStartY;
//vRectangle(FSMENU_INFO, 0, 0, 1, FLCOLOR_GRAY);
wGap = (_wEndX - _wStartX) / (PROGRESS_BAR);
// _wStartY += 4;
// _wEndY -= 4;
//_wStartY += 2;
wStartY = _wStartY + 2;
_wEndY -= 2;
wStartX = _wStartX;
for (i=1; i<=PROGRESS_BAR; i++)
{
_wEndX = _wStartX = wStartX + wGap * (i-1) + 3;
_wStartY = wStartY + (20 - i - 1);
if (i <= bCurr)
vOsdShowLine(FSMENU_INFO, FLCOLOR_YELLOW, 2);
/*
if (i < bCurr)
vOsdShowLine(FSMENU_INFO, FLCOLOR_BLACK, 2);
else
vOsdShowLine(FSMENU_INFO, FLCOLOR_YELLOW, 2);
*/
}
}
void vMoveProgress(BYTE bCurr, BYTE bTotal, BOOL fgShow) large
{
WORD wGap, wStartX;
if ((bCurr > bTotal) || (bCurr == 0))
return;
wGap = (_wEndX - _wStartX) / (PROGRESS_BAR);
_wStartY += (2 + 20 - bCurr - 1);
_wEndY -= 2;
_wEndX = _wStartX = _wStartX + wGap * (bCurr-1) + 3;
if (fgShow == TRUE)
{
vOsdShowLine(FSMENU_INFO, FLCOLOR_YELLOW, 2);
}
else
{
//vOsdShowLine(FSMENU_INFO, FLCOLOR_BLACK, 2);
vOsdShowLine(FSMENU_INFO, FLCOLOR_GREENBLUE, 2);
}
}
#if 0
void vDrawScrollingScriptMsg(WORD wMsg, WORD wShift) large
{
}
#endif
#if 0 // - JACOB: unused now
void vDrawScrollingStr(BYTE *pbStr, WORD wShift) large
{
BYTE bIdx, i;
BYTE pbStr2[10];
WORD wStartX, wStartY;
bIdx = (BYTE) (wShift / 20);
if (bIdx > pbStr[0])
return;
vRectangle(FL_MENU_WB, 0, 0, 1, 0);
wStartX = _wStartX;
wStartY = _wStartY;
vSetMsgCol4(FL_MENU_WB, 0, 0, 0, 2);
// 1st
pbStr2[0] = 1;
pbStr2[1] = pbStr[bIdx+1];
_wStartX = wStartX + 20 - (wShift % 20);
_wStartY = wStartY;
vOsdShowStr(FL_MENU_WB, pbStr2);
// mask
_wStartX = wStartX;
_wStartY = wStartY;
_wEndX = _wStartX + 20;
_wEndY = _wStartY + 32;
vRectangle(FL_MENU_WB, 0, 0, 1, 0);
// other
pbStr2[0] = pbStr[0] - bIdx - 1;
for (i=1; i <= pbStr2[0]; i++)
{
pbStr2[i] = pbStr[bIdx+i+1];
}
_wStartX = wStartX + 40 - (wShift % 20);
_wStartY = wStartY;
vOsdShowStr(FL_MENU_WB, pbStr2);
}
#endif //0
#if 0
static code WORD pwComboBoxMsg[] =
{
OSD_MSG_OPEN,
OSD_MSG_CLOSE,
OSD_MSG_PLAY
};
void vDrawComboBox(BYTE bWB) large
{
WORD wStartX, wEndX, wStartY, wEndY;
if ((_wEndX - _wStartX) < 32 * 3)
return;
if ((_wEndY - _wStartY) < (2+2+32+2+2))
return;
wStartX = _wStartX;
wEndX = _wEndX;
wStartY = _wStartY;
wEndY = _wEndY;
vRectangle(bWB, 0, 0, 1, 0);
}
void vMoveComboBox() large
{
}
#endif
#if 0
void vDrawDigitalClock(BYTE bMin, BYTE bSec) large
{
}
#endif
#endif // #ifdef PLAYER_FLMENU
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -