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

📄 osdmm.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
//  Return		:   none.//  Side Effect :   none.//  Notes       :   //*********************************************************************************************************void _OSDMM_DrawSeparateFrame(BYTE bKind){    _OSDMM_SetFrameAttribute(FRAME_DOUBLE_SOLID);    if (bKind == OSDMM_VERTICAL_SEPARATE_FRAME)    {        _OSDMMFrame.bThickness = OSDMM_VERTICAL_SEPARATE_FRAME_THICKNESS >> 1;            _OSDMMFrame.rect.wLeft = OSDMM_VERTICAL_SEPARATE_FRAME_H;        _OSDMMFrame.rect.wTop = OSDMM_VERTICAL_SEPARATE_FRAME_V;        _OSDMMFrame.rect.wRight = OSDMM_VERTICAL_SEPARATE_FRAME_H + OSDMM_VERTICAL_SEPARATE_FRAME_WIDTH;        _OSDMMFrame.rect.wBottom = OSDMM_VERTICAL_SEPARATE_FRAME_V + OSDMM_VERTICAL_SEPARATE_FRAME_HEIGHT;    }    else //horizontal separate frame    {        _OSDMMFrame.bThickness = OSDMM_HORIZONTAL_SEPARATE_FRAME_THICKNESS >> 1;        _OSDMMFrame.rect.wLeft = OSDMM_HORIZONTAL_SEPARATE_FRAME_H;        _OSDMMFrame.rect.wTop = OSDMM_HORIZONTAL_SEPARATE_FRAME_V;        _OSDMMFrame.rect.wRight = OSDMM_HORIZONTAL_SEPARATE_FRAME_H + OSDMM_HORIZONTAL_SEPARATE_FRAME_WIDTH-1;        _OSDMMFrame.rect.wBottom = OSDMM_HORIZONTAL_SEPARATE_FRAME_V + OSDMM_HORIZONTAL_SEPARATE_FRAME_HEIGHT;    }    GDI_DrawFrame_909(0, &_OSDMMFrame);        }//*********************************************************************************************************//  Function    :   _OSDMM_DrawLeftFileWindow//  Abstract    :   This funciton will draw the left file window.//  Arguments   :   none.//  Return		:   none.//  Side Effect :   none.//  Notes       :   //*********************************************************************************************************void _OSDMM_DrawLeftFileWindow(void){        if (__MMSelectCursor.wDirID == MM_ROOT)    {        //at the first scrren of Media Manager UI.        _OSDMM_DrawAllVolumes();    }    else    {        //To judge if the "Up_DIR" exists or not.        if (_OSDMM_HaveUpDIR()) //with "Up_DIR"            _bOSDMMHaveUpDIR = TRUE;        else            _bOSDMMHaveUpDIR = FALSE;            _bOSDMMTemp = __MMSelectCursor.wDirID - __pMMVolumeDirTree[__pMMVolumeDirTree[__MMSelectCursor.wDirID].bParentID].b1stSubDirID;                _bOSDMMStartDrawDir = 0;        if (_bOSDMMHaveUpDIR)        {            if (_bOSDMMTemp >= (OSDMM_MAX_DIR_IN_FILE_WINDOW-2))                _bOSDMMStartDrawDir = (_bOSDMMTemp+1) + 2 - OSDMM_MAX_DIR_IN_FILE_WINDOW; //2 = "ROOT"+"Up_DIR"        }        else //without "Up_DIR"        {            if (_bOSDMMTemp >= (OSDMM_MAX_DIR_IN_FILE_WINDOW-1))                _bOSDMMStartDrawDir = (_bOSDMMTemp+1) + 1 - OSDMM_MAX_DIR_IN_FILE_WINDOW; //1 = "ROOT"        }        if (_bOSDMMStartDrawDir == 0) //Draw from "ROOT"        {            _OSDMM_DrawVolume(0, __MMSelectCursor.bVolID, FALSE);                        if (_bOSDMMHaveUpDIR) //with "Up_DIR"            {                _OSDMM_DrawUpDIR(1, FALSE);                                _OSDMM_DrawDir(2);            }            else                _OSDMM_DrawDir(1);        }        else if (_bOSDMMStartDrawDir == 1)        {            if (_bOSDMMHaveUpDIR) //with "Up_DIR"            {                _OSDMM_DrawUpDIR(0, FALSE);                _OSDMM_DrawDir(1);            }            else                _OSDMM_DrawDir(0);        }        else            _OSDMM_DrawDir(0);    }    _OSDMM_UpdateLeftScrollBar();}//*********************************************************************************************************//  Function    :   _OSDMM_InitializeStringPalette//  Abstract    :   This function will set the palette for the file window.//  Arguments   :   none.//  Return		:   none.//  Side Effect :   none.//  Notes       :   //*********************************************************************************************************void _OSDMM_InitializeStringPalette(BYTE bRegion){    _OSDMMStringAttr.bBackground = OSDMM_PALETTE_ENTRY_GENERAL_BACKGROUND;    _OSDMMStringAttr.bShadow1 = OSDMM_PALETTE_ENTRY_GENERAL_BACKGROUND;    _OSDMMStringAttr.bShadow2 = OSDMM_PALETTE_ENTRY_GENERAL_BACKGROUND;    _OSDMMStringAttr.bColorKey = 0;    switch (bRegion)    {    case OSDMM_TITLE_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_TITLE_STRING;        break;    case OSDMM_LEFT_FILE_WINDOW_REGION:    case OSDMM_RIGHT_FILE_WINDOW_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_GENERAL_STRING_IN_FILE_WINDOW;        break;    case OSDMM_BUTTON_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_ENABLE_BUTTON_STRING;        _OSDMMStringAttr.bBackground = OSDMM_PALETTE_ENTRY_BUTTON_ENABLE_BACKGROUND;        break;    case OSDMM_HELP_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_HELP_STRING;        _OSDMMStringAttr.bBackground = OSDMM_PALETTE_ENTRY_HELP_REGION_BACKGROUND;        break;    case OSDMM_TIME_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_TIME_STRING;        break;    case OSDMM_DLG_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_DLG_STRING;        _OSDMMStringAttr.bBackground = OSDMM_PALETTE_ENTRY_DLG_BACKGROUND;        break;    case OSDMM_DLG_TITLE_REGION:        _OSDMMStringAttr.bTextColor = OSDMM_PALETTE_ENTRY_DLG_STRING;        _OSDMMStringAttr.bBackground = OSDMM_PALETTE_ENTRY_DLG_TITLE_BAR;        break;    default:        break;    }}//*********************************************************************************************************//  Function    :   _OSDMM_DrawRightFileWindow//  Abstract    :   This function will draw the right file window.//  Arguments   :   none.//  Return		:   none.//  Side Effect :   none.//  Notes       :   //*********************************************************************************************************void _OSDMM_DrawRightFileWindow(void){    BYTE bOSDMMTemp;        if ((__pMMVolumeDirTree[__MMSelectCursor.wDirID].bNoOfSubDir == 0) && (__pMMFilterFilesOfDir[__MMSelectCursor.wDirID] == 0))        return; //no folders and files        if (__wOSDMMStartDrawItem >= __pMMVolumeDirTree[__MMSelectCursor.wDirID].bNoOfSubDir)    {        //draw file directly.        _wOSDMMTemp = __wOSDMMStartDrawItem - __pMMVolumeDirTree[__MMSelectCursor.wDirID].bNoOfSubDir; //for sequential number.                //Transfrom relative ID to absolute ID                MM_TriggerDumping(MM_ID_RelativeToAbsolute(__MMSelectCursor.wDirID, _wOSDMMTemp), OSDMM_MAX_ITEM_IN_FILE_WINDOW);                for (bOSDMMTemp = 0; (bOSDMMTemp < OSDMM_MAX_ITEM_IN_FILE_WINDOW)&&(_wOSDMMTemp < __pMMFilterFilesOfDir[__MMSelectCursor.wDirID]); bOSDMMTemp++)        {            //Dump file record.            if (MM_GetDumpedFileRecord() == MM_FILE_RECORD_DUMP_FAILED)                return;                        //Draw icon for the files                        _OSDMM_DrawRightFileWindowIcon(bOSDMMTemp, _OSDMM_GetIconType(__pMMFileRecord->FileName.bExtID), FALSE);                        _OSDMM_InitializeStringPalette(OSDMM_RIGHT_FILE_WINDOW_REGION);                                    //Draw string            _OSDMMStringAttr.wX = OSDMM_ITEM_RIGHT_WINDOW_START_H;            _OSDMMStringAttr.wY = OSDMM_ITEM_RIGHT_WINDOW_START_V + bOSDMMTemp*OSDMM_ITEM_HEIGHT;            _OSDMM_CopyFileString(_wOSDMMTemp);            //GDI_DrawString_909(0, &_OSDMMStringAttr, __pOSDUTLOutputString);#ifdef SUPPORT_UNICODE_CODING            if ((__pMMFileRecord->bFileAttr & IF_UNICODE_FILE_TAG) && (__bEnCodeType != CHAR_ENCODE_ISO_CP))            {                _OSDMM_DrawStringByUnicode();                _bOSDMMFileLength = GDI_GetUniStringWidth(__pOSDUTLOutputString); //for draw the selected frame            }            else#endif            {            _OSDMM_DrawString();            _bOSDMMFileLength = GDI_GetStringWidth_909(__pOSDUTLOutputString); //for draw the selected frame            }                            //draw serial number            _OSDMM_DrawSerialNumber(bOSDMMTemp, _wOSDMMTemp+1);                        //draw the selected frame for program mode            if ((__btProgram) || (_bOSDMMUIMode == OSDMM_INITIAL_MODE_COPY))            {                if (LINEAR_ProgramEntryOperation(LINEAR_QUERY_INDEX, 0, __MMSelectCursor.wDirID, (WORD)(_wOSDMMTemp+1)) != 0xFF)                {                    //draw the selected frame                    _OSDMM_DrawSelectedFrame(OSDMM_UPDATE_DRAW, bOSDMMTemp);                }            }                        _wOSDMMTemp++; //next file        }    }    else //draw folder and then file    {        //draw folder        _wOSDMMTemp = __wOSDMMStartDrawItem + __pMMVolumeDirTree[__MMSelectCursor.wDirID].b1stSubDirID;                bOSDMMTemp = 0;                while ((bOSDMMTemp < OSDMM_MAX_ITEM_IN_FILE_WINDOW) && ((bOSDMMTemp+__wOSDMMStartDrawItem) < __pMMVolumeDirTree[__MMSelectCursor.wDirID].bNoOfSubDir))        {            //draw icon for the folder.            _OSDMM_DrawRightFileWindowIcon(bOSDMMTemp, OSDMM_ICON_TYPE_FOLDER, FALSE);                        //draw string.            _OSDMM_InitializeStringPalette(OSDMM_RIGHT_FILE_WINDOW_REGION);            _OSDMM_CopyDirString((BYTE)_wOSDMMTemp, (OSDMM_RIGHT_SCROLL_BAR_H - OSDMM_ITEM_RIGHT_WINDOW_START_H));            _OSDMMStringAttr.wX = OSDMM_ITEM_RIGHT_WINDOW_START_H;            _OSDMMStringAttr.wY = OSDMM_ITEM_RIGHT_WINDOW_START_V+bOSDMMTemp*OSDMM_ITEM_HEIGHT;            //GDI_DrawString_909(0, &_OSDMMStringAttr, __pOSDUTLOutputString);#ifdef SUPPORT_UNICODE_CODING            if ((__pMMDirNameList[_wOSDMMTemp].bMMLinkStatus & IF_UNICODE_FILE_TAG) && (__bEnCodeType != CHAR_ENCODE_ISO_CP))            {                _OSDMM_DrawStringByUnicode();                            }            else#endif            {            _OSDMM_DrawString();            }                             bOSDMMTemp++;            _wOSDMMTemp++;        }                //draw file        if (__pMMFilterFilesOfDir[__MMSelectCursor.wDirID] != 0)        {            _wOSDMMTemp = 0;            //Transfrom relative ID to absolute ID                        MM_TriggerDumping(MM_ID_RelativeToAbsolute(__MMSelectCursor.wDirID, _wOSDMMTemp), OSDMM_MAX_ITEM_IN_FILE_WINDOW);                        while (bOSDMMTemp < OSDMM_MAX_ITEM_IN_FILE_WINDOW)            {                if (_wOSDMMTemp >= __pMMFilterFilesOfDir[__MMSelectCursor.wDirID])                    break;                //Dump file record.                if (MM_GetDumpedFileRecord() == MM_FILE_RECORD_DUMP_FAILED)                    return;                                //Draw icon for the files                _OSDMM_DrawRightFileWindowIcon(bOSDMMTemp, _OSDMM_GetIconType(__pMMFileRecord->FileName.bExtID), FALSE);                                //draw string.                _OSDMM_InitializeStringPalette(OSDMM_RIGHT_FILE_WINDOW_REGION);                                                _OSDMM_CopyFileString(_wOSDMMTemp);                _OSDMMStringAttr.wX = OSDMM_ITEM_RIGHT_WINDOW_START_H;                _OSDMMStringAttr.wY = OSDMM_ITEM_RIGHT_WINDOW_START_V+bOSDMMTemp*OSDMM_ITEM_HEIGHT;                //GDI_DrawString_909(0, &_OSDMMStringAttr, __pOSDUTLOutputString);#ifdef SUPPORT_UNICODE_CODING                if ((__pMMFileRecord->bFileAttr & IF_UNICODE_FILE_TAG) && (__bEnCodeType != CHAR_ENCODE_ISO_CP))                {

⌨️ 快捷键说明

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