📄 mediaplayeroutlook.c
字号:
case HIGHLIGHT_UNFOCUS:
GUI_CreateLeftMidRightBitmap2(gMPOdc, &rectTmp, IM_MPLR_SELECT_BOX_LEFT, IM_MPLR_SELECT_BOX_MIDDLE, IM_MPLR_SELECT_BOX_RIGHT, TRUE);
LoadText(RS_MPLAYER_PHOTO, strTitle, BUF_MAX);
rectTmp.top+=20;
GUI_CreateButtonControl(gMPOdc, &rectTmp, CL_BKNOCARE, CL_BKNOCARE, CL_BKNOCARE, clYellow, strTitle, UNICODE_STRING, DT_CENTER,0);
rectTmp.top-=20;
break;
case HIGHLIGHT_GRAY:
case HIGHLIGHT_NORMAL:
default:
LoadText(RS_MPLAYER_PHOTO, strTitle, BUF_MAX);
rectTmp.top+=20;
GUI_CreateButtonControl(gMPOdc, &rectTmp, CL_BKNOCARE, CL_BKNOCARE, CL_BKNOCARE, clWrite, strTitle, UNICODE_STRING, DT_CENTER,0);
rectTmp.top-=20;
break;
}
break;
}
}
/********************************************************************/
// Media Type Selection Tabs
void DrawMediaTypeTabs()
{
int i=0;
for(i=0; i<GetMediaTypeTabCount(); i++)
{
if(i==MPO_Attr.iPlayerSelected)
DrawMediaTypeSelection(i, HIGHLIGHT_UNFOCUS);
else
DrawMediaTypeSelection(i, HIGHLIGHT_NORMAL);
}
}
/********************************************************************/
// List, Program, Preview
void DrawListProgramPreview(tHighlightPos iHighlightPos, tHighlightType iHightlight)
{
RECT rectListIcon={LISTICON_LEFT, LISTICON_TOP, LISTICON_LEFT+LISTICON_WIDTH, LISTICON_TOP+LISTICON_HEIGHT};
RECT rectList={LIST_LEFT, LIST_TOP, LIST_RIGHT, LIST_BOTTOM};
COLORREF clListIcon;
COLORREF clList;
COLORREF clListText;
char strList[BUF_MAX];
//List
clListIcon=CL_BKNOCARE;
clList=CL_BKNOCARE;
clListText=GetColorInDef256Palette(LISTTEXT_CLR_INDEX);
switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
{
case MPLR_CD:
case MPLR_MUSIC:
case MPLR_PHOTO:
LoadText(RS_MPLAYER_USE_LIST, strList, BUF_MAX);
GUI_CreateBitmapControl(gMPOdc, &rectListIcon, clListIcon, clListIcon, clListIcon, IM_MPLR_LIST, 0, 0);
GUI_CreateButtonControl(gMPOdc, &rectList, clList, clList, clList, clListText, strList, UNICODE_STRING, DT_LEFT,0);
break;
}
}
/********************************************************************/
// List File Sign
char PLAYING_ICON_L[4]={0xe0, 0x53,0x00,0x00};
void DrawListItemSign(WORD iItemIndex, BOOL bIsPlaying, tHighlightType iHighlight)
{
COLORREF clItemSign;
COLORREF clItemSignText;
RECT rectTmp;
clItemSign=CL_TRANSPARENT;
clItemSignText=GetColorInDef256Palette(SIGNTEXT_CLR_INDEX);
switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
{
case MPLR_CD:
case MPLR_MUSIC:
rectTmp.left=LISTSIGN_LEFT;
rectTmp.right=LISTSIGN_LEFT+LISTSIGN_WIDTH;
rectTmp.top=LISTSIGN_TOP+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
rectTmp.bottom=LISTSIGN_TOP+LISTSIGN_HEIGHT+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
if(bIsPlaying)
GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, PLAYING_ICON_L, UNICODE_STRING, DT_LEFT, 0);
else
GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);
break;
//case MPLR_PHOTO:
//GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);
//break;
}
}
char PROGRAMMED_ICON_R[4]={0xe0, 0x66,0x00,0x00};
void DrawListItemProg(WORD iItemIndex, BOOL bIsProgrammed, tHighlightType iHighlight)
{
COLORREF clItemSign;
COLORREF clItemSignText;
RECT rectTmp;
clItemSign=CL_TRANSPARENT;
clItemSignText=GetColorInDef256Palette(SIGNTEXT_CLR_INDEX);
switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
{
case MPLR_CD:
case MPLR_MUSIC:
rectTmp.left=LISTITEM_LEFT+FILEITEM_WIDTH+8;
rectTmp.right=CANVAS_RIGHT;
rectTmp.top=LISTSIGN_TOP+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
rectTmp.bottom=LISTSIGN_TOP+LISTSIGN_HEIGHT+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
if(bIsProgrammed)
GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, PROGRAMMED_ICON_R, UNICODE_STRING, DT_LEFT, 0);
else
GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);
break;
//case MPLR_PHOTO:
//GUI_CreateButtonControl(gMPOdc, &rectTmp, clItemSign, clItemSign, clItemSign, clItemSignText, "", NORMAL_STRING, DT_LEFT, 0);
//break;
}
}
char FOLDER_ICON[4]={0xe0, 0x50,0x00,0x00};
char FOLDERUP_ICON[4]={0xe0, 0x51,0x00,0x00};
char MUSIC_ICON[4]={0xe0, 0x52,0x00,0x00};
char PHOTO_ICON[4]={0xe0, 0x54,0x00,0x00};
void DrawListItemText(WORD iItemIndex, BYTE *szItemText, BYTE bDIR, tHighlightType iHighlight)
{
RECT rectDirIcon,rectIcon,rectTmp;
COLORREF clItem, clItemFocus;
COLORREF clItemText,clItemTextFocus;
RECT rect;
HBITMAP hOldBmp;
clItemFocus=GetColorInDef256Palette(FILEITEMFOCUS_CLR_INDEX);
clItem=GetColorInDef256Palette(FILEITEM_CLR_INDEX);
clItemText=GetColorInDef256Palette(FILEITEMTEXT_CLR_INDEX);
clItemTextFocus=GetColorInDef256Palette(FILEITEMTEXTFOCUS_CLR_INDEX);
rectTmp.left=LISTITEM_LEFT;
rectTmp.right=LISTITEM_LEFT+FILEITEM_WIDTH;
rectTmp.top=LISTITEM_TOP+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
rectTmp.bottom=LISTITEM_TOP+FILEITEM_HEIGHT+(FILEITEM_SEP_SPACE+FILEITEM_HEIGHT)*(iItemIndex%CONTENT_MAX_ITEM_COUNT);
rect.left=rectTmp.left;
rect.top=rectTmp.top;
rect.right=rectTmp.right;
rect.bottom=rectTmp.bottom;
if(strlen(szItemText)==0)
{
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItem,"", NORMAL_STRING, DT_LEFT, L_TEXT_TO_RECT);
}
else
{
if (bDIR==C_DIR)
{
rectDirIcon.left=rectTmp.left;
rectDirIcon.right=( rectTmp.left+(L_ICON_TO_RECT+DIRICON_WIDTH)) | RECTBORDER_NORIGHT;
rectDirIcon.top=rectTmp.top;
rectDirIcon.bottom=rectTmp.bottom;
switch(iHighlight)
{
case HIGHLIGHT_FOCUS:
if(strcmp(szItemText, "..")==0)
GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, FOLDERUP_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
else
GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, FOLDER_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, szItemText, NORMAL_STRING, DT_LEFT, L_TEXT_TO_RECT);
rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
break;
case HIGHLIGHT_NORMAL:
case HIGHLIGHT_GRAY:
default:
if(strcmp(szItemText, "..")==0)
GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItem, clItem, clItem, clItemText, FOLDERUP_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
else
GUI_CreateButtonControl2(gMPOdc, &rectDirIcon, clItem, clItem, clItem, clItemText, FOLDER_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItemText, szItemText, NORMAL_STRING, DT_LEFT, L_TEXT_TO_RECT);
rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
break;
}
}
else
{
rectIcon.left=rectTmp.left;
rectIcon.right=( rectTmp.left+(L_ICON_TO_RECT+DIRICON_WIDTH) ) | RECTBORDER_NORIGHT;
rectIcon.top=rectTmp.top;
rectIcon.bottom=rectTmp.bottom;
switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
{
case MPLR_CD:
case MPLR_MUSIC:
switch(iHighlight)
{
case HIGHLIGHT_FOCUS:
GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, MUSIC_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT); // Attention: align as icon does
rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
break;
case HIGHLIGHT_GRAY:
case HIGHLIGHT_NORMAL:
GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItem, clItem, clItem, clItemText, MUSIC_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItemText, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
break;
}
break;
case MPLR_PHOTO:
switch(iHighlight)
{
case HIGHLIGHT_FOCUS:
GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, PHOTO_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItemFocus, clItemFocus, clItemFocus, clItemTextFocus, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT); // Attention: align as icon does
rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
break;
case HIGHLIGHT_GRAY:
case HIGHLIGHT_NORMAL:
GUI_CreateButtonControl2(gMPOdc, &rectIcon, clItem, clItem, clItem, clItemText, PHOTO_ICON, UNICODE_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left+=(L_ICON_TO_RECT+DIRICON_WIDTH);
GUI_CreateButtonControl2(gMPOdc, &rectTmp, clItem, clItem, clItem, clItemText, szItemText, NORMAL_STRING, DT_LEFT, L_ICON_TO_RECT);
rectTmp.left-=(L_ICON_TO_RECT+DIRICON_WIDTH);
break;
}
break;
}
}
}
}
/********************************************************************/
// Scroll bar
char UP_ARROW[4]={0xe0, 0x57,0x00,0x00};
char DOWN_ARROW[4]={0xe0, 0x58,0x00,0x00};
RECT rectScrollTopL={SCROLL_TOPR_LEFT, SCROLL_TOPR_TOP, SCROLL_TOPR_LEFT+SCROLL_WIDTH, SCROLL_TOPR_TOP+SCROLL_HEIGHT};
RECT rectScrollBotL={SCROLL_BOTR_LEFT, SCROLL_BOTR_TOP, SCROLL_BOTR_LEFT+SCROLL_WIDTH, SCROLL_BOTR_TOP+SCROLL_HEIGHT};
RECT rectScrollTopR={SCROLL_TOPR_LEFT, SCROLL_TOPR_TOP, SCROLL_TOPR_LEFT+SCROLL_WIDTH, SCROLL_TOPR_TOP+SCROLL_HEIGHT};
RECT rectScrollBotR={SCROLL_BOTR_LEFT, SCROLL_BOTR_TOP, SCROLL_BOTR_LEFT+SCROLL_WIDTH, SCROLL_BOTR_TOP+SCROLL_HEIGHT};
void DrawScrollBar(tScrollIndex iScrollIndex, tHighlightType iHighlight)
{
COLORREF clScroll;
COLORREF clScrollText, clScrollGrayText;
clScroll=GetColorInDef256Palette(MAIN_CLR_INDEX);
clScrollText=GetColorInDef256Palette(SCROLLTEXT_CLR_INDEX);
clScrollGrayText=GetColorInDef256Palette(SCROLLGRAYTEXT_CLR_INDEX);
switch(MPO_Attr.iPlayerType[MPO_Attr.iPlayerSelected])
{
case MPLR_CD:
case MPLR_MUSIC:
switch(iScrollIndex)
{
case LEFT_TOP:
switch(iHighlight)
{
case HIGHLIGHT_GRAY:
GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollGrayText, UP_ARROW, UNICODE_STRING, 0, 0);
break;
default:
GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollText, "", NORMAL_STRING, 0, 0);
break;
}
break;
case LEFT_BOT:
switch(iHighlight)
{
case HIGHLIGHT_GRAY:
GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollGrayText, DOWN_ARROW, UNICODE_STRING, 0, 0);
break;
default:
GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollText, "", NORMAL_STRING, 0, 0);
break;
}
break;
}
break;
case MPLR_PHOTO:
switch(iScrollIndex)
{
case LEFT_TOP:
switch(iHighlight)
{
case HIGHLIGHT_GRAY:
GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollGrayText, UP_ARROW, UNICODE_STRING, 0, 0);
break;
default:
GUI_CreateButtonControl(gMPOdc, &rectScrollTopL, clScroll, clScroll, clScroll, clScrollText, "", NORMAL_STRING, 0, 0);
break;
}
break;
case LEFT_BOT:
switch(iHighlight)
{
case HIGHLIGHT_GRAY:
GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollGrayText, DOWN_ARROW, UNICODE_STRING, 0, 0);
break;
default:
GUI_CreateButtonControl(gMPOdc, &rectScrollBotL, clScroll, clScroll, clScroll, clScrollText, "", NORMAL_STRING, 0, 0);
break;
}
break;
}
break;
}
}
/********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -