VirtualBox

vbox的更動 64577 路徑 trunk/src/VBox/Debugger


忽略:
時間撮記:
2016-11-4 下午02:12:36 (8 年 以前)
作者:
vboxsync
訊息:

Debugger/CodeView: Some coloring fixes for the ucfgc command

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Debugger/DBGCEmulateCodeView.cpp

    r64559 r64577  
    15091509 * @param   cchWidth            Maximum width of the text.
    15101510 * @param   pszText             The text to write.
    1511  * @param   enmColor            The color to use for drawing.
     1511 * @param   enmTextColor        The color to use for drawing the text.
     1512 * @param   enmBorderColor      The color to use for drawing the border.
    15121513 */
    15131514static void dbgcCmdUnassembleCfgDumpBbText(DBGCSCREEN hScreen, uint32_t uStartX, uint32_t uStartY,
    1514                                            uint32_t cchWidth, const char *pszText, DBGCSCREENCOLOR enmColor)
    1515 {
    1516     dbgcScreenAsciiDrawCharacter(hScreen, uStartX, uStartY, '|', enmColor);
    1517     dbgcScreenAsciiDrawCharacter(hScreen, uStartX + 1, uStartY, ' ', enmColor);
    1518     dbgcScreenAsciiDrawString(hScreen, uStartX + 2, uStartY, pszText, enmColor);
    1519     dbgcScreenAsciiDrawCharacter(hScreen, uStartX + cchWidth - 1, uStartY, '|', enmColor);
     1515                                           uint32_t cchWidth, const char *pszText,
     1516                                           DBGCSCREENCOLOR enmTextColor, DBGCSCREENCOLOR enmBorderColor)
     1517{
     1518    dbgcScreenAsciiDrawCharacter(hScreen, uStartX, uStartY, '|', enmBorderColor);
     1519    dbgcScreenAsciiDrawCharacter(hScreen, uStartX + 1, uStartY, ' ', enmTextColor);
     1520    dbgcScreenAsciiDrawString(hScreen, uStartX + 2, uStartY, pszText, enmTextColor);
     1521    dbgcScreenAsciiDrawCharacter(hScreen, uStartX + cchWidth - 1, uStartY, '|', enmBorderColor);
    15201522}
    15211523
     
    15451547        DBGFR3FlowBbQueryInstr(pDumpBb->hFlowBb, i, NULL, NULL, &pszInstr);
    15461548        dbgcCmdUnassembleCfgDumpBbText(hScreen, pDumpBb->uStartX, uStartY + i,
    1547                                        pDumpBb->cchWidth, pszInstr, DBGCSCREENCOLOR_DEFAULT);
     1549                                       pDumpBb->cchWidth, pszInstr, DBGCSCREENCOLOR_DEFAULT,
     1550                                       enmColor);
    15481551    }
    15491552    uStartY += cInstr;
     
    15551558        if (pszErr)
    15561559            dbgcCmdUnassembleCfgDumpBbText(hScreen, pDumpBb->uStartX, uStartY,
    1557                                            pDumpBb->cchWidth, pszErr, enmColor);
     1560                                           pDumpBb->cchWidth, pszErr, enmColor,
     1561                                           enmColor);
    15581562        uStartY++;
    15591563    }
     
    16921696                {
    16931697                    PDBGCFLOWBBDUMP pDumpBb = &paDumpBb[i];
     1698                    DBGFFLOWBBENDTYPE enmEndType = DBGFR3FlowBbGetType(pDumpBb->hFlowBb);
    16941699
    16951700                    /* Incomplete blocks don't have a successor. */
     
    16971702                        continue;
    16981703
    1699                     switch (DBGFR3FlowBbGetType(pDumpBb->hFlowBb))
     1704                    switch (enmEndType)
    17001705                    {
    17011706                        case DBGFFLOWBBENDTYPE_EXIT:
     
    17151720                            }
    17161721
     1722                            DBGCSCREENCOLOR enmColor =   enmEndType == DBGFFLOWBBENDTYPE_UNCOND_JMP
     1723                                                       ? DBGCSCREENCOLOR_YELLOW_BRIGHT
     1724                                                       : DBGCSCREENCOLOR_GREEN_BRIGHT;
     1725
    17171726                            /*
    17181727                             * Use the right side for targets with higher addresses,
     
    17291738                                /* Draw the arrow pointing to the target block. */
    17301739                                dbgcScreenAsciiDrawCharacter(hScreen, pDumpBbTgt->uStartX - 1, pDumpBbTgt->uStartY,
    1731                                                              '>', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1740                                                             '>', enmColor);
    17321741                                /* Draw the horizontal line. */
    17331742                                dbgcScreenAsciiDrawLineHorizontal(hScreen, uXVerLine + 1, pDumpBbTgt->uStartX - 2,
    1734                                                                   pDumpBbTgt->uStartY, '-', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1743                                                                  pDumpBbTgt->uStartY, '-', enmColor);
    17351744                                dbgcScreenAsciiDrawCharacter(hScreen, uXVerLine, pDumpBbTgt->uStartY, '+',
    1736                                                              DBGCSCREENCOLOR_GREEN_BRIGHT);
     1745                                                             enmColor);
    17371746                                /* Draw the vertical line down to the source block. */
    17381747                                dbgcScreenAsciiDrawLineVertical(hScreen, uXVerLine, pDumpBbTgt->uStartY + 1, uYHorLine - 1,
    1739                                                                 '|', DBGCSCREENCOLOR_GREEN_BRIGHT);
    1740                                 dbgcScreenAsciiDrawCharacter(hScreen, uXVerLine, uYHorLine, '+', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1748                                                                '|', enmColor);
     1749                                dbgcScreenAsciiDrawCharacter(hScreen, uXVerLine, uYHorLine, '+', enmColor);
    17411750                                /* Draw the horizontal connection between the source block and vertical part. */
    17421751                                dbgcScreenAsciiDrawLineHorizontal(hScreen, uXVerLine + 1, pDumpBb->uStartX - 1,
    1743                                                                   uYHorLine, '-', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1752                                                                  uYHorLine, '-', enmColor);
    17441753
    17451754                            }
     
    17531762                                /* Draw the horizontal line. */
    17541763                                dbgcScreenAsciiDrawLineHorizontal(hScreen, pDumpBb->uStartX + pDumpBb->cchWidth,
    1755                                                                   uXVerLine - 1, uYHorLine, '-', DBGCSCREENCOLOR_GREEN_BRIGHT);
    1756                                 dbgcScreenAsciiDrawCharacter(hScreen, uXVerLine, uYHorLine, '+', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1764                                                                  uXVerLine - 1, uYHorLine, '-', enmColor);
     1765                                dbgcScreenAsciiDrawCharacter(hScreen, uXVerLine, uYHorLine, '+', enmColor);
    17571766                                /* Draw the vertical line down to the target block. */
    17581767                                dbgcScreenAsciiDrawLineVertical(hScreen, uXVerLine, uYHorLine + 1, pDumpBbTgt->uStartY - 1,
    1759                                                                 '|', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1768                                                                '|', enmColor);
    17601769                                /* Draw the horizontal connection between the target block and vertical part. */
    17611770                                dbgcScreenAsciiDrawLineHorizontal(hScreen, pDumpBbTgt->uStartX + pDumpBbTgt->cchWidth,
    1762                                                                   uXVerLine, pDumpBbTgt->uStartY, '-', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1771                                                                  uXVerLine, pDumpBbTgt->uStartY, '-', enmColor);
    17631772                                dbgcScreenAsciiDrawCharacter(hScreen, uXVerLine, pDumpBbTgt->uStartY, '+',
    1764                                                              DBGCSCREENCOLOR_GREEN_BRIGHT);
     1773                                                             enmColor);
    17651774                                /* Draw the arrow pointing to the target block. */
    17661775                                dbgcScreenAsciiDrawCharacter(hScreen, pDumpBbTgt->uStartX + pDumpBbTgt->cchWidth,
    1767                                                              pDumpBbTgt->uStartY, '<', DBGCSCREENCOLOR_GREEN_BRIGHT);
     1776                                                             pDumpBbTgt->uStartY, '<', enmColor);
    17681777                            }
    17691778                            break;
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette